DomoEsp_v1/DomoEsp_Potencia_v02/LcdMQTTViewer.h

55 lines
1.3 KiB
C++

/*#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif*/
#ifndef LcdMQTTViewerdef
#define LcdMQTTViewerdef 1
#include "MqttDefines.h"
class LiquidCrystal;
class PubSubClient;
class MqttVarManager;
struct LcdMQTTInfo
{
byte ivar;//indice a variable
char formatLCD[MAXTOPICVAR];//formato
byte pan;//pantalla en la que sale
byte line;//linea en la que sale
};
#define MAXINFOLCD 8
class LcdMQTTViewer
{
public:
LiquidCrystal *lcd;
int nchar;//caracteres maximos por linea del lcd
int maxtInfo;
int maxpan;//maximo de pantallas configuradas
int panActual;//pantalla que esta mostrando actualmente
byte nlineslcd;//lineas maximas del lcd
byte ivarBuzzer;
unsigned long tiempo;
unsigned long incre_t;
char topic[MAXSTR];//topic de mqtt Alarma
MqttVarManager* vars;
LcdMQTTInfo LcdConf[MAXINFOLCD];
LcdMQTTViewer();
void inicia(MqttVarManager *vars, LiquidCrystal* lcdEx, int digi, int lines,int ibuz);
void loop();//publica datos variables
int OnMqtt(char* topic, char* payload);
void suscribe(PubSubClient *client_qqtt);
//auxiliares----------------------------------------------------------
void add(byte ivar, char* formatLCD, int line, int pan);
void setTimer(int seg);
void envia(char* txt, int pos, int line);
void envia(int pan);
//void revisa();
};
#endif