#ifndef SensorPulsanteDef #define SensorPulsanteDef 1 #include "defines.h" //sensor que avisa del cambio cuando deja de ser el valor por defecto class SensorPulsante: public DomoEspSensorReceiver { bool val; bool valDef; uint8_t pin; public: virtual float getVal() { return (float)val; } SensorPulsante() {} void set(uint8_t _pin, char* topic_id, bool _valDef) { pin=_pin; valDef=_valDef; val=valDef; strcpy(topic, topic_id); } virtual void procesa(IMqttManager * man, int tiempo) { //mirar para configurar por interrupcion int val_ac=digitalRead(pin); if(val_ac!=val && val_ac!=valDef) { #ifdef DEBUG_PS Serial.println("SensorPulsante log "); #endif //loguea------------ sprintf(buffer_p, "%d", (int)val_ac); sprintf(buffer_t, "%s/pul",topic); man->MqttSend(buffer_t, buffer_p); delay(100); } val=val_ac; } virtual void inicia() { pinMode(pin, INPUT); val=digitalRead(pin); } }; #endif