67 lines
1.3 KiB
C
67 lines
1.3 KiB
C
|
|
#include "SerialService.h"
|
||
|
|
#include "Pinout.h"
|
||
|
|
#include "Utils.h"
|
||
|
|
|
||
|
|
#ifndef SensorTemperaturaModel
|
||
|
|
#define SensorTemperaturaModel
|
||
|
|
|
||
|
|
class SensorTemperatura {
|
||
|
|
public:
|
||
|
|
|
||
|
|
SensorTemperatura(String _modID, String _id) {
|
||
|
|
Mod_ID = _modID;
|
||
|
|
_ID = _id;
|
||
|
|
}
|
||
|
|
|
||
|
|
// Definições
|
||
|
|
String Mod_ID = "";
|
||
|
|
String _ID;
|
||
|
|
S_Code _componente = sTMP;
|
||
|
|
PinoModel _pino;
|
||
|
|
|
||
|
|
double leitura = 0;
|
||
|
|
|
||
|
|
bool Iniciado = false;
|
||
|
|
bool Checando = false;
|
||
|
|
|
||
|
|
void Inicializar() {
|
||
|
|
if (Iniciado) {
|
||
|
|
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, "1"));
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
leitura = 0;
|
||
|
|
|
||
|
|
_pino.Conectar(); // Conecta o pino antes de criar a tarefa
|
||
|
|
|
||
|
|
Iniciado = true;
|
||
|
|
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, "1"));
|
||
|
|
}
|
||
|
|
|
||
|
|
void Desligar() {
|
||
|
|
if (!Iniciado) {
|
||
|
|
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, "0"));
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
_pino.Desconectar(); // Desconecta o pino
|
||
|
|
|
||
|
|
Iniciado = false;
|
||
|
|
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, "0"));
|
||
|
|
}
|
||
|
|
|
||
|
|
void AferirTemperatura() {
|
||
|
|
leitura = _pino.get();
|
||
|
|
}
|
||
|
|
|
||
|
|
void RequisitarDados() {
|
||
|
|
AferirTemperatura();
|
||
|
|
|
||
|
|
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sTMP, _ID, MontarDadosProtocoloTemperatura(Iniciado, leitura)));
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif
|