67 lines
1.4 KiB
C++
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 |