#include "SerialService.h" #include "Pinout.h" #include "Utils.h" #ifndef ReleModel #define ReleModel class Rele { public: Rele(String _modID, String _id, int _taxaAmostragem = 2000) { Mod_ID = _modID; _ID = _id; } String Mod_ID; String _ID; PinoModel _pino; bool Iniciado = false; Estado _Status = Desligado; void Inicializar() { if (Iniciado) { //EnviarDadosSerial(_ID + " ja inicializado"); EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, Iniciado ? "1" : "0")); return; } if (_pino.Definido()) { _pino.Conectar(false); Iniciado = true; } EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, Iniciado ? "1" : "0")); } void Desligar() { if (!Iniciado) { //EnviarDadosSerial(_ID + " nao esta inicializado"); EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, Iniciado ? "1" : "0")); return; } // Redefinir as configurações para os valores iniciais _pino.Desconectar(); //EnviarDadosSerial(_ID + " Desligado"); Iniciado = false; EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, Iniciado ? "1" : "0")); } void AtualizarStatus(Estado novoEstado) { bool status = novoEstado == Ligado; _pino.set(status); _Status = (Estado)_pino.get(); } void AtualizarLeitura() { _Status = (Estado)_pino.get(); } void RequisitarDados() { AtualizarLeitura(); EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sRLE, _ID, MontarDadosProtocoloRele(Iniciado, _Status))); } }; #endif