72 lines
1.6 KiB
C
72 lines
1.6 KiB
C
|
|
#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
|