#ifndef SensorDinDef #define SensorDinDef 1 #include "defines.h" class SensorDin: public DomoEspSensorReceiver { bool val; uint8_t pin; public: virtual float getVal() { return (float)val; } SensorDin(){} void set(uint8_t _pin, char* topic_id) { pin=_pin; val=0; strcpy(topic, topic_id); } virtual void procesa(IMqttManager * man, int tiempo) { //mirar para configurar por interrupcion int val_ac=digitalRead(pin); if(tiempo==2 || val_ac!=val) { val=val_ac; //loguea------------ //char buffer_t[MAXTOPICVAR]; //char buffer_p[MAXTOPICVAR]; sprintf(buffer_p, "%d", (int)val); sprintf(buffer_t, "%s/get",topic); man->MqttSend(buffer_t, buffer_p); } } virtual void inicia() { pinMode(pin, INPUT); val=digitalRead(pin); } }; #endif