agrobot_base/Firmware/Modulos/SensorPressaoModel.h

66 lines
1.3 KiB
C
Raw Normal View History

#include "SerialService.h"
#include "Pinout.h"
#include "Utils.h"
#ifndef SensorPressaoModel
#define SensorPressaoModel
class SensorPressao {
public:
SensorPressao(String _modID, String _id) {
Mod_ID = _modID;
_ID = _id;
}
// Definições
String Mod_ID = "";
String _ID;
S_Code _componente = sPRS;
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 AferirPressao() {
leitura = _pino.get();
}
void RequisitarDados() {
AferirPressao();
//EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sPRS, _ID, MontarDadosProtocoloPressao(Iniciado, leitura)));
}
};
#endif