ajustes firmware

This commit is contained in:
Diego Freitas 2026-04-08 17:10:57 -03:00
parent 6df6eb8312
commit 3a40df8492
5 changed files with 21 additions and 17 deletions

View File

@ -847,7 +847,7 @@ namespace AgroBase.Models.Modules
var config = new List<byte>
{
(byte)(Conectar ? 1 : 0),
(byte)(_TaxaAmostragem / 10),
(byte)(_TaxaAmostragem / 1000),
(byte)(RequisitarDados ? 1 : 0),
};

View File

@ -2198,7 +2198,7 @@ namespace AgroBase.Models.Modules
var config1 = new List<byte>
{
(byte)(Conectar ? 1 : 0),
(byte)(_TaxaAmostragem / 10),
(byte)(_TaxaAmostragem / 1000),
(byte)(RequisitarDados ? 1 : 0),
LoRaParametrosBase.address
};

View File

@ -184,7 +184,7 @@ const unsigned long intervaloEnvioLogs = 1000; // 1 segundo
void enviarLogsPeriodicamente() {
unsigned long tempoAtual = millis();
// Verifica se o intervalo de 5 segundos já passou
if (tempoAtual - ultimoEnvioLogs >= intervaloEnvioLogs) {
if (tempoAtual - ultimoEnvioLogs >= _TaxaAmostragem) {
ultimoEnvioLogs = tempoAtual; // Atualiza o tempo do último envio
enviarDadosSensores(canService.ID_Num_sTOD, CanMessagePosicaoDados::DadosAll);
@ -204,7 +204,8 @@ void enviarDadosSensores(uint8_t id_num, CanMessagePosicaoDados posicao) {
return;
}
MostrarLog("Atualizando dados dos sensores...");
if (todosIDs)
MostrarLog("Atualizando dados dos sensores...");
if (todosIDs && enviarStatus) {
EnviarDadosCAN(canService.MontarFrameReqStatusMod(D_Code, Conectado, VERSION));
@ -241,7 +242,8 @@ void enviarDadosSensores(uint8_t id_num, CanMessagePosicaoDados posicao) {
EnviarDadosCAN(canService.MontarFrameReqDadosFim(latenciaLoop));
}
MostrarLog("Ciclo concluido, latencia de loop: " + String(latenciaLoop));
if (todosIDs)
MostrarLog("Ciclo concluido, latencia de loop: " + String(latenciaLoop));
}
}
@ -281,7 +283,7 @@ void ProcessarCfg(std::vector<uint8_t> data) {
case CanMessagePosicaoDados::Config1: {
if (data.size() < 7) return;
bool conectar = data[2] == 1;
int taxa = data[3] * 10;
int taxa = data[3] * 1000;
bool requisitar = data[4] == 1;
int pinoSDA = data[5];
int pinoSCL = data[6];

View File

@ -25,7 +25,7 @@ class PinoModel {
(barramento == TiposBarramentos::CONTROLADOR) ||
(barramento == TiposBarramentos::EXPANSOR_ADS && I2CService::AdsIniciado) ||
(barramento == TiposBarramentos::EXPANSOR_GPIO && I2CService::McpIniciado);
return num != PINO_INVALIDO;
return num != PINO_INVALIDO && barramentoIniciado;
}
void Conectar(bool statusInicial = false) {

View File

@ -153,6 +153,7 @@ void MostrarLog(String mensagem) {
void inicializarDependenciasI2C() {
I2CService::IniciarI2C();
I2CService::IniciarADS();
I2CService::IniciarMUX();
I2CService::IniciarMCP();
}
@ -180,10 +181,10 @@ void setup() {
sCOR_19V.Inicializar();
sCOR_24V.Inicializar();
sCOR_36V.Inicializar();
sMAG_MotorET.Inicializar();
sMAG_MotorDT.Inicializar();
sMAG_MotorEF.Inicializar();
sMAG_MotorDF.Inicializar();
//sMAG_MotorET.Inicializar();
//sMAG_MotorDT.Inicializar();
//sMAG_MotorEF.Inicializar();
//sMAG_MotorDF.Inicializar();
ledManager.Adicionar(&sLED_Manual);
ledManager.Adicionar(&sLED_Automatico);
@ -197,7 +198,7 @@ void setup() {
for (int i = 0; i < dataLength; i++) {
fullData.push_back(data[i]);
}
ProcessarFrameCAN(posicao, fullData);
});
@ -218,9 +219,8 @@ const unsigned long intervaloEnvioLogs = 1000; // 1 segundo
void enviarLogsPeriodicamente() {
unsigned long tempoAtual = millis();
// Verifica se o intervalo de 5 segundos já passou
if (tempoAtual - ultimoEnvioLogs >= intervaloEnvioLogs) {
if (tempoAtual - ultimoEnvioLogs >= _TaxaAmostragem) {
ultimoEnvioLogs = tempoAtual; // Atualiza o tempo do último envio
enviarDadosSensores(canService.ID_Num_sTOD, CanMessagePosicaoDados::DadosAll);
}
}
@ -238,7 +238,8 @@ void enviarDadosSensores(uint8_t id_num, CanMessagePosicaoDados posicao) {
return;
}
MostrarLog("Atualizando dados dos sensores...");
if (todosIDs)
MostrarLog("Atualizando dados dos sensores...");
if (todosIDs && enviarStatus) {
EnviarDadosCAN(canService.MontarFrameReqStatusMod(D_Code, Conectado, VERSION));
@ -285,7 +286,8 @@ void enviarDadosSensores(uint8_t id_num, CanMessagePosicaoDados posicao) {
EnviarDadosCAN(canService.MontarFrameReqDadosFim(latenciaLoop));
}
MostrarLog("Ciclo concluido, latencia de loop: " + String(latenciaLoop));
if (todosIDs)
MostrarLog("Ciclo concluido, latencia de loop: " + String(latenciaLoop));
}
}
@ -325,7 +327,7 @@ void ProcessarCfg(std::vector<uint8_t> data) {
case CanMessagePosicaoDados::Config1: {
if (data.size() < 8) return;
bool conectar = data[2] == 1;
int taxa = data[3] * 10;
int taxa = data[3] * 1000;
bool requisitar = data[4] == 1;
//loraService.AddressBase = data[5];
int pinoSDA = data[6];