diff --git a/AgroBase/AgroBase/Models/Modules/AtuadorModel.cs b/AgroBase/AgroBase/Models/Modules/AtuadorModel.cs index 705266c71..a62ec3fc8 100644 --- a/AgroBase/AgroBase/Models/Modules/AtuadorModel.cs +++ b/AgroBase/AgroBase/Models/Modules/AtuadorModel.cs @@ -847,7 +847,7 @@ namespace AgroBase.Models.Modules var config = new List { (byte)(Conectar ? 1 : 0), - (byte)(_TaxaAmostragem / 10), + (byte)(_TaxaAmostragem / 1000), (byte)(RequisitarDados ? 1 : 0), }; diff --git a/AgroBase/AgroBase/Models/Modules/SensoriamentoModel.cs b/AgroBase/AgroBase/Models/Modules/SensoriamentoModel.cs index 50799f426..d22eac338 100644 --- a/AgroBase/AgroBase/Models/Modules/SensoriamentoModel.cs +++ b/AgroBase/AgroBase/Models/Modules/SensoriamentoModel.cs @@ -2198,7 +2198,7 @@ namespace AgroBase.Models.Modules var config1 = new List { (byte)(Conectar ? 1 : 0), - (byte)(_TaxaAmostragem / 10), + (byte)(_TaxaAmostragem / 1000), (byte)(RequisitarDados ? 1 : 0), LoRaParametrosBase.address }; diff --git a/Firmware/Atuador/Atuador_v13/Atuador_v13.ino b/Firmware/Atuador/Atuador_v13/Atuador_v13.ino index cf055d103..9e42799f4 100644 --- a/Firmware/Atuador/Atuador_v13/Atuador_v13.ino +++ b/Firmware/Atuador/Atuador_v13/Atuador_v13.ino @@ -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 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]; diff --git a/Firmware/Modulos/Pinout.h b/Firmware/Modulos/Pinout.h index 1aa4b314f..559e1e0c6 100644 --- a/Firmware/Modulos/Pinout.h +++ b/Firmware/Modulos/Pinout.h @@ -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) { diff --git a/Firmware/Sensoriamento/Sensoriamento_v22/Sensoriamento_v22.ino b/Firmware/Sensoriamento/Sensoriamento_v22/Sensoriamento_v22.ino index 43e82c461..b48345a1a 100644 --- a/Firmware/Sensoriamento/Sensoriamento_v22/Sensoriamento_v22.ino +++ b/Firmware/Sensoriamento/Sensoriamento_v22/Sensoriamento_v22.ino @@ -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 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];