agrobot_base/Firmware/Modulos/SensorNivelModel.h

67 lines
1.4 KiB
C++

#include "SerialService.h"
#include "Pinout.h"
#include "Utils.h"
#ifndef SensorNivelModel
#define SensorNivelModel
class SensorNivel {
public:
SensorNivel(String _modID, String _id, int _taxaAmostragem = 2000) {
Mod_ID = _modID;
_ID = _id;
_TaxaAmostragem = _taxaAmostragem;
}
// Definições
String Mod_ID = "";
String _ID;
S_Code _componente = sNVL;
PinoModel _pino;
int _TaxaAmostragem = 0;
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 AferirNivel() {
leitura = _pino.get();
}
void RequisitarDados() {
AferirNivel();
//EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sNVL, _ID, MontarDadosProtocoloPressao(Iniciado, leitura)));
}
};
#endif