Add more CAN findings

This commit is contained in:
Daniel Öster 2025-04-19 23:08:50 +03:00
parent c484c0e63c
commit dd341c06a1
4 changed files with 34 additions and 34 deletions

View file

@ -219,8 +219,8 @@ static uint16_t poll_cell_min_voltage_number = 0;
static uint16_t poll_amount_cells = 0; static uint16_t poll_amount_cells = 0;
static uint16_t poll_specificial_voltage = 0; static uint16_t poll_specificial_voltage = 0;
static uint16_t poll_unknown1 = 0; static uint16_t poll_unknown1 = 0;
static uint16_t poll_unknown2 = 0; static uint16_t poll_raw_soc_max = 0;
static uint16_t poll_unknown3 = 0; static uint16_t poll_raw_soc_min = 0;
static uint16_t poll_unknown4 = 0; static uint16_t poll_unknown4 = 0;
static uint16_t poll_unknown5 = 0; static uint16_t poll_unknown5 = 0;
static uint16_t poll_unknown6 = 0; static uint16_t poll_unknown6 = 0;
@ -267,8 +267,8 @@ void update_values_battery() { //This function maps all the values fetched via
datalayer_extended.geometryC.cellTotalAmount = poll_amount_cells; datalayer_extended.geometryC.cellTotalAmount = poll_amount_cells;
datalayer_extended.geometryC.specificialVoltage = poll_specificial_voltage; datalayer_extended.geometryC.specificialVoltage = poll_specificial_voltage;
datalayer_extended.geometryC.unknown1 = poll_unknown1; datalayer_extended.geometryC.unknown1 = poll_unknown1;
datalayer_extended.geometryC.unknown2 = poll_unknown2; datalayer_extended.geometryC.rawSOCmax = poll_raw_soc_max;
datalayer_extended.geometryC.unknown3 = poll_unknown3; datalayer_extended.geometryC.rawSOCmin = poll_raw_soc_min;
datalayer_extended.geometryC.unknown4 = poll_unknown4; datalayer_extended.geometryC.unknown4 = poll_unknown4;
datalayer_extended.geometryC.unknown5 = poll_unknown5; datalayer_extended.geometryC.unknown5 = poll_unknown5;
datalayer_extended.geometryC.unknown6 = poll_unknown6; datalayer_extended.geometryC.unknown6 = poll_unknown6;
@ -473,11 +473,11 @@ void handle_incoming_can_frame_battery(CAN_frame rx_frame) {
case POLL_UNKNOWN_1: case POLL_UNKNOWN_1:
poll_unknown1 = rx_frame.data.u8[4]; poll_unknown1 = rx_frame.data.u8[4];
break; break;
case POLL_UNKNOWN_2: case POLL_RAW_SOC_MAX:
poll_unknown2 = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]; poll_raw_soc_max = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
break; break;
case POLL_UNKNOWN_3: case POLL_RAW_SOC_MIN:
poll_unknown3 = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]; poll_raw_soc_min = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
break; break;
case POLL_UNKNOWN_4: case POLL_UNKNOWN_4:
poll_unknown4 = rx_frame.data.u8[4]; poll_unknown4 = rx_frame.data.u8[4];
@ -633,16 +633,16 @@ void transmit_can_battery() {
case POLL_UNKNOWN_1: case POLL_UNKNOWN_1:
GEELY_POLL.data.u8[2] = (uint8_t)(POLL_UNKNOWN_1 >> 8); GEELY_POLL.data.u8[2] = (uint8_t)(POLL_UNKNOWN_1 >> 8);
GEELY_POLL.data.u8[3] = (uint8_t)POLL_UNKNOWN_1; GEELY_POLL.data.u8[3] = (uint8_t)POLL_UNKNOWN_1;
poll_pid = POLL_UNKNOWN_2; poll_pid = POLL_RAW_SOC_MAX;
break; break;
case POLL_UNKNOWN_2: case POLL_RAW_SOC_MAX:
GEELY_POLL.data.u8[2] = (uint8_t)(POLL_UNKNOWN_2 >> 8); GEELY_POLL.data.u8[2] = (uint8_t)(POLL_RAW_SOC_MAX >> 8);
GEELY_POLL.data.u8[3] = (uint8_t)POLL_UNKNOWN_2; GEELY_POLL.data.u8[3] = (uint8_t)POLL_RAW_SOC_MAX;
poll_pid = POLL_UNKNOWN_3; poll_pid = POLL_RAW_SOC_MIN;
break; break;
case POLL_UNKNOWN_3: case POLL_RAW_SOC_MIN:
GEELY_POLL.data.u8[2] = (uint8_t)(POLL_UNKNOWN_3 >> 8); GEELY_POLL.data.u8[2] = (uint8_t)(POLL_RAW_SOC_MIN >> 8);
GEELY_POLL.data.u8[3] = (uint8_t)POLL_UNKNOWN_3; GEELY_POLL.data.u8[3] = (uint8_t)POLL_RAW_SOC_MIN;
poll_pid = POLL_UNKNOWN_4; poll_pid = POLL_UNKNOWN_4;
break; break;
case POLL_UNKNOWN_4: case POLL_UNKNOWN_4:

View file

@ -18,8 +18,8 @@
#define POLL_AMOUNT_CELLS 0x4B07 #define POLL_AMOUNT_CELLS 0x4B07
#define POLL_SPECIFICIAL_VOLTAGE 0x4B05 #define POLL_SPECIFICIAL_VOLTAGE 0x4B05
#define POLL_UNKNOWN_1 0x4BDA #define POLL_UNKNOWN_1 0x4BDA
#define POLL_UNKNOWN_2 0x4BC3 #define POLL_RAW_SOC_MAX 0x4BC3
#define POLL_UNKNOWN_3 0x4BC4 #define POLL_RAW_SOC_MIN 0x4BC4
#define POLL_UNKNOWN_4 0xDF00 #define POLL_UNKNOWN_4 0xDF00
#define POLL_UNKNOWN_5 0x4B3D #define POLL_UNKNOWN_5 0x4B3D
#define POLL_UNKNOWN_6 0x4B3E #define POLL_UNKNOWN_6 0x4B3E

View file

@ -285,8 +285,8 @@ typedef struct {
uint16_t cellTotalAmount = 0; uint16_t cellTotalAmount = 0;
uint16_t specificialVoltage = 0; uint16_t specificialVoltage = 0;
uint16_t unknown1 = 0; uint16_t unknown1 = 0;
uint16_t unknown2 = 0; uint16_t rawSOCmax = 0;
uint16_t unknown3 = 0; uint16_t rawSOCmin = 0;
uint16_t unknown4 = 0; uint16_t unknown4 = 0;
uint16_t unknown5 = 0; uint16_t unknown5 = 0;
uint16_t unknown6 = 0; uint16_t unknown6 = 0;

View file

@ -462,20 +462,20 @@ String advanced_battery_processor(const String& var) {
sizeof(datalayer_extended.geometryC.BatterySerialNumber)); sizeof(datalayer_extended.geometryC.BatterySerialNumber));
readableSerialNumber[15] = '\0'; // Null terminate the string readableSerialNumber[15] = '\0'; // Null terminate the string
content += "<h4>Serial number: " + String(readableSerialNumber) + "</h4>"; content += "<h4>Serial number: " + String(readableSerialNumber) + "</h4>";
content += "<h4>SOC: " + String(datalayer_extended.geometryC.soc) + "dC</h4>"; content += "<h4>SOC display: " + String(datalayer_extended.geometryC.soc) + "ppt</h4>";
content += "<h4>CC2 voltage: " + String(datalayer_extended.geometryC.CC2voltage) + "dC</h4>"; content += "<h4>CC2 voltage: " + String(datalayer_extended.geometryC.CC2voltage) + "mV</h4>";
content += "<h4>Cell max voltage number: " + String(datalayer_extended.geometryC.cellMaxVoltageNumber) + "dC</h4>"; content += "<h4>Cell max voltage number: " + String(datalayer_extended.geometryC.cellMaxVoltageNumber) + "</h4>";
content += "<h4>Cell min voltage number: " + String(datalayer_extended.geometryC.cellMinVoltageNumber) + "dC</h4>"; content += "<h4>Cell min voltage number: " + String(datalayer_extended.geometryC.cellMinVoltageNumber) + "</h4>";
content += "<h4>Cell total amount: " + String(datalayer_extended.geometryC.cellTotalAmount) + "dC</h4>"; content += "<h4>Cell total amount: " + String(datalayer_extended.geometryC.cellTotalAmount) + "S</h4>";
content += "<h4>Specificial Voltage: " + String(datalayer_extended.geometryC.specificialVoltage) + "dC</h4>"; content += "<h4>Specificial Voltage: " + String(datalayer_extended.geometryC.specificialVoltage) + "dV</h4>";
content += "<h4>Unknown1: " + String(datalayer_extended.geometryC.unknown1) + "dC</h4>"; content += "<h4>Unknown1: " + String(datalayer_extended.geometryC.unknown1) + "</h4>";
content += "<h4>Unknown2: " + String(datalayer_extended.geometryC.unknown2) + "dC</h4>"; content += "<h4>Raw SOC max: " + String(datalayer_extended.geometryC.rawSOCmax) + "</h4>";
content += "<h4>Unknown3: " + String(datalayer_extended.geometryC.unknown3) + "dC</h4>"; content += "<h4>Raw SOC min: " + String(datalayer_extended.geometryC.rawSOCmin) + "</h4>";
content += "<h4>Unknown4: " + String(datalayer_extended.geometryC.unknown4) + "dC</h4>"; content += "<h4>Unknown4: " + String(datalayer_extended.geometryC.unknown4) + "</h4>";
content += "<h4>Unknown5: " + String(datalayer_extended.geometryC.unknown5) + "dC</h4>"; content += "<h4>Unknown5: " + String(datalayer_extended.geometryC.unknown5) + "</h4>";
content += "<h4>Unknown6: " + String(datalayer_extended.geometryC.unknown6) + "dC</h4>"; content += "<h4>Unknown6: " + String(datalayer_extended.geometryC.unknown6) + "</h4>";
content += "<h4>Unknown7: " + String(datalayer_extended.geometryC.unknown7) + "dC</h4>"; content += "<h4>Unknown7: " + String(datalayer_extended.geometryC.unknown7) + "</h4>";
content += "<h4>Unknown8: " + String(datalayer_extended.geometryC.unknown8) + "dC</h4>"; content += "<h4>Unknown8: " + String(datalayer_extended.geometryC.unknown8) + "</h4>";
#endif //GEELY_GEOMETRY_C_BATTERY #endif //GEELY_GEOMETRY_C_BATTERY
#ifdef KIA_HYUNDAI_64_BATTERY #ifdef KIA_HYUNDAI_64_BATTERY