mirror of
https://github.com/adrigongv23/G26---Telemetry-Software.git
synced 2026-08-26 03:53:17 +02:00
Nuevas variables a telemetría añadidas
This commit is contained in:
parent
ec5895f827
commit
5738a6c7d7
4 changed files with 79 additions and 33 deletions
|
|
@ -6,6 +6,12 @@
|
|||
|
||||
#include "../include/can.hpp"
|
||||
|
||||
// Volcado en crudo de TODOS los mensajes del bus, a la velocidad a la que
|
||||
// llegan. Satura los 115200 baudios y frena la tarea de escucha, asi que solo
|
||||
// debe activarse para depurar el bus. Con esto a 1 no se leen las lineas
|
||||
// [TRAMA n] del data_processor, que son las utiles para localizar canales
|
||||
#define VOLCADO_CRUDO_CAN 0
|
||||
|
||||
static bool driver_installed = false;
|
||||
|
||||
void CAN::start() {
|
||||
|
|
@ -174,36 +180,44 @@ void CAN::listen() {
|
|||
}
|
||||
|
||||
if (all_zeros) {
|
||||
#if VOLCADO_CRUDO_CAN
|
||||
Serial.println("Ignoring message with all zero data");
|
||||
#endif
|
||||
taskYIELD();
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
#if VOLCADO_CRUDO_CAN
|
||||
if (message.extd) {
|
||||
Serial.println("Extended Format");
|
||||
} else {
|
||||
Serial.println("Standard Format");
|
||||
}
|
||||
Serial.printf("ID: %lx\nByte:", message.identifier);
|
||||
for (int i = 0; i < message.data_length_code && !(message.rtr); i++) {
|
||||
Serial.printf(" %d = %02x,", i, message.data[i]);
|
||||
}
|
||||
Serial.println("");
|
||||
#endif
|
||||
if (!(message.rtr)) {
|
||||
for (int i = 0; i < message.data_length_code; i++) {
|
||||
Serial.printf(" %d = %02x,", i, message.data[i]);
|
||||
}
|
||||
Serial.println("");
|
||||
|
||||
|
||||
// Send to data processor based on first byte (maintaining original logic)
|
||||
switch (message.data[0]) {
|
||||
case 0:
|
||||
_data_processor->send_serial_frame_0(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
break;
|
||||
case 1:
|
||||
//_data_processor->send_serial_frame_1(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
_data_processor->send_serial_frame_1(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
break;
|
||||
case 2:
|
||||
//_data_processor->send_serial_frame_2(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
break;
|
||||
case 3:
|
||||
//_data_processor->send_serial_frame_3(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
_data_processor->send_serial_frame_2(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
break;
|
||||
case 3:
|
||||
_data_processor->send_serial_frame_3(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
break;
|
||||
case 4:
|
||||
_data_processor->send_serial_frame_4(message.data[1], message.data[2], message.data[3], message.data[4], message.data[5], message.data[6], message.data[7]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include "../include/data_processor.hpp"
|
||||
|
||||
|
||||
char* DataProcessor::process(std::vector<float> data) {
|
||||
// Implementación del procesamiento de datos si es necesario
|
||||
return nullptr; // Placeholder
|
||||
|
|
@ -14,40 +15,47 @@ void DataProcessor::send_serial(byte type, unsigned int value) {
|
|||
Serial.write(dato, 8); //Se envía serialmente el mensaje, indicando su longituden bytes para ello.
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
this->current_marcha_value
|
||||
this->current_pcomb_value
|
||||
this->current_taceite_value
|
||||
this->current_paceite_value
|
||||
this->current_map_value
|
||||
this->current_lambda_value
|
||||
this->current_lambda_obj_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");
|
||||
int tps = (tpsh * 256) + tpsl;
|
||||
|
||||
// Actualizamos las variables globales para que puedan ser leidas por el protocolo UDP
|
||||
this->current_ect_value = ect;
|
||||
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);;
|
||||
this->current_tps_value = tps;
|
||||
}
|
||||
|
||||
|
||||
//LAMB + LAMBTRG + FUEL + GEAR
|
||||
void DataProcessor::send_serial_frame_1(int lmbh, int lmbl, int lmbth, int lmbtl, int fuelh, int fuell, int gear){
|
||||
|
||||
}
|
||||
|
||||
|
||||
void DataProcessor::send_serial_frame_2(int shut, int fan, int lmbch, int lmbcl, int brakeh, int brakel, int aux1){
|
||||
|
||||
}
|
||||
|
||||
void DataProcessor::send_serial_frame_3(int aux3, int aux4, int aux5, int aux6, int aux7, int aux8, int dig1){
|
||||
|
||||
|
||||
}
|
||||
|
||||
void DataProcessor::send_serial_frame_4(int dig3, int dig4, int dig5, int dig6, int dig7, int dig8, int dig9){
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue