agrobot_base/Firmware/Modulos/SensorTemperaturaModel.h

67 lines
1.3 KiB
C
Raw Normal View History

#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