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> var config = new List<byte>
{ {
(byte)(Conectar ? 1 : 0), (byte)(Conectar ? 1 : 0),
(byte)(_TaxaAmostragem / 10), (byte)(_TaxaAmostragem / 1000),
(byte)(RequisitarDados ? 1 : 0), (byte)(RequisitarDados ? 1 : 0),
}; };

View File

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

View File

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

View File

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

View File

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