From 73ddffe2523f2eecb943c612b7161fcd10dfe57d Mon Sep 17 00:00:00 2001 From: adrigongv23 Date: Sat, 7 Mar 2026 16:18:26 +0100 Subject: [PATCH] =?UTF-8?q?Actualizaci=C3=B3n=20para=20recoger=20bateria?= =?UTF-8?q?=20y=20revoluciones=20del=20CAN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Firmware/G26-Telemetria/G26-Telemetria.ino | 4 +++- Firmware/G26-Telemetria/include/data_processor.hpp | 2 ++ Firmware/G26-Telemetria/src/data_processor.cpp | 13 +++++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Firmware/G26-Telemetria/G26-Telemetria.ino b/Firmware/G26-Telemetria/G26-Telemetria.ino index d4092c5..85f6a0a 100644 --- a/Firmware/G26-Telemetria/G26-Telemetria.ino +++ b/Firmware/G26-Telemetria/G26-Telemetria.ino @@ -22,9 +22,11 @@ void TaskUdpSender(void *pvParameters){ //Obtenemos el dato actual int tempActual = dataProcessor.current_ect_value; + int rpmActual = dataProcessor.current_rpm_value; + float battActual = dataProcessor.current_vbatt_value; //Pasamos el dato actual a mensaje para enviarlo - String mensaje = String(tempActual); + String mensaje = String(tempActual) + "|" + String(rpmActual) + "|" + String(battActual, 1); //Enviamos el paquete a través de UDP udp.beginPacket(pc_ip, UDP_PORT); diff --git a/Firmware/G26-Telemetria/include/data_processor.hpp b/Firmware/G26-Telemetria/include/data_processor.hpp index 95e95ae..a31b03c 100644 --- a/Firmware/G26-Telemetria/include/data_processor.hpp +++ b/Firmware/G26-Telemetria/include/data_processor.hpp @@ -12,6 +12,8 @@ public: //Variable publica para el CAN volatile int current_ect_value = 0; + volatile int current_rpm_value = 0; + volatile float current_vbatt_value = 0.0 //Métodos de recepción de CAN diff --git a/Firmware/G26-Telemetria/src/data_processor.cpp b/Firmware/G26-Telemetria/src/data_processor.cpp index 7ba1c64..cd26e1f 100644 --- a/Firmware/G26-Telemetria/src/data_processor.cpp +++ b/Firmware/G26-Telemetria/src/data_processor.cpp @@ -16,10 +16,19 @@ void DataProcessor::send_serial(byte type, unsigned int value) { //RPM + TPS + vBatt + ECT void DataProcessor::send_serial_frame_0(int rpmh, int rpml, int tpsh, int tpsl, int vbatth, int vbattl, int ect){ + + //Calculos necesarios para obtener bien el formato de los valores necesarios + int rpm = (rpmh * 256) + rpml + double vbatt = ((vbatth * 256) + vbattl) / 100.0; + Serial.println("send_serial_frame_0"); - this -> current_ect_value = ect; //Actualizamos el valor de ECT para que pueda ser usado por otras clases - //Serial.printf("CAN RX -> ECT: %d \n", ect); + // Actualizamos las variables globales para que puedan ser leidas por el protocolo UDP + this -> current_ect_value = ect; + this->current_rpm_value = rpm; + this->current_vbatt_value = vbatt; + + // Serial.printf("CAN RX -> ECT: %d | RPM: %d | BATT: %.1f \n", ect, rpm, vbatt);; } /*