#ifndef UtilesDef #define UtilesDef 1 #include "defines.h" class PubSubClient; class WiFiClient; class MqttUtiles { public: static void resetFunc(); }; class Ctimer { unsigned long t; unsigned long incre; public: Ctimer(); void set(int incremento_seg); void setmilis(int milis); void inicia();//inicia contador de incremento bool onTimer();//devuelve true si ha pasado el tiempo bool onTimerReset();//pasa incremento y si ha pasado se reinicia }; class MqttOnVarChangeListenner { public: virtual void OnVarChange(int ivar)=0; }; class WifiManager { public: char nred[32]; char pass[32]; char idArduino[32]; WiFiClient *espClient; WifiManager(); bool conecta(); void inicia( WiFiClient *espClient, char *ssid, char* key, char *idArduino); bool loop(); }; static MqttReceiver* Mqttlistener; class MqttManager { public: private: char idEsp[32]; public: PubSubClient *client_mqtt; MqttReceiver *mqttlisener; MqttManager(); /* WiFiClient espClient;//conexion a wifi PubSubClient client_qqtt(espClient);//para conexion con mqtt */ void inicia(PubSubClient *mqttClient,char *ideEsp, char *host, int port, MqttReceiver* classReceiver); bool loop(); //void desconecta(); //auxiliar------------------ static void OnMqtt(char* topic, uint8_t * payload, unsigned int length); void subscribe_mqtt(); }; class MelodiaBuzzer { public: //melodia se compone de notas (primera letra y tiempo de duracion) silecio es # char melodia[MAX_CHAR_MELODIA]; MelodiaBuzzer(); int st2nota(char st); int str2t(char* st, int *t); void Toca(int pin); }; class SonidoBuzzer { public: MelodiaBuzzer mel[MAX_MELODIAS]; int n; SonidoBuzzer(); void Toca(int pin, int melodia); void Set(int i, char* melo); char* getMelSubSt(char* orig, char caracter, int lim, char* bufOut); }; #endif