#include "SerialService.h" #include "Pinout.h" #include "Utils.h" #include "IComponenteCAN.h" #ifndef SensorNivelModel #define SensorNivelModel class SensorNivel : public ComponenteCAN { 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