// // Warning: don't edit - generated by generate_ecu_code.pl processing ../dev/komb25.json: KOM 60: Instrument panel // This generated code makes it easier to process CANBUS messages from the KOM ecu in a BMW i3 // case I3_PID_KOM_SELBSTTEST: { // 0x0F04 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_START_SYSTIME: { // 0x1005 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_STATUS_SYSTIME: { // 0x1725 if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_STATUS_SYSTIME", 4); break; } unsigned long STAT_SEKUNDEN_SEIT_INIT_WERT = (RXBUF_UINT32(0)); // DM_Master_ReadTime Must be implemented by the time master. / DM_Master_ReadTime Muss vom Zeitmaster umgesetzt // werden. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "STATUS_SYSTIME", "STAT_SEKUNDEN_SEIT_INIT_WERT", STAT_SEKUNDEN_SEIT_INIT_WERT, "\"s\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_STATUS_AKT_AUSFALL_CCMS: { // 0x2521 if (datalen < 90) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_STATUS_AKT_AUSFALL_CCMS", 90); break; } // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_SELBSTTEST_HUD: { // 0xA104 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_AO_TOTAL_TIME_RESET: { // 0xA108 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_SHOWMODE: { // 0xAA00 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_LOGBUCH_RESET: { // 0xAA01 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_DREHZAHL_WERT: { // 0xD106 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_DREHZAHL_WERT", 2); break; } unsigned short STAT_DREHZAHL_WERT = (RXBUF_UINT(0)); // Output of the engine speed. / Ausgabe der Motordrehzahl. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "DREHZAHL_WERT", "STAT_DREHZAHL_WERT", STAT_DREHZAHL_WERT, "\"1/min\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_TACHO_WERT: { // 0xD107 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_TACHO_WERT", 2); break; } float STAT_GESCHWINDIGKEIT_WERT = (RXBUF_UINT(0)/10.0f); // Returns the display speed. / Rückgabe der Anzeigegeschwindigkeit. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "TACHO_WERT", "STAT_GESCHWINDIGKEIT_WERT", STAT_GESCHWINDIGKEIT_WERT, "\"km/h\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_GWSZ_ABSOLUT_WERT: { // 0xD10D if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_GWSZ_ABSOLUT_WERT", 8); break; } long STAT_ABSOLUT_GWSZ_RAM_WERT = (RXBUF_SINT32(0)); // Returns the absolute total odometer from the RAM. / Liefert den absoluten Gesamtwegstreckenzähler aus dem RAM. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "KOM", "GWSZ_ABSOLUT_WERT", "STAT_ABSOLUT_GWSZ_RAM_WERT", STAT_ABSOLUT_GWSZ_RAM_WERT, "\"km\""); long STAT_ABSOLUT_GWSZ_EEP_WERT = (RXBUF_SINT32(4)); // Supplies the absolute total odometer from the EEPROM. / Liefert den absoluten Gesamtwegstreckenzähler aus dem // EEPROM. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "KOM", "GWSZ_ABSOLUT_WERT", "STAT_ABSOLUT_GWSZ_EEP_WERT", STAT_ABSOLUT_GWSZ_EEP_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_LSS_TASTE: { // 0xD10E if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_LSS_TASTE", 1); break; } unsigned char STAT_KOMBI_LSS_TASTE_GEDRUECKT = (RXBUF_UCHAR(0)); // Return of the status of the steering column button. / Rückgabe des Status der Lenkstocktaste. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "LSS_TASTE", "STAT_KOMBI_LSS_TASTE_GEDRUECKT", STAT_KOMBI_LSS_TASTE_GEDRUECKT, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_REICHWEITE_BEV_PHEV: { // 0xD111 if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_REICHWEITE_BEV_PHEV", 12); break; } float STAT_ELECTRIC_RANGE_CURRENT_WERT = (RXBUF_UINT(0)/10.0f); // STAT_ELECTRIC_RANGE_CURRENT [0.1 km] / STAT_ELECTRIC_RANGE_CURRENT [0,1 km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_REICHWEITE_BEV_PHEV", "STAT_ELECTRIC_RANGE_CURRENT_WERT", STAT_ELECTRIC_RANGE_CURRENT_WERT, "\"km\""); float STAT_ELECTRIC_RANGE_MAXIMUM_WERT = (RXBUF_UINT(2)/10.0f); // STAT_ELECTRIC_RANGE_MAXIMUM (actual maximum, depends on battery deterioration etc.) [0.1 km] / // STAT_ELECTRIC_RANGE_MAXIMUM (actual maximum, depends on battery deterioration etc.) [0,1 km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_REICHWEITE_BEV_PHEV", "STAT_ELECTRIC_RANGE_MAXIMUM_WERT", STAT_ELECTRIC_RANGE_MAXIMUM_WERT, "\"km\""); float STAT_FUEL_RANGE_CURRENT_WERT = (RXBUF_UINT(4)/10.0f); // STAT_FUEL_RANGE_CURRENT [0.1 km] (0xFFFF if no REX is available) / STAT_FUEL_RANGE_CURRENT [0,1 km] (0xFFFF // if no REX is available) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_REICHWEITE_BEV_PHEV", "STAT_FUEL_RANGE_CURRENT_WERT", STAT_FUEL_RANGE_CURRENT_WERT, "\"km\""); float STAT_FUEL_RANGE_MAXIMUM_WERT = (RXBUF_UINT(6)/10.0f); // STAT_FUEL_RANGE_MAXIMUM (actual maximum, depends on average consumption etc.) [0.1 km] (0xFFFF if no REX is // available) / STAT_FUEL_RANGE_MAXIMUM (actual maximum, depends on average consumption etc.) [0,1 km] (0xFFFF // if no REX is available) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_REICHWEITE_BEV_PHEV", "STAT_FUEL_RANGE_MAXIMUM_WERT", STAT_FUEL_RANGE_MAXIMUM_WERT, "\"km\""); float STAT_RANGE_CONSUMPTION_ELECTRIC_WERT = (RXBUF_UINT(8)/1000.0f); // STAT_RANGE_CONSUMPTION_ELECTRIC [kWh / 100km], (only for vehicles without STARTWETESPEICHER, 0xFFFF if not // used) / STAT_RANGE_CONSUMPTION_ELECTRIC [kWh/100km], (only for vehicles without STARTWETESPEICHER, 0xFFFF if // not used) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_REICHWEITE_BEV_PHEV", "STAT_RANGE_CONSUMPTION_ELECTRIC_WERT", STAT_RANGE_CONSUMPTION_ELECTRIC_WERT, "\"kWh/100km\""); float STAT_NEBENVERBRAUCHERLEISTUNG_WERT = (RXBUF_UINT(10)/100.0f); // STAT_NEBENVERBENVERBRAUCHERLEISTUNG_WERT [0.01 kW], (only for vehicles without STARTWERTESPEICHER, 0xFFFF if // not used) / STAT_NEBENVERBRAUCHERLEISTUNG_WERT [0,01 kW], (only for vehicles without STARTWERTESPEICHER, // 0xFFFF if not used) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_REICHWEITE_BEV_PHEV", "STAT_NEBENVERBRAUCHERLEISTUNG_WERT", STAT_NEBENVERBRAUCHERLEISTUNG_WERT, "\"kW\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_A_TEMP_WERT: { // 0xD112 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_A_TEMP_WERT", 2); break; } float STAT_A_TEMP_ANZEIGE_WERT = (RXBUF_UCHAR(0)/2.0f-40.0); // Display value outside temperature / Anzeigewert Außentemperatur ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "A_TEMP_WERT", "STAT_A_TEMP_ANZEIGE_WERT", STAT_A_TEMP_ANZEIGE_WERT, "\"°C\""); float STAT_A_TEMP_ROHWERT_WERT = (RXBUF_UCHAR(1)/2.0f-40.0); // Raw value outside temperature / Rohwert Außentemperatur ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "A_TEMP_WERT", "STAT_A_TEMP_ROHWERT_WERT", STAT_A_TEMP_ROHWERT_WERT, "\"°C\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_UHRZEIT_DATUM: { // 0xD113 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_UHRZEIT_DATUM", 8); break; } unsigned char STAT_KOMBI_STUNDE_WERT = (RXBUF_UCHAR(0)); // Returns the current hour. / Rückgabe der aktuellen Stunde. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_STUNDE_WERT", STAT_KOMBI_STUNDE_WERT, ""); unsigned char STAT_KOMBI_MINUTE_WERT = (RXBUF_UCHAR(1)); // Returns the current minute. / Rückgabe der aktuellen Minute. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_MINUTE_WERT", STAT_KOMBI_MINUTE_WERT, ""); unsigned char STAT_KOMBI_SEKUNDE_WERT = (RXBUF_UCHAR(2)); // Returns the current second. / Rückgabe der aktuellen Sekunde. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_SEKUNDE_WERT", STAT_KOMBI_SEKUNDE_WERT, ""); unsigned char STAT_KOMBI_TAG_WERT = (RXBUF_UCHAR(3)); // Returns the current day. / Rückgabe des aktuellen Tag. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_TAG_WERT", STAT_KOMBI_TAG_WERT, ""); unsigned char STAT_KOMBI_MONAT_WERT = (RXBUF_UCHAR(4)); // Returns the current month. / Rückgabe des aktuellen Monat. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_MONAT_WERT", STAT_KOMBI_MONAT_WERT, ""); unsigned short STAT_KOMBI_JAHR_WERT = (RXBUF_UINT(5)); // Returns the current year. / Rückgabe des aktuellen Jahr. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_JAHR_WERT", STAT_KOMBI_JAHR_WERT, ""); unsigned char STAT_KOMBI_ZEIT_FORMAT = (RXBUF_UCHAR(7)); // Returns the current display format. / Rückgabe des aktuellen Anzeigeformat. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_UHRZEIT_DATUM", "STAT_KOMBI_ZEIT_FORMAT", STAT_KOMBI_ZEIT_FORMAT, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_GWSZ_RESET: { // 0xD114 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_GWSZ_RESET", 1); break; } unsigned char STAT_GWSZ_OFFSET_WERT = (RXBUF_UCHAR(0)); // Total odometer offset. / Offset Gesamtwegstreckenzähler. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "GWSZ_RESET", "STAT_GWSZ_OFFSET_WERT", STAT_GWSZ_OFFSET_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_STARTWERT_ZEITEN: { // 0xD118 if (datalen < 15) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_STARTWERT_ZEITEN", 15); break; } unsigned char STAT_ANZAHL_KODIERTE_STARTZEITEN_WERT = (RXBUF_UCHAR(0)); // Number of coded start times / Anzahl kodierter Startzeiten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_ANZAHL_KODIERTE_STARTZEITEN_WERT", STAT_ANZAHL_KODIERTE_STARTZEITEN_WERT, ""); float STAT_STARTZEIT_ANFANG_1_WERT = (RXBUF_UCHAR(1)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_1_WERT", STAT_STARTZEIT_ANFANG_1_WERT, ""); float STAT_STARTZEIT_ANFANG_2_WERT = (RXBUF_UCHAR(2)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_2_WERT", STAT_STARTZEIT_ANFANG_2_WERT, ""); float STAT_STARTZEIT_ANFANG_3_WERT = (RXBUF_UCHAR(3)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_3_WERT", STAT_STARTZEIT_ANFANG_3_WERT, ""); float STAT_STARTZEIT_ANFANG_4_WERT = (RXBUF_UCHAR(4)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_4_WERT", STAT_STARTZEIT_ANFANG_4_WERT, ""); float STAT_STARTZEIT_ANFANG_5_WERT = (RXBUF_UCHAR(5)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_5_WERT", STAT_STARTZEIT_ANFANG_5_WERT, ""); float STAT_STARTZEIT_ANFANG_6_WERT = (RXBUF_UCHAR(6)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_6_WERT", STAT_STARTZEIT_ANFANG_6_WERT, ""); float STAT_STARTZEIT_ANFANG_7_WERT = (RXBUF_UCHAR(7)*15.0f); // Start time start [display in hours and minutes, resolution 15 minutes, 05hex = 01:15 am] / Startzeit Anfang // [Anzeige in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ANFANG_7_WERT", STAT_STARTZEIT_ANFANG_7_WERT, ""); float STAT_STARTZEIT_ENDE_1_WERT = (RXBUF_UCHAR(8)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_1_WERT", STAT_STARTZEIT_ENDE_1_WERT, ""); float STAT_STARTZEIT_ENDE_2_WERT = (RXBUF_UCHAR(9)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_2_WERT", STAT_STARTZEIT_ENDE_2_WERT, ""); float STAT_STARTZEIT_ENDE_3_WERT = (RXBUF_UCHAR(10)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_3_WERT", STAT_STARTZEIT_ENDE_3_WERT, ""); float STAT_STARTZEIT_ENDE_4_WERT = (RXBUF_UCHAR(11)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_4_WERT", STAT_STARTZEIT_ENDE_4_WERT, ""); float STAT_STARTZEIT_ENDE_5_WERT = (RXBUF_UCHAR(12)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_5_WERT", STAT_STARTZEIT_ENDE_5_WERT, ""); float STAT_STARTZEIT_ENDE_6_WERT = (RXBUF_UCHAR(13)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_6_WERT", STAT_STARTZEIT_ENDE_6_WERT, ""); float STAT_STARTZEIT_ENDE_7_WERT = (RXBUF_UCHAR(14)*15.0f); // Start time end [display in hours and minutes, resolution 15 minutes, 05hex = 01:15] / Startzeit Ende [Anzeige // in Stunden und Minuten, Auflösung 15 Minuten, 05hex = 01:15Uhr] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "STARTWERT_ZEITEN", "STAT_STARTZEIT_ENDE_7_WERT", STAT_STARTZEIT_ENDE_7_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_TANKINHALT: { // 0xD11F if (datalen < 9) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_TANKINHALT", 9); break; } float STAT_TANKKAMMER_RECHTS_WERT = (RXBUF_UINT(0)/128.0f); // Contents of the right tank chamber in liters / Inhalt rechte Tankkammer in Liter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "TANKINHALT", "STAT_TANKKAMMER_RECHTS_WERT", STAT_TANKKAMMER_RECHTS_WERT, "\"l\""); float STAT_TANKKAMMER_LINKS_WERT = (RXBUF_UINT(2)/128.0f); // Contents of the left tank chamber in liters / Inhalt linke Tankkammer in Liter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "TANKINHALT", "STAT_TANKKAMMER_LINKS_WERT", STAT_TANKKAMMER_LINKS_WERT, "\"l\""); float STAT_SUMMENWERT_WERT = (RXBUF_UINT(4)/128.0f); // Undamped sum of the liter values of the tank lever sensors right and left in liters / Ungedämpfte Summe der // Literwerte der Tank-Hebelgeber rechts und links in Liter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "TANKINHALT", "STAT_SUMMENWERT_WERT", STAT_SUMMENWERT_WERT, "\"l\""); float STAT_GEDAEMPFT_ANZ_WERT = (RXBUF_UINT(6)/128.0f); // Numerical value of damped total value from lever sensor left and right in liters / Zahlenwert gedämpfter // Summenwert aus Hebelgeber links und rechts in Liter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "TANKINHALT", "STAT_GEDAEMPFT_ANZ_WERT", STAT_GEDAEMPFT_ANZ_WERT, "\"l\""); unsigned char STAT_TANKPHASE = (RXBUF_UCHAR(8)); // Tank phase: 1 = OK; 2 = at least 1 lever encoder not OK; 3 = like 2 and additionally no consumption signal / // Tankphase: 1= i.O; 2= mind. 1 Hebelgeber n.i.O.; 3= wie 2 und zusaetzlich kein Verbrauchssignal ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TANKINHALT", "STAT_TANKPHASE", STAT_TANKPHASE, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_TIMER_KLIMATISIERUNG: { // 0xD121 if (datalen < 56) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_TIMER_KLIMATISIERUNG", 56); break; } unsigned short STAT_T1_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(0)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T1_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T1_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T1_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(2)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T1_ID_BEDIENUNG_TIMER_WERT", STAT_T1_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T1_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(3)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T1_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T1_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T1_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(4)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T1_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T1_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T1_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(7)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T1_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T1_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); unsigned short STAT_T2_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(8)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T2_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T2_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T2_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(10)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T2_ID_BEDIENUNG_TIMER_WERT", STAT_T2_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T2_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(11)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T2_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T2_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T2_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(12)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T2_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T2_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T2_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(15)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T2_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T2_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); unsigned short STAT_T3_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(16)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T3_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T3_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T3_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(18)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T3_ID_BEDIENUNG_TIMER_WERT", STAT_T3_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T3_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(19)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T3_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T3_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T3_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(20)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T3_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T3_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T3_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(23)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T3_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T3_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); unsigned short STAT_T4_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(24)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T4_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T4_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T4_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(26)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T4_ID_BEDIENUNG_TIMER_WERT", STAT_T4_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T4_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(27)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T4_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T4_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T4_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(28)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T4_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T4_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T4_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(31)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T4_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T4_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); unsigned short STAT_T5_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(32)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T5_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T5_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T5_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(34)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T5_ID_BEDIENUNG_TIMER_WERT", STAT_T5_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T5_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(35)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T5_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T5_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T5_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(36)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T5_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T5_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T5_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(39)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T5_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T5_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); unsigned short STAT_T6_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(40)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T6_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T6_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T6_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(42)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T6_ID_BEDIENUNG_TIMER_WERT", STAT_T6_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T6_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(43)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T6_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T6_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T6_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(44)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T6_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T6_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T6_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(47)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T6_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T6_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); unsigned short STAT_T7_ID_FUNKTION_BEDIENUNG_TIMER_WERT = (RXBUF_UINT(48)); // ID_Ffunktion_Bedienung_Timer (ID_FN_OP_TIM) Information about EventID (auxiliary heating, auxiliary // ventilation or auxiliary heating / ventilation) / ID_Funktion_Bedienung_Timer (ID_FN_OP_TIM) Information über // EventID (Standheizen, Standlüften oder Standheizen/-lüften) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T7_ID_FUNKTION_BEDIENUNG_TIMER_WERT", STAT_T7_ID_FUNKTION_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T7_ID_BEDIENUNG_TIMER_WERT = (RXBUF_UCHAR(50)); // ID_Bedienung_Timer (ID_OP_TIM) Number of the currently adjusted timer (1 or 2) / ID_Bedienung_Timer // (ID_OP_TIM) Nummer des gerade verstellten Timers (1 oder 2) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T7_ID_BEDIENUNG_TIMER_WERT", STAT_T7_ID_BEDIENUNG_TIMER_WERT, ""); unsigned char STAT_T7_BEDIENUNG_TIMER_STUNDE_WERT = (RXBUF_UCHAR(51)); // Operation_Timer_Hour (OP_TIM_HR) / Bedienung_Timer_Stunde (OP_TIM_HR) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T7_BEDIENUNG_TIMER_STUNDE_WERT", STAT_T7_BEDIENUNG_TIMER_STUNDE_WERT, "\"h\""); unsigned char STAT_T7_BEDIENUNG_TIMER_MINUTEN_WERT = (RXBUF_UCHAR(52)); // Operation_Timer_Minute (OP_TIM_MN) / Bedienung_Timer_Minute (OP_TIM_MN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T7_BEDIENUNG_TIMER_MINUTEN_WERT", STAT_T7_BEDIENUNG_TIMER_MINUTEN_WERT, "\"min\""); unsigned char STAT_T7_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT = (RXBUF_UCHAR(55)); // Operation_Timer_Auswahl_Wochenentag (OP_TIM_SLCTN_WDAY) / Bedienung_Timer_Auswahl_Wochentag // (OP_TIM_SLCTN_WDAY) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "TIMER_KLIMATISIERUNG", "STAT_T7_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT", STAT_T7_BEDIENUNG_AUSWAHL_WOCHENTAG_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_ZEITSTEMPEL_HU_ABFRAGEN: { // 0xD12C if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_ZEITSTEMPEL_HU_ABFRAGEN", 10); break; } unsigned long STAT_SEKUNDENZAEHLER_WERT = (RXBUF_UINT32(0)); // Second counter [1 second] / Sekundenzähler [1 Sekunde] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "ZEITSTEMPEL_HU_ABFRAGEN", "STAT_SEKUNDENZAEHLER_WERT", STAT_SEKUNDENZAEHLER_WERT, "\"s\""); char STAT_TAG_WERT = (RXBUF_SCHAR(7)); // Date (day) at the time of the CC query / Datum (Tag) zum Zeitpunkt der CC-Abfrage ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "ZEITSTEMPEL_HU_ABFRAGEN", "STAT_TAG_WERT", STAT_TAG_WERT, "\"d\""); char STAT_MONAT_WERT = (RXBUF_SCHAR(8)); // Date (month) at the time of the CC query / Datum (Monat) zum Zeitpunkt der CC-Abfrage ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "ZEITSTEMPEL_HU_ABFRAGEN", "STAT_MONAT_WERT", STAT_MONAT_WERT, "\"mth\""); char STAT_JAHR_WERT = (RXBUF_SCHAR(9)); // Date (year) at the time of the CC query, whereby the offset to the year 2000 is output here / Datum (Jahr) zum // Zeitpunkt der CC-Abfrage, wobei hier das Offset auf das Jahr 2000 ausgegeben wird ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "ZEITSTEMPEL_HU_ABFRAGEN", "STAT_JAHR_WERT", STAT_JAHR_WERT, "\"y\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_SEGMENTDATEN_SPEICHER: { // 0xD12F if (datalen < 210) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_SEGMENTDATEN_SPEICHER", 210); break; } unsigned char STAT_BLOCK_01_SEGMENT_ID_WERT = (RXBUF_UCHAR(0)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_SEGMENT_ID_WERT", STAT_BLOCK_01_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_01_TAG_WERT = (RXBUF_UCHAR(1)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_TAG_WERT", STAT_BLOCK_01_TAG_WERT, ""); unsigned char STAT_BLOCK_01_MONAT_WERT = (RXBUF_UCHAR(2)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_MONAT_WERT", STAT_BLOCK_01_MONAT_WERT, ""); unsigned char STAT_BLOCK_01_JAHR_WERT = (RXBUF_UCHAR(3)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_JAHR_WERT", STAT_BLOCK_01_JAHR_WERT, ""); unsigned char STAT_BLOCK_01_STUNDE_WERT = (RXBUF_UCHAR(4)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_STUNDE_WERT", STAT_BLOCK_01_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_01_MINUTE_WERT = (RXBUF_UCHAR(5)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_MINUTE_WERT", STAT_BLOCK_01_MINUTE_WERT, "\"min\""); float STAT_BLOCK_01_A_TEMP_WERT = (RXBUF_UCHAR(9)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_A_TEMP_WERT", STAT_BLOCK_01_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_01_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(10)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_AKT_DAUER_ECO_WERT", STAT_BLOCK_01_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_01_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(11)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_01_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_01_SOC_WERT = (RXBUF_UCHAR(12)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_SOC_WERT", STAT_BLOCK_01_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_01_REKUPERATION_WERT = (RXBUF_UCHAR(16)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_REKUPERATION_WERT", STAT_BLOCK_01_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_01_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(17)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_01_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_01_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_01_STERNE = (RXBUF_UCHAR(20)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_01_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_01_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_01_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_01_STERNE", (unsigned long)BF_BLOCK_01_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_02_SEGMENT_ID_WERT = (RXBUF_UCHAR(21)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_SEGMENT_ID_WERT", STAT_BLOCK_02_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_02_TAG_WERT = (RXBUF_UCHAR(22)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_TAG_WERT", STAT_BLOCK_02_TAG_WERT, ""); unsigned char STAT_BLOCK_02_MONAT_WERT = (RXBUF_UCHAR(23)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_MONAT_WERT", STAT_BLOCK_02_MONAT_WERT, ""); unsigned char STAT_BLOCK_02_JAHR_WERT = (RXBUF_UCHAR(24)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_JAHR_WERT", STAT_BLOCK_02_JAHR_WERT, ""); unsigned char STAT_BLOCK_02_STUNDE_WERT = (RXBUF_UCHAR(25)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_STUNDE_WERT", STAT_BLOCK_02_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_02_MINUTE_WERT = (RXBUF_UCHAR(26)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_MINUTE_WERT", STAT_BLOCK_02_MINUTE_WERT, "\"min\""); float STAT_BLOCK_02_A_TEMP_WERT = (RXBUF_UCHAR(30)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_A_TEMP_WERT", STAT_BLOCK_02_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_02_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(31)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_AKT_DAUER_ECO_WERT", STAT_BLOCK_02_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_02_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(32)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_02_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_02_SOC_WERT = (RXBUF_UCHAR(33)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_SOC_WERT", STAT_BLOCK_02_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_02_REKUPERATION_WERT = (RXBUF_UCHAR(37)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_REKUPERATION_WERT", STAT_BLOCK_02_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_02_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(38)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_02_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_02_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_02_STERNE = (RXBUF_UCHAR(41)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_02_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_02_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_02_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_02_STERNE", (unsigned long)BF_BLOCK_02_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_03_SEGMENT_ID_WERT = (RXBUF_UCHAR(42)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_SEGMENT_ID_WERT", STAT_BLOCK_03_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_03_TAG_WERT = (RXBUF_UCHAR(43)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_TAG_WERT", STAT_BLOCK_03_TAG_WERT, ""); unsigned char STAT_BLOCK_03_MONAT_WERT = (RXBUF_UCHAR(44)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_MONAT_WERT", STAT_BLOCK_03_MONAT_WERT, ""); unsigned char STAT_BLOCK_03_JAHR_WERT = (RXBUF_UCHAR(45)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_JAHR_WERT", STAT_BLOCK_03_JAHR_WERT, ""); unsigned char STAT_BLOCK_03_STUNDE_WERT = (RXBUF_UCHAR(46)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_STUNDE_WERT", STAT_BLOCK_03_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_03_MINUTE_WERT = (RXBUF_UCHAR(47)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_MINUTE_WERT", STAT_BLOCK_03_MINUTE_WERT, "\"min\""); float STAT_BLOCK_03_A_TEMP_WERT = (RXBUF_UCHAR(51)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_A_TEMP_WERT", STAT_BLOCK_03_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_03_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(52)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_AKT_DAUER_ECO_WERT", STAT_BLOCK_03_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_03_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(53)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_03_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_03_SOC_WERT = (RXBUF_UCHAR(54)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_SOC_WERT", STAT_BLOCK_03_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_03_REKUPERATION_WERT = (RXBUF_UCHAR(58)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_REKUPERATION_WERT", STAT_BLOCK_03_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_03_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(59)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_03_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_03_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_03_STERNE = (RXBUF_UCHAR(62)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_03_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_03_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_03_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_03_STERNE", (unsigned long)BF_BLOCK_03_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_04_SEGMENT_ID_WERT = (RXBUF_UCHAR(63)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_SEGMENT_ID_WERT", STAT_BLOCK_04_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_04_TAG_WERT = (RXBUF_UCHAR(64)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_TAG_WERT", STAT_BLOCK_04_TAG_WERT, ""); unsigned char STAT_BLOCK_04_MONAT_WERT = (RXBUF_UCHAR(65)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_MONAT_WERT", STAT_BLOCK_04_MONAT_WERT, ""); unsigned char STAT_BLOCK_04_JAHR_WERT = (RXBUF_UCHAR(66)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_JAHR_WERT", STAT_BLOCK_04_JAHR_WERT, ""); unsigned char STAT_BLOCK_04_STUNDE_WERT = (RXBUF_UCHAR(67)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_STUNDE_WERT", STAT_BLOCK_04_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_04_MINUTE_WERT = (RXBUF_UCHAR(68)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_MINUTE_WERT", STAT_BLOCK_04_MINUTE_WERT, "\"min\""); float STAT_BLOCK_04_A_TEMP_WERT = (RXBUF_UCHAR(72)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_A_TEMP_WERT", STAT_BLOCK_04_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_04_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(73)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_AKT_DAUER_ECO_WERT", STAT_BLOCK_04_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_04_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(74)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_04_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_04_SOC_WERT = (RXBUF_UCHAR(75)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_SOC_WERT", STAT_BLOCK_04_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_04_REKUPERATION_WERT = (RXBUF_UCHAR(79)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_REKUPERATION_WERT", STAT_BLOCK_04_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_04_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(80)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_04_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_04_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_04_STERNE = (RXBUF_UCHAR(83)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_04_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_04_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_04_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_04_STERNE", (unsigned long)BF_BLOCK_04_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_05_SEGMENT_ID_WERT = (RXBUF_UCHAR(84)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_SEGMENT_ID_WERT", STAT_BLOCK_05_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_05_TAG_WERT = (RXBUF_UCHAR(85)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_TAG_WERT", STAT_BLOCK_05_TAG_WERT, ""); unsigned char STAT_BLOCK_05_MONAT_WERT = (RXBUF_UCHAR(86)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_MONAT_WERT", STAT_BLOCK_05_MONAT_WERT, ""); unsigned char STAT_BLOCK_05_JAHR_WERT = (RXBUF_UCHAR(87)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_JAHR_WERT", STAT_BLOCK_05_JAHR_WERT, ""); unsigned char STAT_BLOCK_05_STUNDE_WERT = (RXBUF_UCHAR(88)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_STUNDE_WERT", STAT_BLOCK_05_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_05_MINUTE_WERT = (RXBUF_UCHAR(89)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_MINUTE_WERT", STAT_BLOCK_05_MINUTE_WERT, "\"min\""); float STAT_BLOCK_05_A_TEMP_WERT = (RXBUF_UCHAR(93)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_A_TEMP_WERT", STAT_BLOCK_05_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_05_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(94)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_AKT_DAUER_ECO_WERT", STAT_BLOCK_05_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_05_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(95)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_05_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_05_SOC_WERT = (RXBUF_UCHAR(96)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_SOC_WERT", STAT_BLOCK_05_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_05_REKUPERATION_WERT = (RXBUF_UCHAR(100)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_REKUPERATION_WERT", STAT_BLOCK_05_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_05_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(101)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_05_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_05_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_05_STERNE = (RXBUF_UCHAR(104)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_05_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_05_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_05_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_05_STERNE", (unsigned long)BF_BLOCK_05_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_06_SEGMENT_ID_WERT = (RXBUF_UCHAR(105)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_SEGMENT_ID_WERT", STAT_BLOCK_06_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_06_TAG_WERT = (RXBUF_UCHAR(106)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_TAG_WERT", STAT_BLOCK_06_TAG_WERT, ""); unsigned char STAT_BLOCK_06_MONAT_WERT = (RXBUF_UCHAR(107)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_MONAT_WERT", STAT_BLOCK_06_MONAT_WERT, ""); unsigned char STAT_BLOCK_06_JAHR_WERT = (RXBUF_UCHAR(108)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_JAHR_WERT", STAT_BLOCK_06_JAHR_WERT, ""); unsigned char STAT_BLOCK_06_STUNDE_WERT = (RXBUF_UCHAR(109)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_STUNDE_WERT", STAT_BLOCK_06_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_06_MINUTE_WERT = (RXBUF_UCHAR(110)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_MINUTE_WERT", STAT_BLOCK_06_MINUTE_WERT, "\"min\""); float STAT_BLOCK_06_A_TEMP_WERT = (RXBUF_UCHAR(114)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_A_TEMP_WERT", STAT_BLOCK_06_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_06_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(115)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_AKT_DAUER_ECO_WERT", STAT_BLOCK_06_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_06_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(116)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_06_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_06_SOC_WERT = (RXBUF_UCHAR(117)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_SOC_WERT", STAT_BLOCK_06_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_06_REKUPERATION_WERT = (RXBUF_UCHAR(121)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_REKUPERATION_WERT", STAT_BLOCK_06_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_06_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(122)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_06_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_06_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_06_STERNE = (RXBUF_UCHAR(125)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_06_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_06_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_06_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_06_STERNE", (unsigned long)BF_BLOCK_06_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_07_SEGMENT_ID_WERT = (RXBUF_UCHAR(126)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_SEGMENT_ID_WERT", STAT_BLOCK_07_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_07_TAG_WERT = (RXBUF_UCHAR(127)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_TAG_WERT", STAT_BLOCK_07_TAG_WERT, ""); unsigned char STAT_BLOCK_07_MONAT_WERT = (RXBUF_UCHAR(128)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_MONAT_WERT", STAT_BLOCK_07_MONAT_WERT, ""); unsigned char STAT_BLOCK_07_JAHR_WERT = (RXBUF_UCHAR(129)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_JAHR_WERT", STAT_BLOCK_07_JAHR_WERT, ""); unsigned char STAT_BLOCK_07_STUNDE_WERT = (RXBUF_UCHAR(130)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_STUNDE_WERT", STAT_BLOCK_07_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_07_MINUTE_WERT = (RXBUF_UCHAR(131)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_MINUTE_WERT", STAT_BLOCK_07_MINUTE_WERT, "\"min\""); float STAT_BLOCK_07_A_TEMP_WERT = (RXBUF_UCHAR(135)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_A_TEMP_WERT", STAT_BLOCK_07_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_07_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(136)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_AKT_DAUER_ECO_WERT", STAT_BLOCK_07_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_07_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(137)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_07_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_07_SOC_WERT = (RXBUF_UCHAR(138)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_SOC_WERT", STAT_BLOCK_07_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_07_REKUPERATION_WERT = (RXBUF_UCHAR(142)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_REKUPERATION_WERT", STAT_BLOCK_07_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_07_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(143)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_07_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_07_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_07_STERNE = (RXBUF_UCHAR(146)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_07_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_07_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_07_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_07_STERNE", (unsigned long)BF_BLOCK_07_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_08_SEGMENT_ID_WERT = (RXBUF_UCHAR(147)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_SEGMENT_ID_WERT", STAT_BLOCK_08_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_08_TAG_WERT = (RXBUF_UCHAR(148)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_TAG_WERT", STAT_BLOCK_08_TAG_WERT, ""); unsigned char STAT_BLOCK_08_MONAT_WERT = (RXBUF_UCHAR(149)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_MONAT_WERT", STAT_BLOCK_08_MONAT_WERT, ""); unsigned char STAT_BLOCK_08_JAHR_WERT = (RXBUF_UCHAR(150)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_JAHR_WERT", STAT_BLOCK_08_JAHR_WERT, ""); unsigned char STAT_BLOCK_08_STUNDE_WERT = (RXBUF_UCHAR(151)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_STUNDE_WERT", STAT_BLOCK_08_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_08_MINUTE_WERT = (RXBUF_UCHAR(152)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_MINUTE_WERT", STAT_BLOCK_08_MINUTE_WERT, "\"min\""); float STAT_BLOCK_08_A_TEMP_WERT = (RXBUF_UCHAR(156)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_A_TEMP_WERT", STAT_BLOCK_08_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_08_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(157)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_AKT_DAUER_ECO_WERT", STAT_BLOCK_08_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_08_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(158)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_08_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_08_SOC_WERT = (RXBUF_UCHAR(159)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_SOC_WERT", STAT_BLOCK_08_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_08_REKUPERATION_WERT = (RXBUF_UCHAR(163)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_REKUPERATION_WERT", STAT_BLOCK_08_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_08_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(164)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_08_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_08_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_08_STERNE = (RXBUF_UCHAR(167)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_08_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_08_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_08_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_08_STERNE", (unsigned long)BF_BLOCK_08_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_09_SEGMENT_ID_WERT = (RXBUF_UCHAR(168)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_SEGMENT_ID_WERT", STAT_BLOCK_09_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_09_TAG_WERT = (RXBUF_UCHAR(169)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_TAG_WERT", STAT_BLOCK_09_TAG_WERT, ""); unsigned char STAT_BLOCK_09_MONAT_WERT = (RXBUF_UCHAR(170)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_MONAT_WERT", STAT_BLOCK_09_MONAT_WERT, ""); unsigned char STAT_BLOCK_09_JAHR_WERT = (RXBUF_UCHAR(171)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_JAHR_WERT", STAT_BLOCK_09_JAHR_WERT, ""); unsigned char STAT_BLOCK_09_STUNDE_WERT = (RXBUF_UCHAR(172)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_STUNDE_WERT", STAT_BLOCK_09_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_09_MINUTE_WERT = (RXBUF_UCHAR(173)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_MINUTE_WERT", STAT_BLOCK_09_MINUTE_WERT, "\"min\""); float STAT_BLOCK_09_A_TEMP_WERT = (RXBUF_UCHAR(177)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_A_TEMP_WERT", STAT_BLOCK_09_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_09_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(178)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_AKT_DAUER_ECO_WERT", STAT_BLOCK_09_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_09_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(179)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_09_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_09_SOC_WERT = (RXBUF_UCHAR(180)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_SOC_WERT", STAT_BLOCK_09_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_09_REKUPERATION_WERT = (RXBUF_UCHAR(184)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_REKUPERATION_WERT", STAT_BLOCK_09_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_09_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(185)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_09_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_09_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_09_STERNE = (RXBUF_UCHAR(188)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_09_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_09_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_09_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_09_STERNE", (unsigned long)BF_BLOCK_09_STERNE, "\"Bit\""); unsigned char STAT_BLOCK_10_SEGMENT_ID_WERT = (RXBUF_UCHAR(189)); // Segment ID / Segment ID ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_SEGMENT_ID_WERT", STAT_BLOCK_10_SEGMENT_ID_WERT, ""); unsigned char STAT_BLOCK_10_TAG_WERT = (RXBUF_UCHAR(190)); // Day / Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_TAG_WERT", STAT_BLOCK_10_TAG_WERT, ""); unsigned char STAT_BLOCK_10_MONAT_WERT = (RXBUF_UCHAR(191)); // month / Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_MONAT_WERT", STAT_BLOCK_10_MONAT_WERT, ""); unsigned char STAT_BLOCK_10_JAHR_WERT = (RXBUF_UCHAR(192)+2000.0); // year / Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_JAHR_WERT", STAT_BLOCK_10_JAHR_WERT, ""); unsigned char STAT_BLOCK_10_STUNDE_WERT = (RXBUF_UCHAR(193)); // hour / Stunde ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_STUNDE_WERT", STAT_BLOCK_10_STUNDE_WERT, "\"h\""); unsigned char STAT_BLOCK_10_MINUTE_WERT = (RXBUF_UCHAR(194)); // minute / Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_MINUTE_WERT", STAT_BLOCK_10_MINUTE_WERT, "\"min\""); float STAT_BLOCK_10_A_TEMP_WERT = (RXBUF_UCHAR(198)*0.5f-40.0); // Outside temperature [-40 to + 50 ° C] / Außentemperatur [-40 bis +50°C] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_A_TEMP_WERT", STAT_BLOCK_10_A_TEMP_WERT, "\"°C\""); float STAT_BLOCK_10_AKT_DAUER_ECO_WERT = (RXBUF_UCHAR(199)/2.0f); // Act. Duration ECO [0-100%] / Akt.-Dauer ECO [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_AKT_DAUER_ECO_WERT", STAT_BLOCK_10_AKT_DAUER_ECO_WERT, "\"%\""); float STAT_BLOCK_10_AKT_DAUER_ECOPLUS_SPORT_WERT = (RXBUF_UCHAR(200)/2.0f); // Act. Duration ECO + or sport [0-100%] / Akt.-Dauer ECO+ oder Sport [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_AKT_DAUER_ECOPLUS_SPORT_WERT", STAT_BLOCK_10_AKT_DAUER_ECOPLUS_SPORT_WERT, "\"%\""); float STAT_BLOCK_10_SOC_WERT = (RXBUF_UCHAR(201)/2.0f); // SOC [0-100%] in 0.5% steps / SOC [0-100%] in 0,5 % Schritten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_SOC_WERT", STAT_BLOCK_10_SOC_WERT, "\"%\""); unsigned char STAT_BLOCK_10_REKUPERATION_WERT = (RXBUF_UCHAR(205)); // Recuperation [0-255 kWh] / Rekuperation [0-255 kWh] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_REKUPERATION_WERT", STAT_BLOCK_10_REKUPERATION_WERT, "\"kWh\""); float STAT_BLOCK_10_EFAHREN_VS_VERBRENNER_WERT = (RXBUF_UCHAR(206)/2.0f); // Share of e-driving vs. Incinerator [0-100%] / Anteil E-Fahren vs. Verbrenner [0-100%] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "STAT_BLOCK_10_EFAHREN_VS_VERBRENNER_WERT", STAT_BLOCK_10_EFAHREN_VS_VERBRENNER_WERT, "\"%\""); unsigned char BF_BLOCK_10_STERNE = (RXBUF_UCHAR(209)); // Bitfield 1: stars for acceleration, stars for braking / Bitfield 1: Sterne für Beschleunigung, Sterne für // Bremsen // BF_BLOCK_10_STERNE is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_BLOCK_10_STERNE_BESCHLEUNIGUNG: Mask: 0x05 - Stars for acceleration // STAT_BLOCK_10_STERNE_BREMSEN: Mask: 0x38 - Stars for brakes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "SEGMENTDATEN_SPEICHER", "BF_BLOCK_10_STERNE", (unsigned long)BF_BLOCK_10_STERNE, "\"Bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_REICHWEITE_GEWONNENER_KRAFTSTOFF: { // 0xD1D0 if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_REICHWEITE_GEWONNENER_KRAFTSTOFF", 12); break; } unsigned short STAT_PRW_WERT = (RXBUF_UINT(0)); // Potential range (PRW) / Potentielle Reichweite (PRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF", "STAT_PRW_WERT", STAT_PRW_WERT, "\"km\""); unsigned short STAT_CRW_WERT = (RXBUF_UINT(2)); // Comfort mode range (CRW) / Comfort- Mode Reichweite (CRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF", "STAT_CRW_WERT", STAT_CRW_WERT, "\"km\""); float STAT_BCRW_WERT = (RXBUF_UINT(4)/10.0f); // BC range in 0.1 km / BC- Reichweite in 0,1 km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF", "STAT_BCRW_WERT", STAT_BCRW_WERT, "\"km\""); float STAT_GRW_WERT = (RXBUF_UINT(6)/10.0f); // Gained range (GRW) / Gewonnene Reichweite (GRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF", "STAT_GRW_WERT", STAT_GRW_WERT, "\"km\""); float STAT_GK_WERT = (RXBUF_UINT32(8)/10.0f); // recovered fuel (GK) / gewonnener Kraftstoff (GK) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF", "STAT_GK_WERT", STAT_GK_WERT, "\"µl\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSERHOEHUNG_ALPHA: { // 0xD1D1 if (datalen < 19) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSERHOEHUNG_ALPHA", 19); break; } unsigned long STAT_AKKUM_ABS_VERBR_ERH_WERT = (RXBUF_UINT32(0)); // accumulated absolute consumption increase / akkumulierte absolute Verbrauchserhöhung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_AKKUM_ABS_VERBR_ERH_WERT", STAT_AKKUM_ABS_VERBR_ERH_WERT, "\"µl\""); unsigned long STAT_VERBR_ERH_VERZOEGERUNG_WERT = (RXBUF_UINT32(4)); // Increase in consumption through delay / Verbrauchserhöhung durch Verzögerung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_VERBR_ERH_VERZOEGERUNG_WERT", STAT_VERBR_ERH_VERZOEGERUNG_WERT, "\"µl\""); unsigned long STAT_VERBR_ERH_MSA_WERT = (RXBUF_UINT32(8)); // Increase in consumption through MSA / Verbrauchserhöhung durch MSA ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_VERBR_ERH_MSA_WERT", STAT_VERBR_ERH_MSA_WERT, "\"µl\""); float STAT_V_REF_WERT = (RXBUF_UINT(12)/10.0f); // V ref / V ref ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_V_REF_WERT", STAT_V_REF_WERT, "\"km/h\""); float STAT_V_IST_WERT = (RXBUF_UINT(14)/10.0f); // V is / V ist ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_V_IST_WERT", STAT_V_IST_WERT, "\"km/h\""); float STAT_FWP_AKT_WERT = (RXBUF_UINT(16)/40.0f); // FWP act / FWP akt ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_FWP_AKT_WERT", STAT_FWP_AKT_WERT, "\"%\""); unsigned char STAT_BLS_VERZOEGERUNG = (RXBUF_UCHAR(18)); // Status_BLS / delay / Status_BLS / Verzögerung // STAT_BLS_VERZOEGERUNG is a BITFIELD of unknown size. We don't have definitions for each bit, and we GUESSED it is one byte *** ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA", "STAT_BLS_VERZOEGERUNG", (unsigned long)STAT_BLS_VERZOEGERUNG, "\"Bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSERHOEHUNG_PI: { // 0xD1D2 if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSERHOEHUNG_PI", 10); break; } float STAT_PI_PROZ_VERBR_ERH_WERT = (RXBUF_UINT(0)/100.0f); // PI percentage increase in consumption / PI prozentuale Verbrauchserhöhung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI", "STAT_PI_PROZ_VERBR_ERH_WERT", STAT_PI_PROZ_VERBR_ERH_WERT, "\"%\""); float STAT_PI_VERBR_ERH_GW_WERT = (RXBUF_UINT(2)/100.0f); // PI increase in consumption through gear selection / PI Verbrauchserhöhung durch Gangwahl ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI", "STAT_PI_VERBR_ERH_GW_WERT", STAT_PI_VERBR_ERH_GW_WERT, "\"%\""); float STAT_PI_VERBR_ERH_GESCHW_WERT = (RXBUF_UINT(4)/100.0f); // PI increase in consumption through speed / PI Verbrauchserhöhung durch Geschwindigkeit ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI", "STAT_PI_VERBR_ERH_GESCHW_WERT", STAT_PI_VERBR_ERH_GESCHW_WERT, "\"%\""); float STAT_PI_VERBR_ERH_BESCHL_WERT = (RXBUF_UINT(6)/100.0f); // PI increase in consumption through acceleration / PI Verbrauchserhöhung durch Beschleunigung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI", "STAT_PI_VERBR_ERH_BESCHL_WERT", STAT_PI_VERBR_ERH_BESCHL_WERT, "\"%\""); float STAT_PI_VERBR_ERH_KOMF_WERT = (RXBUF_UINT(8)/100.0f); // PI increase in consumption through convenience / PI Verbrauchserhöhung durch Komfort ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI", "STAT_PI_VERBR_ERH_KOMF_WERT", STAT_PI_VERBR_ERH_KOMF_WERT, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_MEHRVERBRAUCH_MV_REF: { // 0xD1D3 if (datalen < 14) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_MEHRVERBRAUCH_MV_REF", 14); break; } float STAT_MV_AKT_WERT = (RXBUF_UINT(0)/100.0f); // Current consumption / Mehrverbrauch aktuell ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_AKT_WERT", STAT_MV_AKT_WERT, "\"l/100km\""); float STAT_MV_REF_WERT = (RXBUF_UINT(2)/100.0f); // Overconsumption Ref (V act) / Mehrverbrauch Ref (V ist) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_REF_WERT", STAT_MV_REF_WERT, "\"l/100km\""); float STAT_MV_REF_30_WERT = (RXBUF_UINT(4)/100.0f); // Additional consumption Ref 30 / Mehrverbrauch Ref 30 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_REF_30_WERT", STAT_MV_REF_30_WERT, "\"l/100km\""); float STAT_MV_REF_70_WERT = (RXBUF_UINT(6)/100.0f); // Additional consumption Ref 70 / Mehrverbrauch Ref 70 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_REF_70_WERT", STAT_MV_REF_70_WERT, "\"l/100km\""); float STAT_MV_REF_100_WERT = (RXBUF_UINT(8)/100.0f); // Additional consumption Ref 100 / Mehrverbrauch Ref 100 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_REF_100_WERT", STAT_MV_REF_100_WERT, "\"l/100km\""); float STAT_MV_REF_MAX_WERT = (RXBUF_UINT(10)/100.0f); // Additional consumption Ref Max / Mehrverbrauch Ref Max ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_REF_MAX_WERT", STAT_MV_REF_MAX_WERT, "\"l/100km\""); float STAT_MV_REF_GESAMT_WERT = (RXBUF_UINT(12)/100.0f); // Additional consumption ref total / Mehrverbrauch Ref Gesamt ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF", "STAT_MV_REF_GESAMT_WERT", STAT_MV_REF_GESAMT_WERT, "\"l/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_ECO_MODE_AUSTRITT: { // 0xD1D4 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_ECO_MODE_AUSTRITT", 2); break; } unsigned char STAT_ECO_MODE_AUSTRITT = (RXBUF_UCHAR(0)); // ECO mode exit / ECO- Mode Austritt // STAT_ECO_MODE_AUSTRITT is a BITFIELD of unknown size. We don't have definitions for each bit, and we GUESSED it is one byte *** ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "ECO_MODE_AUSTRITT", "STAT_ECO_MODE_AUSTRITT", (unsigned long)STAT_ECO_MODE_AUSTRITT, "\"Bit\""); unsigned char STAT_ECO_TIPP_ANZ = (RXBUF_UCHAR(1)); // ECO tip display / ECO Tipp Anzeige ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "ECO_MODE_AUSTRITT", "STAT_ECO_TIPP_ANZ", STAT_ECO_TIPP_ANZ, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_X: { // 0xD1D5 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_X", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_X_WERT = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_DURCHSCHNITTSWERT_8_SKAL_X_WERT", STAT_DURCHSCHNITTSWERT_8_SKAL_X_WERT, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_X_WERT = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_DURCHSCHNITTSWERT_16_SKAL_X_WERT", STAT_DURCHSCHNITTSWERT_16_SKAL_X_WERT, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_X_WERT = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG1_SKAL_X_WERT", STAT_VERBRAUCH_SEG1_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_X_WERT = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_X_WERT = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG1_SKAL_X_WERT", STAT_ZAEHLER_SEG1_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_X_WERT = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG1_SKAL_X_WERT", STAT_FDS_FU_SEG1_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_X_WERT = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG2_SKAL_X_WERT", STAT_VERBRAUCH_SEG2_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_X_WERT = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_X_WERT = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG2_SKAL_X_WERT", STAT_ZAEHLER_SEG2_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_X_WERT = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG2_SKAL_X_WERT", STAT_FDS_FU_SEG2_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_X_WERT = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG3_SKAL_X_WERT", STAT_VERBRAUCH_SEG3_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_X_WERT = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_X_WERT = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG3_SKAL_X_WERT", STAT_ZAEHLER_SEG3_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_X_WERT = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG3_SKAL_X_WERT", STAT_FDS_FU_SEG3_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_X_WERT = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG4_SKAL_X_WERT", STAT_VERBRAUCH_SEG4_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_X_WERT = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_X_WERT = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG4_SKAL_X_WERT", STAT_ZAEHLER_SEG4_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_X_WERT = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG4_SKAL_X_WERT", STAT_FDS_FU_SEG4_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_X_WERT = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG5_SKAL_X_WERT", STAT_VERBRAUCH_SEG5_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_X_WERT = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_X_WERT = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG5_SKAL_X_WERT", STAT_ZAEHLER_SEG5_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_X_WERT = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG5_SKAL_X_WERT", STAT_FDS_FU_SEG5_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_X_WERT = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG6_SKAL_X_WERT", STAT_VERBRAUCH_SEG6_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_X_WERT = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_X_WERT = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG6_SKAL_X_WERT", STAT_ZAEHLER_SEG6_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_X_WERT = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG6_SKAL_X_WERT", STAT_FDS_FU_SEG6_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_X_WERT = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG7_SKAL_X_WERT", STAT_VERBRAUCH_SEG7_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_X_WERT = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_X_WERT = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG7_SKAL_X_WERT", STAT_ZAEHLER_SEG7_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_X_WERT = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG7_SKAL_X_WERT", STAT_FDS_FU_SEG7_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_X_WERT = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG8_SKAL_X_WERT", STAT_VERBRAUCH_SEG8_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_X_WERT = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_X_WERT = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG8_SKAL_X_WERT", STAT_ZAEHLER_SEG8_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_X_WERT = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG8_SKAL_X_WERT", STAT_FDS_FU_SEG8_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_X_WERT = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG9_SKAL_X_WERT", STAT_VERBRAUCH_SEG9_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_X_WERT = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_X_WERT = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG9_SKAL_X_WERT", STAT_ZAEHLER_SEG9_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_X_WERT = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG9_SKAL_X_WERT", STAT_FDS_FU_SEG9_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_X_WERT = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG10_SKAL_X_WERT", STAT_VERBRAUCH_SEG10_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_X_WERT = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_X_WERT = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG10_SKAL_X_WERT", STAT_ZAEHLER_SEG10_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_X_WERT = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG10_SKAL_X_WERT", STAT_FDS_FU_SEG10_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_X_WERT = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG11_SKAL_X_WERT", STAT_VERBRAUCH_SEG11_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_X_WERT = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_X_WERT = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG11_SKAL_X_WERT", STAT_ZAEHLER_SEG11_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_X_WERT = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG11_SKAL_X_WERT", STAT_FDS_FU_SEG11_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_X_WERT = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG12_SKAL_X_WERT", STAT_VERBRAUCH_SEG12_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_X_WERT = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_X_WERT = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG12_SKAL_X_WERT", STAT_ZAEHLER_SEG12_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_X_WERT = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG12_SKAL_X_WERT", STAT_FDS_FU_SEG12_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_X_WERT = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG13_SKAL_X_WERT", STAT_VERBRAUCH_SEG13_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_X_WERT = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_X_WERT = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG13_SKAL_X_WERT", STAT_ZAEHLER_SEG13_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_X_WERT = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG13_SKAL_X_WERT", STAT_FDS_FU_SEG13_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_X_WERT = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG14_SKAL_X_WERT", STAT_VERBRAUCH_SEG14_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_X_WERT = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_X_WERT = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG14_SKAL_X_WERT", STAT_ZAEHLER_SEG14_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_X_WERT = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG14_SKAL_X_WERT", STAT_FDS_FU_SEG14_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_X_WERT = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG15_SKAL_X_WERT", STAT_VERBRAUCH_SEG15_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_X_WERT = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_X_WERT = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG15_SKAL_X_WERT", STAT_ZAEHLER_SEG15_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_X_WERT = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG15_SKAL_X_WERT", STAT_FDS_FU_SEG15_SKAL_X_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_X_WERT = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCH_SEG16_SKAL_X_WERT", STAT_VERBRAUCH_SEG16_SKAL_X_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_X_WERT = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_X_WERT", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_X_WERT = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_ZAEHLER_SEG16_SKAL_X_WERT", STAT_ZAEHLER_SEG16_SKAL_X_WERT, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_X_WERT = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X", "STAT_FDS_FU_SEG16_SKAL_X_WERT", STAT_FDS_FU_SEG16_SKAL_X_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Y: { // 0xD1D6 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Y", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_Y_WERT = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_DURCHSCHNITTSWERT_8_SKAL_Y_WERT", STAT_DURCHSCHNITTSWERT_8_SKAL_Y_WERT, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_Y_WERT = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_DURCHSCHNITTSWERT_16_SKAL_Y_WERT", STAT_DURCHSCHNITTSWERT_16_SKAL_Y_WERT, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_Y_WERT = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG1_SKAL_Y_WERT", STAT_VERBRAUCH_SEG1_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Y_WERT = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_Y_WERT = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG1_SKAL_Y_WERT", STAT_ZAEHLER_SEG1_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_Y_WERT = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG1_SKAL_Y_WERT", STAT_FDS_FU_SEG1_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_Y_WERT = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG2_SKAL_Y_WERT", STAT_VERBRAUCH_SEG2_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Y_WERT = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_Y_WERT = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG2_SKAL_Y_WERT", STAT_ZAEHLER_SEG2_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_Y_WERT = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG2_SKAL_Y_WERT", STAT_FDS_FU_SEG2_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_Y_WERT = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG3_SKAL_Y_WERT", STAT_VERBRAUCH_SEG3_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Y_WERT = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_Y_WERT = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG3_SKAL_Y_WERT", STAT_ZAEHLER_SEG3_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_Y_WERT = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG3_SKAL_Y_WERT", STAT_FDS_FU_SEG3_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_Y_WERT = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG4_SKAL_Y_WERT", STAT_VERBRAUCH_SEG4_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Y_WERT = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_Y_WERT = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG4_SKAL_Y_WERT", STAT_ZAEHLER_SEG4_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_Y_WERT = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG4_SKAL_Y_WERT", STAT_FDS_FU_SEG4_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_Y_WERT = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG5_SKAL_Y_WERT", STAT_VERBRAUCH_SEG5_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Y_WERT = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_Y_WERT = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG5_SKAL_Y_WERT", STAT_ZAEHLER_SEG5_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_Y_WERT = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG5_SKAL_Y_WERT", STAT_FDS_FU_SEG5_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_Y_WERT = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG6_SKAL_Y_WERT", STAT_VERBRAUCH_SEG6_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Y_WERT = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_Y_WERT = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG6_SKAL_Y_WERT", STAT_ZAEHLER_SEG6_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_Y_WERT = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG6_SKAL_Y_WERT", STAT_FDS_FU_SEG6_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_Y_WERT = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG7_SKAL_Y_WERT", STAT_VERBRAUCH_SEG7_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Y_WERT = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_Y_WERT = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG7_SKAL_Y_WERT", STAT_ZAEHLER_SEG7_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_Y_WERT = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG7_SKAL_Y_WERT", STAT_FDS_FU_SEG7_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_Y_WERT = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG8_SKAL_Y_WERT", STAT_VERBRAUCH_SEG8_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Y_WERT = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_Y_WERT = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG8_SKAL_Y_WERT", STAT_ZAEHLER_SEG8_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_Y_WERT = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG8_SKAL_Y_WERT", STAT_FDS_FU_SEG8_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_Y_WERT = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG9_SKAL_Y_WERT", STAT_VERBRAUCH_SEG9_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Y_WERT = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_Y_WERT = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG9_SKAL_Y_WERT", STAT_ZAEHLER_SEG9_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_Y_WERT = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG9_SKAL_Y_WERT", STAT_FDS_FU_SEG9_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_Y_WERT = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG10_SKAL_Y_WERT", STAT_VERBRAUCH_SEG10_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Y_WERT = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_Y_WERT = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG10_SKAL_Y_WERT", STAT_ZAEHLER_SEG10_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_Y_WERT = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG10_SKAL_Y_WERT", STAT_FDS_FU_SEG10_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_Y_WERT = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG11_SKAL_Y_WERT", STAT_VERBRAUCH_SEG11_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Y_WERT = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_Y_WERT = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG11_SKAL_Y_WERT", STAT_ZAEHLER_SEG11_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_Y_WERT = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG11_SKAL_Y_WERT", STAT_FDS_FU_SEG11_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_Y_WERT = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG12_SKAL_Y_WERT", STAT_VERBRAUCH_SEG12_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Y_WERT = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_Y_WERT = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG12_SKAL_Y_WERT", STAT_ZAEHLER_SEG12_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_Y_WERT = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG12_SKAL_Y_WERT", STAT_FDS_FU_SEG12_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_Y_WERT = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG13_SKAL_Y_WERT", STAT_VERBRAUCH_SEG13_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Y_WERT = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_Y_WERT = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG13_SKAL_Y_WERT", STAT_ZAEHLER_SEG13_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_Y_WERT = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG13_SKAL_Y_WERT", STAT_FDS_FU_SEG13_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_Y_WERT = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG14_SKAL_Y_WERT", STAT_VERBRAUCH_SEG14_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Y_WERT = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_Y_WERT = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG14_SKAL_Y_WERT", STAT_ZAEHLER_SEG14_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_Y_WERT = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG14_SKAL_Y_WERT", STAT_FDS_FU_SEG14_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_Y_WERT = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG15_SKAL_Y_WERT", STAT_VERBRAUCH_SEG15_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Y_WERT = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_Y_WERT = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG15_SKAL_Y_WERT", STAT_ZAEHLER_SEG15_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_Y_WERT = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG15_SKAL_Y_WERT", STAT_FDS_FU_SEG15_SKAL_Y_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_Y_WERT = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCH_SEG16_SKAL_Y_WERT", STAT_VERBRAUCH_SEG16_SKAL_Y_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Y_WERT = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Y_WERT", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Y_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_Y_WERT = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_ZAEHLER_SEG16_SKAL_Y_WERT", STAT_ZAEHLER_SEG16_SKAL_Y_WERT, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_Y_WERT = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y", "STAT_FDS_FU_SEG16_SKAL_Y_WERT", STAT_FDS_FU_SEG16_SKAL_Y_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Z: { // 0xD1D7 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Z", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_Z_WERT = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_DURCHSCHNITTSWERT_8_SKAL_Z_WERT", STAT_DURCHSCHNITTSWERT_8_SKAL_Z_WERT, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_Z_WERT = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_DURCHSCHNITTSWERT_16_SKAL_Z_WERT", STAT_DURCHSCHNITTSWERT_16_SKAL_Z_WERT, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_Z_WERT = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG1_SKAL_Z_WERT", STAT_VERBRAUCH_SEG1_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Z_WERT = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_Z_WERT = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG1_SKAL_Z_WERT", STAT_ZAEHLER_SEG1_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_Z_WERT = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG1_SKAL_Z_WERT", STAT_FDS_FU_SEG1_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_Z_WERT = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG2_SKAL_Z_WERT", STAT_VERBRAUCH_SEG2_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Z_WERT = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_Z_WERT = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG2_SKAL_Z_WERT", STAT_ZAEHLER_SEG2_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_Z_WERT = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG2_SKAL_Z_WERT", STAT_FDS_FU_SEG2_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_Z_WERT = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG3_SKAL_Z_WERT", STAT_VERBRAUCH_SEG3_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Z_WERT = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_Z_WERT = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG3_SKAL_Z_WERT", STAT_ZAEHLER_SEG3_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_Z_WERT = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG3_SKAL_Z_WERT", STAT_FDS_FU_SEG3_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_Z_WERT = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG4_SKAL_Z_WERT", STAT_VERBRAUCH_SEG4_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Z_WERT = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_Z_WERT = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG4_SKAL_Z_WERT", STAT_ZAEHLER_SEG4_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_Z_WERT = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG4_SKAL_Z_WERT", STAT_FDS_FU_SEG4_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_Z_WERT = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG5_SKAL_Z_WERT", STAT_VERBRAUCH_SEG5_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Z_WERT = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_Z_WERT = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG5_SKAL_Z_WERT", STAT_ZAEHLER_SEG5_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_Z_WERT = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG5_SKAL_Z_WERT", STAT_FDS_FU_SEG5_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_Z_WERT = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG6_SKAL_Z_WERT", STAT_VERBRAUCH_SEG6_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Z_WERT = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_Z_WERT = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG6_SKAL_Z_WERT", STAT_ZAEHLER_SEG6_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_Z_WERT = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG6_SKAL_Z_WERT", STAT_FDS_FU_SEG6_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_Z_WERT = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG7_SKAL_Z_WERT", STAT_VERBRAUCH_SEG7_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Z_WERT = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_Z_WERT = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG7_SKAL_Z_WERT", STAT_ZAEHLER_SEG7_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_Z_WERT = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG7_SKAL_Z_WERT", STAT_FDS_FU_SEG7_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_Z_WERT = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG8_SKAL_Z_WERT", STAT_VERBRAUCH_SEG8_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Z_WERT = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_Z_WERT = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG8_SKAL_Z_WERT", STAT_ZAEHLER_SEG8_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_Z_WERT = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG8_SKAL_Z_WERT", STAT_FDS_FU_SEG8_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_Z_WERT = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG9_SKAL_Z_WERT", STAT_VERBRAUCH_SEG9_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Z_WERT = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_Z_WERT = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG9_SKAL_Z_WERT", STAT_ZAEHLER_SEG9_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_Z_WERT = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG9_SKAL_Z_WERT", STAT_FDS_FU_SEG9_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_Z_WERT = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG10_SKAL_Z_WERT", STAT_VERBRAUCH_SEG10_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Z_WERT = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_Z_WERT = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG10_SKAL_Z_WERT", STAT_ZAEHLER_SEG10_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_Z_WERT = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG10_SKAL_Z_WERT", STAT_FDS_FU_SEG10_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_Z_WERT = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG11_SKAL_Z_WERT", STAT_VERBRAUCH_SEG11_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Z_WERT = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_Z_WERT = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG11_SKAL_Z_WERT", STAT_ZAEHLER_SEG11_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_Z_WERT = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG11_SKAL_Z_WERT", STAT_FDS_FU_SEG11_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_Z_WERT = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG12_SKAL_Z_WERT", STAT_VERBRAUCH_SEG12_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Z_WERT = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_Z_WERT = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG12_SKAL_Z_WERT", STAT_ZAEHLER_SEG12_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_Z_WERT = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG12_SKAL_Z_WERT", STAT_FDS_FU_SEG12_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_Z_WERT = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG13_SKAL_Z_WERT", STAT_VERBRAUCH_SEG13_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Z_WERT = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_Z_WERT = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG13_SKAL_Z_WERT", STAT_ZAEHLER_SEG13_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_Z_WERT = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG13_SKAL_Z_WERT", STAT_FDS_FU_SEG13_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_Z_WERT = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG14_SKAL_Z_WERT", STAT_VERBRAUCH_SEG14_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Z_WERT = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_Z_WERT = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG14_SKAL_Z_WERT", STAT_ZAEHLER_SEG14_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_Z_WERT = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG14_SKAL_Z_WERT", STAT_FDS_FU_SEG14_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_Z_WERT = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG15_SKAL_Z_WERT", STAT_VERBRAUCH_SEG15_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Z_WERT = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_Z_WERT = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG15_SKAL_Z_WERT", STAT_ZAEHLER_SEG15_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_Z_WERT = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG15_SKAL_Z_WERT", STAT_FDS_FU_SEG15_SKAL_Z_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_Z_WERT = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCH_SEG16_SKAL_Z_WERT", STAT_VERBRAUCH_SEG16_SKAL_Z_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Z_WERT = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Z_WERT", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Z_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_Z_WERT = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_ZAEHLER_SEG16_SKAL_Z_WERT", STAT_ZAEHLER_SEG16_SKAL_Z_WERT, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_Z_WERT = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z", "STAT_FDS_FU_SEG16_SKAL_Z_WERT", STAT_FDS_FU_SEG16_SKAL_Z_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_A: { // 0xD1D8 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_A", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_A_WERT = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_DURCHSCHNITTSWERT_8_SKAL_A_WERT", STAT_DURCHSCHNITTSWERT_8_SKAL_A_WERT, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_A_WERT = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_DURCHSCHNITTSWERT_16_SKAL_A_WERT", STAT_DURCHSCHNITTSWERT_16_SKAL_A_WERT, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_A_WERT = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG1_SKAL_A_WERT", STAT_VERBRAUCH_SEG1_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_A_WERT = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_A_WERT = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG1_SKAL_A_WERT", STAT_ZAEHLER_SEG1_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_A_WERT = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG1_SKAL_A_WERT", STAT_FDS_FU_SEG1_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_A_WERT = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG2_SKAL_A_WERT", STAT_VERBRAUCH_SEG2_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_A_WERT = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_A_WERT = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG2_SKAL_A_WERT", STAT_ZAEHLER_SEG2_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_A_WERT = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG2_SKAL_A_WERT", STAT_FDS_FU_SEG2_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_A_WERT = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG3_SKAL_A_WERT", STAT_VERBRAUCH_SEG3_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_A_WERT = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_A_WERT = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG3_SKAL_A_WERT", STAT_ZAEHLER_SEG3_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_A_WERT = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG3_SKAL_A_WERT", STAT_FDS_FU_SEG3_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_A_WERT = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG4_SKAL_A_WERT", STAT_VERBRAUCH_SEG4_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_A_WERT = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_A_WERT = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG4_SKAL_A_WERT", STAT_ZAEHLER_SEG4_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_A_WERT = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG4_SKAL_A_WERT", STAT_FDS_FU_SEG4_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_A_WERT = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG5_SKAL_A_WERT", STAT_VERBRAUCH_SEG5_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_A_WERT = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_A_WERT = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG5_SKAL_A_WERT", STAT_ZAEHLER_SEG5_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_A_WERT = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG5_SKAL_A_WERT", STAT_FDS_FU_SEG5_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_A_WERT = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG6_SKAL_A_WERT", STAT_VERBRAUCH_SEG6_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_A_WERT = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_A_WERT = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG6_SKAL_A_WERT", STAT_ZAEHLER_SEG6_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_A_WERT = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG6_SKAL_A_WERT", STAT_FDS_FU_SEG6_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_A_WERT = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG7_SKAL_A_WERT", STAT_VERBRAUCH_SEG7_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_A_WERT = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_A_WERT = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG7_SKAL_A_WERT", STAT_ZAEHLER_SEG7_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_A_WERT = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG7_SKAL_A_WERT", STAT_FDS_FU_SEG7_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_A_WERT = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG8_SKAL_A_WERT", STAT_VERBRAUCH_SEG8_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_A_WERT = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_A_WERT = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG8_SKAL_A_WERT", STAT_ZAEHLER_SEG8_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_A_WERT = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG8_SKAL_A_WERT", STAT_FDS_FU_SEG8_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_A_WERT = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG9_SKAL_A_WERT", STAT_VERBRAUCH_SEG9_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_A_WERT = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_A_WERT = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG9_SKAL_A_WERT", STAT_ZAEHLER_SEG9_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_A_WERT = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG9_SKAL_A_WERT", STAT_FDS_FU_SEG9_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_A_WERT = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG10_SKAL_A_WERT", STAT_VERBRAUCH_SEG10_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_A_WERT = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_A_WERT = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG10_SKAL_A_WERT", STAT_ZAEHLER_SEG10_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_A_WERT = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG10_SKAL_A_WERT", STAT_FDS_FU_SEG10_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_A_WERT = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG11_SKAL_A_WERT", STAT_VERBRAUCH_SEG11_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_A_WERT = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_A_WERT = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG11_SKAL_A_WERT", STAT_ZAEHLER_SEG11_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_A_WERT = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG11_SKAL_A_WERT", STAT_FDS_FU_SEG11_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_A_WERT = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG12_SKAL_A_WERT", STAT_VERBRAUCH_SEG12_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_A_WERT = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_A_WERT = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG12_SKAL_A_WERT", STAT_ZAEHLER_SEG12_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_A_WERT = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG12_SKAL_A_WERT", STAT_FDS_FU_SEG12_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_A_WERT = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG13_SKAL_A_WERT", STAT_VERBRAUCH_SEG13_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_A_WERT = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_A_WERT = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG13_SKAL_A_WERT", STAT_ZAEHLER_SEG13_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_A_WERT = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG13_SKAL_A_WERT", STAT_FDS_FU_SEG13_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_A_WERT = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG14_SKAL_A_WERT", STAT_VERBRAUCH_SEG14_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_A_WERT = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_A_WERT = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG14_SKAL_A_WERT", STAT_ZAEHLER_SEG14_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_A_WERT = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG14_SKAL_A_WERT", STAT_FDS_FU_SEG14_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_A_WERT = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG15_SKAL_A_WERT", STAT_VERBRAUCH_SEG15_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_A_WERT = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_A_WERT = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG15_SKAL_A_WERT", STAT_ZAEHLER_SEG15_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_A_WERT = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG15_SKAL_A_WERT", STAT_FDS_FU_SEG15_SKAL_A_WERT, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_A_WERT = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCH_SEG16_SKAL_A_WERT", STAT_VERBRAUCH_SEG16_SKAL_A_WERT, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_A_WERT = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_A_WERT", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_A_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_A_WERT = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_ZAEHLER_SEG16_SKAL_A_WERT", STAT_ZAEHLER_SEG16_SKAL_A_WERT, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_A_WERT = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A", "STAT_FDS_FU_SEG16_SKAL_A_WERT", STAT_FDS_FU_SEG16_SKAL_A_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT: { // 0xD1D9 if (datalen < 3) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT", 3); break; } float STAT_DURCHSCHNITT_AKT_BERECH_SEGMENTS_WERT = (RXBUF_UINT(0)/10.0f); // Average value of the act. calculated segment in 0.1 / Durchschnittswert des akt. berechneten Segments in 0,1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT", "STAT_DURCHSCHNITT_AKT_BERECH_SEGMENTS_WERT", STAT_DURCHSCHNITT_AKT_BERECH_SEGMENTS_WERT, "\"l/100km\""); unsigned char STAT_DURCHSCHNITT_HYBRID_RUECKGEW_AKT_SEGM_WERT = (RXBUF_UCHAR(2)); // Average value hybrid recovery of the act. Segments / Durchschnittswert Hybridrückgewinnung des akt. Segments ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT", "STAT_DURCHSCHNITT_HYBRID_RUECKGEW_AKT_SEGM_WERT", STAT_DURCHSCHNITT_HYBRID_RUECKGEW_AKT_SEGM_WERT, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_HUD_AKTIVE_WARPLISTE: { // 0xDA00 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_HUD_AKTIVE_WARPLISTE", 1); break; } unsigned char STAT_WARPLISTE_AKTIV = (RXBUF_UCHAR(0)); // Query which WARLIST is currently active. For status see table: TAB_WARPLISTE / Abfrage, welche WARPLISTE // momentan aktiv ist. Status siehe Tabelle: TAB_WARPLISTE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_HUD_AKTIVE_WARPLISTE", "STAT_WARPLISTE_AKTIV", STAT_WARPLISTE_AKTIV, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_STATUS_HUD_BILDPOSITION_SCHRITTE: { // 0xDA0A if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_STATUS_HUD_BILDPOSITION_SCHRITTE", 2); break; } unsigned short STAT_HUD_BILDPOSITION_SCHRITTE_WERT = (RXBUF_UINT(0)); // Job supplies the position of the stepper motor for the height adjustment / Job liefert die Position des // Schrittmotors für die Höhenverstellung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "STATUS_HUD_BILDPOSITION_SCHRITTE", "STAT_HUD_BILDPOSITION_SCHRITTE_WERT", STAT_HUD_BILDPOSITION_SCHRITTE_WERT, "\"Schritte\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_STATUS_HUD_BILDROTATION_SCHRITTE: { // 0xDA0F if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_STATUS_HUD_BILDROTATION_SCHRITTE", 2); break; } unsigned short STAT_HUD_BILDROTATION_SCHRITTE_WERT = (RXBUF_UINT(0)); // Job supplies the position of the stepper motor for the image rotation / Job liefert die Position des // Schrittmotors für die Bildrotation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "STATUS_HUD_BILDROTATION_SCHRITTE", "STAT_HUD_BILDROTATION_SCHRITTE_WERT", STAT_HUD_BILDROTATION_SCHRITTE_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_PORTS_LESEN: { // 0xDA43 if (datalen < 17) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_HUD_PORTS_LESEN", 17); break; } char STAT_HUD_AD_TEMP_BL_WERT = (RXBUF_UCHAR(0)); // Temperature LED / Temperatur LED ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_AD_TEMP_BL_WERT", STAT_HUD_AD_TEMP_BL_WERT, "\"°C\""); float STAT_HUD_AD_KL30_WERT = (RXBUF_UCHAR(1)/10.0f); // Voltage terminal 30 / Spannung Klemme 30 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_AD_KL30_WERT", STAT_HUD_AD_KL30_WERT, "\"V\""); unsigned char STAT_HUD_LED_DRV_CUR_WERT = (RXBUF_UCHAR(2)); // LED power / LED Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_DRV_CUR_WERT", STAT_HUD_LED_DRV_CUR_WERT, "\"A\""); unsigned char STAT_HUD_LED_DRV_SPG_WERT = (RXBUF_UCHAR(3)); // LED voltage / LED Spannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_DRV_SPG_WERT", STAT_HUD_LED_DRV_SPG_WERT, "\"V\""); unsigned char STAT_HUD_LED_DRV_FET1_WERT = (RXBUF_UCHAR(4)); // FET tension chain 1 / FET Spannung Kette 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_DRV_FET1_WERT", STAT_HUD_LED_DRV_FET1_WERT, "\"V\""); unsigned char STAT_HUD_LED_DRV_FET2_WERT = (RXBUF_UCHAR(5)); // FET tension chain 2 / FET Spannung Kette 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_DRV_FET2_WERT", STAT_HUD_LED_DRV_FET2_WERT, "\"V\""); unsigned char STAT_HUD_LED_DRV_OV_WERT = (RXBUF_UCHAR(6)); // Overload / Überspannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_DRV_OV_WERT", STAT_HUD_LED_DRV_OV_WERT, "\"V\""); unsigned char STAT_HUD_LED_DRV_FAULT_WERT = (RXBUF_UCHAR(7)); // LED driver error / Fehler LED Treiber ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_DRV_FAULT_WERT", STAT_HUD_LED_DRV_FAULT_WERT, ""); float STAT_HUD_LED_PWM_WERT = (RXBUF_UINT(8)/100.0f); // PWM / PWM ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_PWM_WERT", STAT_HUD_LED_PWM_WERT, "\"%\""); float STAT_HUD_LED_PWM_INV_WERT = (RXBUF_UINT(10)/100.0f); // PWM inverted / PWM invertiert ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_LED_PWM_INV_WERT", STAT_HUD_LED_PWM_INV_WERT, "\"%\""); unsigned char STAT_HUD_SMC_FLAGS_WERT = (RXBUF_UCHAR(12)); // SMC status flags / SMC Status Flags ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_HUD_SMC_FLAGS_WERT", STAT_HUD_SMC_FLAGS_WERT, ""); unsigned char STAT_RESERVE1_WERT = (RXBUF_UCHAR(13)); // Reserve 1 / Reserve 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_RESERVE1_WERT", STAT_RESERVE1_WERT, ""); unsigned char STAT_RESERVE2_WERT = (RXBUF_UCHAR(14)); // Reserve 2 / Reserve 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_RESERVE2_WERT", STAT_RESERVE2_WERT, ""); unsigned char STAT_RESERVE3_WERT = (RXBUF_UCHAR(15)); // Reserve 3 / Reserve 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_RESERVE3_WERT", STAT_RESERVE3_WERT, ""); unsigned char STAT_RESERVE4_WERT = (RXBUF_UCHAR(16)); // Reserve 4 / Reserve 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PORTS_LESEN", "STAT_RESERVE4_WERT", STAT_RESERVE4_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_SW_VERSION_LESEN: { // 0xDA44 if (datalen < 3) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_HUD_SW_VERSION_LESEN", 3); break; } unsigned char STAT_SW_VERSION_MAIN_WERT = (RXBUF_UCHAR(0)); // Version number of the HUD SW in the Kombi (Main) / Versionsnummer der HUD SW im Kombi (Main) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_SW_VERSION_LESEN", "STAT_SW_VERSION_MAIN_WERT", STAT_SW_VERSION_MAIN_WERT, "\"HEX\""); unsigned char STAT_SW_VERSION_MINOR_WERT = (RXBUF_UCHAR(1)); // Version number of the HUD SW in the combi (minor) / Versionsnummer der HUD SW im Kombi (Minor) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_SW_VERSION_LESEN", "STAT_SW_VERSION_MINOR_WERT", STAT_SW_VERSION_MINOR_WERT, "\"HEX\""); unsigned char STAT_SW_VERSION_PATCH_WERT = (RXBUF_UCHAR(2)); // Version number of the HUD SW in the combi (patch) / Versionsnummer der HUD SW im Kombi (Patch) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_SW_VERSION_LESEN", "STAT_SW_VERSION_PATCH_WERT", STAT_SW_VERSION_PATCH_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_SENSOREN_IDENT_LESEN_ERWEITERT: { // 0xDA46 if (datalen < 23) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_HUD_SENSOREN_IDENT_LESEN_ERWEITERT", 23); break; } unsigned short STAT_SENSOR_VERBAUORT_NR_WERT = (RXBUF_UINT(0)); // Place of installation / Verbauort ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_VERBAUORT_NR_WERT", STAT_SENSOR_VERBAUORT_NR_WERT, ""); unsigned long STAT_SENSOR_BMW_TEILE_NR_WERT = (RXBUF_UINT32(2)); // BMW part number / BMW Sachnummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_BMW_TEILE_NR_WERT", STAT_SENSOR_BMW_TEILE_NR_WERT, "\"HEX\""); unsigned short STAT_SENSOR_HERSTELLER_NR_WERT = (RXBUF_UINT(6)); // Manufacturer number / Herstellernummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_HERSTELLER_NR_WERT", STAT_SENSOR_HERSTELLER_NR_WERT, ""); unsigned long STAT_SENSOR_SERIEN_NR_WERT = (RXBUF_UINT32(8)); // serial number / Seriennummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_SERIEN_NR_WERT", STAT_SENSOR_SERIEN_NR_WERT, ""); unsigned char STAT_SENSOR_PROD_DATUM_YEAR_WERT = (RXBUF_UCHAR(12)); // Production date year / Produktionsdatum Jahr ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_PROD_DATUM_YEAR_WERT", STAT_SENSOR_PROD_DATUM_YEAR_WERT, ""); unsigned char STAT_SENSOR_PROD_DATUM_MONTH_WERT = (RXBUF_UCHAR(13)); // Production date month / Produktionsdatum Monat ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_PROD_DATUM_MONTH_WERT", STAT_SENSOR_PROD_DATUM_MONTH_WERT, ""); unsigned char STAT_SENSOR_PROD_DATUM_DAY_WERT = (RXBUF_UCHAR(14)); // Production date day / Produktionsdatum Tag ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_PROD_DATUM_DAY_WERT", STAT_SENSOR_PROD_DATUM_DAY_WERT, ""); unsigned short STAT_SENSOR_HW_VERSION_NR_WERT = (RXBUF_UINT(15)); // HW version number / HW Versionsnummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_HW_VERSION_NR_WERT", STAT_SENSOR_HW_VERSION_NR_WERT, ""); unsigned short STAT_SENSOR_OPTIK_VERSION_NR_WERT = (RXBUF_UINT(17)); // Optics version number / Optikversionsnummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_OPTIK_VERSION_NR_WERT", STAT_SENSOR_OPTIK_VERSION_NR_WERT, ""); unsigned short STAT_SENSOR_MECHANIK_VERSION_NR_WERT = (RXBUF_UINT(19)); // Mechanics version number / Mechanikversionsnummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_MECHANIK_VERSION_NR_WERT", STAT_SENSOR_MECHANIK_VERSION_NR_WERT, ""); unsigned short STAT_SENSOR_FLASH_VERSION_NR_WERT = (RXBUF_UINT(21)); // Flash version number / Flashversionsnummer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_SENSOREN_IDENT_LESEN_ERWEITERT", "STAT_SENSOR_FLASH_VERSION_NR_WERT", STAT_SENSOR_FLASH_VERSION_NR_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_HUD_BILDPOSITION_STUFEN: { // 0xDA47 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_HUD_BILDPOSITION_STUFEN", 1); break; } char STAT_HUD_BILDROTATION_STUFEN_WERT = (RXBUF_UCHAR(0)); // Set level of the image position from the HUD / Eingestellte Stufe der Bildposition vom HUD ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "KOMBI_HUD_BILDPOSITION_STUFEN", "STAT_HUD_BILDROTATION_STUFEN_WERT", STAT_HUD_BILDROTATION_STUFEN_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200: { // 0x4200 if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200", 12); break; } unsigned short STAT_PRW_WERT_0X4200 = (RXBUF_UINT(0)); // Potential range (PRW) / Potentielle Reichweite (PRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200", "STAT_PRW_WERT_0X4200", STAT_PRW_WERT_0X4200, "\"km\""); unsigned short STAT_CRW_WERT_0X4200 = (RXBUF_UINT(2)); // Comfort mode range (CRW) / Comfort- Mode Reichweite (CRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200", "STAT_CRW_WERT_0X4200", STAT_CRW_WERT_0X4200, "\"km\""); float STAT_BCRW_WERT_0X4200 = (RXBUF_UINT(4)/10.0f); // BC range in 0.1 km / BC- Reichweite in 0,1 km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200", "STAT_BCRW_WERT_0X4200", STAT_BCRW_WERT_0X4200, "\"km\""); float STAT_GRW_WERT_0X4200 = (RXBUF_UINT(6)/10.0f); // Gained range (GRW) / Gewonnene Reichweite (GRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200", "STAT_GRW_WERT_0X4200", STAT_GRW_WERT_0X4200, "\"km\""); float STAT_GK_WERT_0X4200 = (RXBUF_UINT32(8)/10.0f); // recovered fuel (GK) / gewonnener Kraftstoff (GK) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_GEWONNENER_KRAFTSTOFF_0X4200", "STAT_GK_WERT_0X4200", STAT_GK_WERT_0X4200, "\"µl\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSERHOEHUNG_ALPHA_0X4201: { // 0x4201 if (datalen < 19) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSERHOEHUNG_ALPHA_0X4201", 19); break; } unsigned long STAT_AKKUM_ABS_VERBR_ERH_WERT_0X4201 = (RXBUF_UINT32(0)); // accumulated absolute consumption increase / akkumulierte absolute Verbrauchserhöhung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_AKKUM_ABS_VERBR_ERH_WERT_0X4201", STAT_AKKUM_ABS_VERBR_ERH_WERT_0X4201, "\"µl\""); unsigned long STAT_VERBR_ERH_VERZOEGERUNG_WERT_0X4201 = (RXBUF_UINT32(4)); // Increase in consumption through delay / Verbrauchserhöhung durch Verzögerung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_VERBR_ERH_VERZOEGERUNG_WERT_0X4201", STAT_VERBR_ERH_VERZOEGERUNG_WERT_0X4201, "\"µl\""); unsigned long STAT_VERBR_ERH_MSA_WERT_0X4201 = (RXBUF_UINT32(8)); // Increase in consumption through MSA / Verbrauchserhöhung durch MSA ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_VERBR_ERH_MSA_WERT_0X4201", STAT_VERBR_ERH_MSA_WERT_0X4201, "\"µl\""); float STAT_V_REF_WERT_0X4201 = (RXBUF_UINT(12)/10.0f); // V ref / V ref ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_V_REF_WERT_0X4201", STAT_V_REF_WERT_0X4201, "\"km/h\""); float STAT_V_IST_WERT_0X4201 = (RXBUF_UINT(14)/10.0f); // V is / V ist ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_V_IST_WERT_0X4201", STAT_V_IST_WERT_0X4201, "\"km/h\""); float STAT_FWP_AKT_WERT_0X4201 = (RXBUF_UINT(16)/40.0f); // FWP act / FWP akt ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_FWP_AKT_WERT_0X4201", STAT_FWP_AKT_WERT_0X4201, "\"%\""); unsigned char STAT_BLS_VERZOEGERUNG_0X4201 = (RXBUF_UCHAR(18)); // Status_BLS / delay / Status_BLS / Verzögerung // STAT_BLS_VERZOEGERUNG_0X4201 is a BITFIELD of unknown size. We don't have definitions for each bit, and we GUESSED it is one byte *** ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "VERBRAUCHSERHOEHUNG_ALPHA_0X4201", "STAT_BLS_VERZOEGERUNG_0X4201", (unsigned long)STAT_BLS_VERZOEGERUNG_0X4201, "\"Bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSERHOEHUNG_PI_0X4202: { // 0x4202 if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSERHOEHUNG_PI_0X4202", 10); break; } float STAT_PI_PROZ_VERBR_ERH_WERT_0X4202 = (RXBUF_UINT(0)/100.0f); // PI percentage increase in consumption / PI prozentuale Verbrauchserhöhung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI_0X4202", "STAT_PI_PROZ_VERBR_ERH_WERT_0X4202", STAT_PI_PROZ_VERBR_ERH_WERT_0X4202, "\"%\""); float STAT_PI_VERBR_ERH_GW_WERT_0X4202 = (RXBUF_UINT(2)/100.0f); // PI increase in consumption through gear selection / PI Verbrauchserhöhung durch Gangwahl ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI_0X4202", "STAT_PI_VERBR_ERH_GW_WERT_0X4202", STAT_PI_VERBR_ERH_GW_WERT_0X4202, "\"%\""); float STAT_PI_VERBR_ERH_GESCHW_WERT_0X4202 = (RXBUF_UINT(4)/100.0f); // PI increase in consumption through speed / PI Verbrauchserhöhung durch Geschwindigkeit ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI_0X4202", "STAT_PI_VERBR_ERH_GESCHW_WERT_0X4202", STAT_PI_VERBR_ERH_GESCHW_WERT_0X4202, "\"%\""); float STAT_PI_VERBR_ERH_BESCHL_WERT_0X4202 = (RXBUF_UINT(6)/100.0f); // PI increase in consumption through acceleration / PI Verbrauchserhöhung durch Beschleunigung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI_0X4202", "STAT_PI_VERBR_ERH_BESCHL_WERT_0X4202", STAT_PI_VERBR_ERH_BESCHL_WERT_0X4202, "\"%\""); float STAT_PI_VERBR_ERH_KOMF_WERT_0X4202 = (RXBUF_UINT(8)/100.0f); // PI increase in consumption through convenience / PI Verbrauchserhöhung durch Komfort ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSERHOEHUNG_PI_0X4202", "STAT_PI_VERBR_ERH_KOMF_WERT_0X4202", STAT_PI_VERBR_ERH_KOMF_WERT_0X4202, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_MEHRVERBRAUCH_MV_REF_0X4203: { // 0x4203 if (datalen < 14) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_MEHRVERBRAUCH_MV_REF_0X4203", 14); break; } float STAT_MV_AKT_WERT_0X4203 = (RXBUF_UINT(0)/100.0f); // Current consumption / Mehrverbrauch aktuell ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_AKT_WERT_0X4203", STAT_MV_AKT_WERT_0X4203, "\"l/100km\""); float STAT_MV_REF_WERT_0X4203 = (RXBUF_UINT(2)/100.0f); // Overconsumption Ref (V act) / Mehrverbrauch Ref (V ist) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_REF_WERT_0X4203", STAT_MV_REF_WERT_0X4203, "\"l/100km\""); float STAT_MV_REF_30_WERT_0X4203 = (RXBUF_UINT(4)/100.0f); // Additional consumption Ref 30 / Mehrverbrauch Ref 30 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_REF_30_WERT_0X4203", STAT_MV_REF_30_WERT_0X4203, "\"l/100km\""); float STAT_MV_REF_70_WERT_0X4203 = (RXBUF_UINT(6)/100.0f); // Additional consumption Ref 70 / Mehrverbrauch Ref 70 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_REF_70_WERT_0X4203", STAT_MV_REF_70_WERT_0X4203, "\"l/100km\""); float STAT_MV_REF_100_WERT_0X4203 = (RXBUF_UINT(8)/100.0f); // Additional consumption Ref 100 / Mehrverbrauch Ref 100 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_REF_100_WERT_0X4203", STAT_MV_REF_100_WERT_0X4203, "\"l/100km\""); float STAT_MV_REF_MAX_WERT_0X4203 = (RXBUF_UINT(10)/100.0f); // Additional consumption Ref Max / Mehrverbrauch Ref Max ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_REF_MAX_WERT_0X4203", STAT_MV_REF_MAX_WERT_0X4203, "\"l/100km\""); float STAT_MV_REF_GESAMT_WERT_0X4203 = (RXBUF_UINT(12)/100.0f); // Additional consumption ref total / Mehrverbrauch Ref Gesamt ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH_MV_REF_0X4203", "STAT_MV_REF_GESAMT_WERT_0X4203", STAT_MV_REF_GESAMT_WERT_0X4203, "\"l/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_ECO_MODE_AUSTRITT_0X4204: { // 0x4204 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_ECO_MODE_AUSTRITT_0X4204", 2); break; } unsigned char STAT_ECO_MODE_AUSTRITT_0X4204 = (RXBUF_UCHAR(0)); // ECO mode exit / ECO- Mode Austritt // STAT_ECO_MODE_AUSTRITT_0X4204 is a BITFIELD of unknown size. We don't have definitions for each bit, and we GUESSED it is one byte *** ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "ECO_MODE_AUSTRITT_0X4204", "STAT_ECO_MODE_AUSTRITT_0X4204", (unsigned long)STAT_ECO_MODE_AUSTRITT_0X4204, "\"Bit\""); unsigned char STAT_ECO_TIPP_ANZ_0X4204 = (RXBUF_UCHAR(1)); // ECO tip display / ECO Tipp Anzeige ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "ECO_MODE_AUSTRITT_0X4204", "STAT_ECO_TIPP_ANZ_0X4204", STAT_ECO_TIPP_ANZ_0X4204, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_X_0X4205: { // 0x4205 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_X_0X4205", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_X_WERT_0X4205 = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_DURCHSCHNITTSWERT_8_SKAL_X_WERT_0X4205", STAT_DURCHSCHNITTSWERT_8_SKAL_X_WERT_0X4205, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_X_WERT_0X4205 = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_DURCHSCHNITTSWERT_16_SKAL_X_WERT_0X4205", STAT_DURCHSCHNITTSWERT_16_SKAL_X_WERT_0X4205, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_X_WERT_0X4205 = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG1_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG1_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG1_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG1_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG1_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG1_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_X_WERT_0X4205 = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG2_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG2_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG2_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG2_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG2_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG2_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_X_WERT_0X4205 = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG3_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG3_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG3_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG3_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG3_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG3_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_X_WERT_0X4205 = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG4_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG4_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG4_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG4_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG4_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG4_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_X_WERT_0X4205 = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG5_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG5_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG5_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG5_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG5_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG5_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_X_WERT_0X4205 = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG6_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG6_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG6_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG6_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG6_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG6_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_X_WERT_0X4205 = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG7_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG7_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG7_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG7_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG7_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG7_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_X_WERT_0X4205 = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG8_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG8_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG8_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG8_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG8_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG8_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_X_WERT_0X4205 = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG9_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG9_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG9_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG9_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG9_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG9_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_X_WERT_0X4205 = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG10_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG10_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG10_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG10_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG10_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG10_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_X_WERT_0X4205 = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG11_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG11_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG11_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG11_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG11_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG11_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_X_WERT_0X4205 = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG12_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG12_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG12_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG12_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG12_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG12_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_X_WERT_0X4205 = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG13_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG13_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG13_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG13_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG13_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG13_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_X_WERT_0X4205 = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG14_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG14_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG14_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG14_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG14_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG14_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_X_WERT_0X4205 = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG15_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG15_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG15_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG15_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG15_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG15_SKAL_X_WERT_0X4205, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_X_WERT_0X4205 = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCH_SEG16_SKAL_X_WERT_0X4205", STAT_VERBRAUCH_SEG16_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_X_WERT_0X4205", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_X_WERT_0X4205, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_ZAEHLER_SEG16_SKAL_X_WERT_0X4205", STAT_ZAEHLER_SEG16_SKAL_X_WERT_0X4205, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_X_WERT_0X4205 = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_X_0X4205", "STAT_FDS_FU_SEG16_SKAL_X_WERT_0X4205", STAT_FDS_FU_SEG16_SKAL_X_WERT_0X4205, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Y_0X4206: { // 0x4206 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Y_0X4206", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_DURCHSCHNITTSWERT_8_SKAL_Y_WERT_0X4206", STAT_DURCHSCHNITTSWERT_8_SKAL_Y_WERT_0X4206, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_DURCHSCHNITTSWERT_16_SKAL_Y_WERT_0X4206", STAT_DURCHSCHNITTSWERT_16_SKAL_Y_WERT_0X4206, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG1_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG1_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG1_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG1_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG1_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG1_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG2_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG2_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG2_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG2_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG2_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG2_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG3_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG3_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG3_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG3_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG3_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG3_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG4_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG4_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG4_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG4_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG4_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG4_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG5_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG5_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG5_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG5_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG5_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG5_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG6_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG6_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG6_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG6_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG6_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG6_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG7_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG7_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG7_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG7_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG7_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG7_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG8_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG8_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG8_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG8_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG8_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG8_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG9_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG9_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG9_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG9_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG9_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG9_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG10_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG10_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG10_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG10_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG10_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG10_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG11_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG11_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG11_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG11_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG11_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG11_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG12_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG12_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG12_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG12_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG12_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG12_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG13_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG13_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG13_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG13_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG13_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG13_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG14_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG14_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG14_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG14_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG14_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG14_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG15_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG15_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG15_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG15_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG15_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG15_SKAL_Y_WERT_0X4206, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_Y_WERT_0X4206 = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCH_SEG16_SKAL_Y_WERT_0X4206", STAT_VERBRAUCH_SEG16_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Y_WERT_0X4206", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Y_WERT_0X4206, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_ZAEHLER_SEG16_SKAL_Y_WERT_0X4206", STAT_ZAEHLER_SEG16_SKAL_Y_WERT_0X4206, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_Y_WERT_0X4206 = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Y_0X4206", "STAT_FDS_FU_SEG16_SKAL_Y_WERT_0X4206", STAT_FDS_FU_SEG16_SKAL_Y_WERT_0X4206, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Z_0X4207: { // 0x4207 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_Z_0X4207", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_DURCHSCHNITTSWERT_8_SKAL_Z_WERT_0X4207", STAT_DURCHSCHNITTSWERT_8_SKAL_Z_WERT_0X4207, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_DURCHSCHNITTSWERT_16_SKAL_Z_WERT_0X4207", STAT_DURCHSCHNITTSWERT_16_SKAL_Z_WERT_0X4207, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG1_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG1_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG1_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG1_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG1_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG1_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG2_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG2_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG2_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG2_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG2_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG2_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG3_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG3_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG3_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG3_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG3_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG3_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG4_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG4_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG4_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG4_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG4_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG4_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG5_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG5_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG5_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG5_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG5_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG5_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG6_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG6_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG6_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG6_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG6_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG6_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG7_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG7_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG7_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG7_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG7_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG7_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG8_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG8_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG8_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG8_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG8_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG8_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG9_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG9_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG9_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG9_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG9_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG9_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG10_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG10_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG10_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG10_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG10_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG10_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG11_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG11_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG11_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG11_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG11_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG11_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG12_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG12_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG12_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG12_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG12_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG12_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG13_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG13_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG13_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG13_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG13_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG13_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG14_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG14_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG14_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG14_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG14_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG14_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG15_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG15_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG15_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG15_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG15_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG15_SKAL_Z_WERT_0X4207, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_Z_WERT_0X4207 = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCH_SEG16_SKAL_Z_WERT_0X4207", STAT_VERBRAUCH_SEG16_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Z_WERT_0X4207", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_Z_WERT_0X4207, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_ZAEHLER_SEG16_SKAL_Z_WERT_0X4207", STAT_ZAEHLER_SEG16_SKAL_Z_WERT_0X4207, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_Z_WERT_0X4207 = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_Z_0X4207", "STAT_FDS_FU_SEG16_SKAL_Z_WERT_0X4207", STAT_FDS_FU_SEG16_SKAL_Z_WERT_0X4207, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_A_0X4208: { // 0x4208 if (datalen < 84) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAEUCHE_SKALIERUNG_A_0X4208", 84); break; } float STAT_DURCHSCHNITTSWERT_8_SKAL_A_WERT_0X4208 = (RXBUF_UINT(0)/10.0f); // Average_8 / Durchschnittswert_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_DURCHSCHNITTSWERT_8_SKAL_A_WERT_0X4208", STAT_DURCHSCHNITTSWERT_8_SKAL_A_WERT_0X4208, "\"l/100km\""); float STAT_DURCHSCHNITTSWERT_16_SKAL_A_WERT_0X4208 = (RXBUF_UINT(2)/10.0f); // Average_16 / Durchschnittswert_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_DURCHSCHNITTSWERT_16_SKAL_A_WERT_0X4208", STAT_DURCHSCHNITTSWERT_16_SKAL_A_WERT_0X4208, "\"l/100km\""); unsigned short STAT_VERBRAUCH_SEG1_SKAL_A_WERT_0X4208 = (RXBUF_UINT(4)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG1_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG1_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG1_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(6)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG1_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG1_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(7)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG1_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG1_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG1_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(8)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG1_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG1_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG2_SKAL_A_WERT_0X4208 = (RXBUF_UINT(9)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG2_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG2_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG2_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(11)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG2_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG2_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(12)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG2_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG2_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG2_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(13)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG2_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG2_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG3_SKAL_A_WERT_0X4208 = (RXBUF_UINT(14)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG3_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG3_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG3_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(16)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG3_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG3_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(17)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG3_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG3_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG3_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(18)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG3_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG3_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG4_SKAL_A_WERT_0X4208 = (RXBUF_UINT(19)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG4_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG4_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG4_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(21)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG4_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG4_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(22)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG4_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG4_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG4_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(23)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG4_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG4_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG5_SKAL_A_WERT_0X4208 = (RXBUF_UINT(24)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG5_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG5_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG5_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(26)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG5_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG5_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(27)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG5_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG5_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG5_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(28)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG5_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG5_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG6_SKAL_A_WERT_0X4208 = (RXBUF_UINT(29)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG6_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG6_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG6_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(31)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG6_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG6_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG6_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG6_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG6_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(33)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG6_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG6_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG7_SKAL_A_WERT_0X4208 = (RXBUF_UINT(34)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG7_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG7_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG7_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(36)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG7_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG7_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(37)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG7_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG7_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG7_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(38)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG7_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG7_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG8_SKAL_A_WERT_0X4208 = (RXBUF_UINT(39)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG8_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG8_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG8_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(41)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG8_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG8_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(42)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG8_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG8_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG8_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(43)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG8_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG8_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG9_SKAL_A_WERT_0X4208 = (RXBUF_UINT(44)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG9_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG9_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG9_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(46)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG9_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG9_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(47)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG9_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG9_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG9_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(48)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG9_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG9_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG10_SKAL_A_WERT_0X4208 = (RXBUF_UINT(49)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG10_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG10_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG10_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(51)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG10_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG10_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(52)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG10_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG10_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG10_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(53)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG10_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG10_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG11_SKAL_A_WERT_0X4208 = (RXBUF_UINT(54)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG11_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG11_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG11_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(56)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG11_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG11_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(57)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG11_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG11_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG11_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(58)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG11_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG11_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG12_SKAL_A_WERT_0X4208 = (RXBUF_UINT(59)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG12_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG12_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG12_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(61)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG12_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG12_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG12_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG12_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG12_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(63)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG12_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG12_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG13_SKAL_A_WERT_0X4208 = (RXBUF_UINT(64)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG13_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG13_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG13_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(66)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG13_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG13_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(67)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG13_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG13_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG13_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(68)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG13_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG13_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG14_SKAL_A_WERT_0X4208 = (RXBUF_UINT(69)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG14_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG14_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG14_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(71)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG14_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG14_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(72)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG14_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG14_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG14_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(73)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG14_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG14_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG15_SKAL_A_WERT_0X4208 = (RXBUF_UINT(74)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG15_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG15_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG15_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(76)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG15_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG15_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(77)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG15_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG15_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG15_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(78)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG15_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG15_SKAL_A_WERT_0X4208, "\"HEX\""); unsigned short STAT_VERBRAUCH_SEG16_SKAL_A_WERT_0X4208 = (RXBUF_UINT(79)); // consumption / Verbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCH_SEG16_SKAL_A_WERT_0X4208", STAT_VERBRAUCH_SEG16_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_VERBRAUCHVORTEIL_SEG16_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(81)); // Consumption advantage / Verbrauchsvorteil ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_VERBRAUCHVORTEIL_SEG16_SKAL_A_WERT_0X4208", STAT_VERBRAUCHVORTEIL_SEG16_SKAL_A_WERT_0X4208, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(82)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_ZAEHLER_SEG16_SKAL_A_WERT_0X4208", STAT_ZAEHLER_SEG16_SKAL_A_WERT_0X4208, ""); unsigned char STAT_FDS_FU_SEG16_SKAL_A_WERT_0X4208 = (RXBUF_UCHAR(83)); // 00010000 = FU 00001111 = FDS FDS Attribute: 0 Initialization 1 Traction mode set 2 Comfort mode set 3 Base // mode set 4 Sport mode set 5 Sport + mode set 6 Race mode set 7 ECO mode set 8 ECO + mode set 9 - E Reserve F // signal invalid FU attribute: 0 travel without travel interruption (FU) 1 travel with travel interruption (FU) // / 00010000 = FU 00001111 = FDS FDS Attribut: 0 Initialisierung 1 Modus Traction gesetzt 2 Modus Komfort // gesetzt 3 Modus Basis gesetzt 4 Modus Sport gesetzt 5 Modus Sport+ gesetzt 6 Modus Race gesetzt 7 Modus // ECO gesetzt 8 Modus ECO+ gesetzt 9 - E Reserve F Signal ungültig FU Attribut: 0 Fahrt ohne // Fahrtunterbrechung (FU) 1 Fahrt mit Fahrtunterbrechung (FU) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAEUCHE_SKALIERUNG_A_0X4208", "STAT_FDS_FU_SEG16_SKAL_A_WERT_0X4208", STAT_FDS_FU_SEG16_SKAL_A_WERT_0X4208, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_0X4209: { // 0x4209 if (datalen < 3) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_0X4209", 3); break; } float STAT_DURCHSCHNITT_AKT_BERECH_SEGMENTS_WERT_0X4209 = (RXBUF_UINT(0)/10.0f); // Average value of the act. calculated segment in 0.1 / Durchschnittswert des akt. berechneten Segments in 0,1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_0X4209", "STAT_DURCHSCHNITT_AKT_BERECH_SEGMENTS_WERT_0X4209", STAT_DURCHSCHNITT_AKT_BERECH_SEGMENTS_WERT_0X4209, "\"l/100km\""); unsigned char STAT_DURCHSCHNITT_HYBRID_RUECKGEW_AKT_SEGM_WERT_0X4209 = (RXBUF_UCHAR(2)); // Average value hybrid recovery of the act. Segments / Durchschnittswert Hybridrückgewinnung des akt. Segments ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_0X4209", "STAT_DURCHSCHNITT_HYBRID_RUECKGEW_AKT_SEGM_WERT_0X4209", STAT_DURCHSCHNITT_HYBRID_RUECKGEW_AKT_SEGM_WERT_0X4209, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERVRAEUCHE_SKALIERUNG_MCV: { // 0x420A if (datalen < 100) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERVRAEUCHE_SKALIERUNG_MCV", 100); break; } float STAT_DURCHSCHNITTSVERBRAUCH_8_WERT = (RXBUF_UINT(0)/10.0f); // Average consumption_8 / Durchschnittsverbrauch_8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_8_WERT", STAT_DURCHSCHNITTSVERBRAUCH_8_WERT, "\"kWh/100km\""); float STAT_DURCHSCHNITTSVERBRAUCH_16_WERT = (RXBUF_UINT(2)/10.0f); // Average consumption_16 / Durchschnittsverbrauch_16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_16_WERT", STAT_DURCHSCHNITTSVERBRAUCH_16_WERT, "\"kWh/100km\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG1_X_WERT = (RXBUF_UINT(4)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG1_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG1_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG1_X_WERT = (RXBUF_UINT(6)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG1_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG1_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG1_X_WERT = (RXBUF_UCHAR(8)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG1_X_WERT", STAT_ZAEHLER_SEG1_X_WERT, ""); unsigned char STAT_FU_SEG1_X_WERT = (RXBUF_UCHAR(9)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG1_X_WERT", STAT_FU_SEG1_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG2_X_WERT = (RXBUF_UINT(10)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG2_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG2_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG2_X_WERT = (RXBUF_UINT(12)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG2_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG2_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG2_X_WERT = (RXBUF_UCHAR(14)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG2_X_WERT", STAT_ZAEHLER_SEG2_X_WERT, ""); unsigned char STAT_FU_SEG2_X_WERT = (RXBUF_UCHAR(15)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG2_X_WERT", STAT_FU_SEG2_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG3_X_WERT = (RXBUF_UINT(16)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG3_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG3_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG3_X_WERT = (RXBUF_UINT(18)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG3_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG3_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG3_X_WERT = (RXBUF_UCHAR(20)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG3_X_WERT", STAT_ZAEHLER_SEG3_X_WERT, ""); unsigned char STAT_FU_SEG3_X_WERT = (RXBUF_UCHAR(21)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG3_X_WERT", STAT_FU_SEG3_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG4_X_WERT = (RXBUF_UINT(22)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG4_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG4_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG4_X_WERT = (RXBUF_UINT(24)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG4_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG4_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG4_X_WERT = (RXBUF_UCHAR(26)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG4_X_WERT", STAT_ZAEHLER_SEG4_X_WERT, ""); unsigned char STAT_FU_SEG4_X_WERT = (RXBUF_UCHAR(27)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG4_X_WERT", STAT_FU_SEG4_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG5_X_WERT = (RXBUF_UINT(28)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG5_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG5_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG5_X_WERT = (RXBUF_UINT(30)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG5_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG5_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG5_X_WERT = (RXBUF_UCHAR(32)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG5_X_WERT", STAT_ZAEHLER_SEG5_X_WERT, ""); unsigned char STAT_FU_SEG5_X_WERT = (RXBUF_UCHAR(33)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG5_X_WERT", STAT_FU_SEG5_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG6_X_WERT = (RXBUF_UINT(34)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG6_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG6_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG6_X_WERT = (RXBUF_UINT(36)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG6_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG6_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG6_X_WERT = (RXBUF_UCHAR(38)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG6_X_WERT", STAT_ZAEHLER_SEG6_X_WERT, ""); unsigned char STAT_FU_SEG6_X_WERT = (RXBUF_UCHAR(39)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG6_X_WERT", STAT_FU_SEG6_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG7_X_WERT = (RXBUF_UINT(40)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG7_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG7_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG7_X_WERT = (RXBUF_UINT(42)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG7_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG7_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG7_X_WERT = (RXBUF_UCHAR(44)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG7_X_WERT", STAT_ZAEHLER_SEG7_X_WERT, ""); unsigned char STAT_FU_SEG7_X_WERT = (RXBUF_UCHAR(45)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG7_X_WERT", STAT_FU_SEG7_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG8_X_WERT = (RXBUF_UINT(46)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG8_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG8_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG8_X_WERT = (RXBUF_UINT(48)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG8_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG8_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG8_X_WERT = (RXBUF_UCHAR(50)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG8_X_WERT", STAT_ZAEHLER_SEG8_X_WERT, ""); unsigned char STAT_FU_SEG8_X_WERT = (RXBUF_UCHAR(51)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG8_X_WERT", STAT_FU_SEG8_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG9_X_WERT = (RXBUF_UINT(52)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG9_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG9_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG9_X_WERT = (RXBUF_UINT(54)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG9_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG9_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG9_X_WERT = (RXBUF_UCHAR(56)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG9_X_WERT", STAT_ZAEHLER_SEG9_X_WERT, ""); unsigned char STAT_FU_SEG9_X_WERT = (RXBUF_UCHAR(57)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG9_X_WERT", STAT_FU_SEG9_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG10_X_WERT = (RXBUF_UINT(58)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG10_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG10_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG10_X_WERT = (RXBUF_UINT(60)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG10_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG10_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG10_X_WERT = (RXBUF_UCHAR(62)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG10_X_WERT", STAT_ZAEHLER_SEG10_X_WERT, ""); unsigned char STAT_FU_SEG10_X_WERT = (RXBUF_UCHAR(63)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG10_X_WERT", STAT_FU_SEG10_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG11_X_WERT = (RXBUF_UINT(64)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG11_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG11_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG11_X_WERT = (RXBUF_UINT(66)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG11_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG11_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG11_X_WERT = (RXBUF_UCHAR(68)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG11_X_WERT", STAT_ZAEHLER_SEG11_X_WERT, ""); unsigned char STAT_FU_SEG11_X_WERT = (RXBUF_UCHAR(69)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG11_X_WERT", STAT_FU_SEG11_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG12_X_WERT = (RXBUF_UINT(70)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG12_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG12_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG12_X_WERT = (RXBUF_UINT(72)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG12_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG12_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG12_X_WERT = (RXBUF_UCHAR(74)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG12_X_WERT", STAT_ZAEHLER_SEG12_X_WERT, ""); unsigned char STAT_FU_SEG12_X_WERT = (RXBUF_UCHAR(75)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG12_X_WERT", STAT_FU_SEG12_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG13_X_WERT = (RXBUF_UINT(76)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG13_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG13_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG13_X_WERT = (RXBUF_UINT(78)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG13_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG13_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG13_X_WERT = (RXBUF_UCHAR(80)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG13_X_WERT", STAT_ZAEHLER_SEG13_X_WERT, ""); unsigned char STAT_FU_SEG13_X_WERT = (RXBUF_UCHAR(81)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG13_X_WERT", STAT_FU_SEG13_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG14_X_WERT = (RXBUF_UINT(82)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG14_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG14_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG14_X_WERT = (RXBUF_UINT(84)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG14_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG14_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG14_X_WERT = (RXBUF_UCHAR(86)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG14_X_WERT", STAT_ZAEHLER_SEG14_X_WERT, ""); unsigned char STAT_FU_SEG14_X_WERT = (RXBUF_UCHAR(87)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG14_X_WERT", STAT_FU_SEG14_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG15_X_WERT = (RXBUF_UINT(88)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG15_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG15_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG15_X_WERT = (RXBUF_UINT(90)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG15_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG15_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG15_X_WERT = (RXBUF_UCHAR(92)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG15_X_WERT", STAT_ZAEHLER_SEG15_X_WERT, ""); unsigned char STAT_FU_SEG15_X_WERT = (RXBUF_UCHAR(93)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG15_X_WERT", STAT_FU_SEG15_X_WERT, "\"HEX\""); unsigned short STAT_DURCHSCHNITTSVERBRAUCH_SEG16_X_WERT = (RXBUF_UINT(94)); // Average consumption / Durchschnittsverbrauch ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSVERBRAUCH_SEG16_X_WERT", STAT_DURCHSCHNITTSVERBRAUCH_SEG16_X_WERT, "\"%\""); unsigned short STAT_DURCHSCHNITTSREKUPERATION_SEG16_X_WERT = (RXBUF_UINT(96)); // Average recuperation / Durchschnittsrekuperation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_DURCHSCHNITTSREKUPERATION_SEG16_X_WERT", STAT_DURCHSCHNITTSREKUPERATION_SEG16_X_WERT, "\"%\""); unsigned char STAT_ZAEHLER_SEG16_X_WERT = (RXBUF_UCHAR(98)); // counter / Zähler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_ZAEHLER_SEG16_X_WERT", STAT_ZAEHLER_SEG16_X_WERT, ""); unsigned char STAT_FU_SEG16_X_WERT = (RXBUF_UCHAR(99)); // FU / FU ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERVRAEUCHE_SKALIERUNG_MCV", "STAT_FU_SEG16_X_WERT", STAT_FU_SEG16_X_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_MCV: { // 0x420B if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_MCV", 4); break; } float STAT_DURCHSCHNT_VERBRAUCH_AKT_SEGM_WERT = (RXBUF_UINT(0)/10.0f); // Average consumption of the currently calculated segment / Durchschnittsverbrauch des aktuell berechneten // Segments ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_MCV", "STAT_DURCHSCHNT_VERBRAUCH_AKT_SEGM_WERT", STAT_DURCHSCHNT_VERBRAUCH_AKT_SEGM_WERT, "\"kWh/100km\""); float STAT_DURCHSCHNT_REKUPERATION_AKT_SEGM_WERT = (RXBUF_UINT(2)/10.0f); // Average recuperation of the act. calculated segment / Durchschnittsrekuperation des akt. berechneten Segments ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCHSVORTEIL_HYBRID_AKT_SEGMENT_MCV", "STAT_DURCHSCHNT_REKUPERATION_AKT_SEGM_WERT", STAT_DURCHSCHNT_REKUPERATION_AKT_SEGM_WERT, "\"kWh/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_REICHWEITE_MCV: { // 0x420C if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_REICHWEITE_MCV", 8); break; } unsigned short STAT_ECO_MODE_REICHWEITE_WERT = (RXBUF_UINT(0)); // Eco-mode range / Eco-Mode-reichweite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "REICHWEITE_MCV", "STAT_ECO_MODE_REICHWEITE_WERT", STAT_ECO_MODE_REICHWEITE_WERT, "\"km\""); unsigned short STAT_COMFORT_MODE_REICHWEITE_WERT = (RXBUF_UINT(2)); // Comfort mode range (CRW) / Comfort-Mode Reichweite (CRW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "REICHWEITE_MCV", "STAT_COMFORT_MODE_REICHWEITE_WERT", STAT_COMFORT_MODE_REICHWEITE_WERT, "\"km\""); float STAT_BC_REICHWEITE_WERT = (RXBUF_UINT(4)/10.0f); // BC range / BC-Reichweite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_MCV", "STAT_BC_REICHWEITE_WERT", STAT_BC_REICHWEITE_WERT, "\"km\""); float STAT_ECO_PRO_PLUS_REICHWEITE_WERT = (RXBUF_UINT(6)/10.0f); // ECO Pro + range / ECO Pro+ Reichweite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "REICHWEITE_MCV", "STAT_ECO_PRO_PLUS_REICHWEITE_WERT", STAT_ECO_PRO_PLUS_REICHWEITE_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCH_ERHOEHUNG_A: { // 0x420D if (datalen < 15) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCH_ERHOEHUNG_A", 15); break; } unsigned long STAT_AKKUMULIERTE_ABS_VERBR_ERHOEHUNG_WERT = (RXBUF_UINT32(0)); // accumulated absolute consumption increase / akkumulierte absolute Verbrauchserhöhung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_A", "STAT_AKKUMULIERTE_ABS_VERBR_ERHOEHUNG_WERT", STAT_AKKUMULIERTE_ABS_VERBR_ERHOEHUNG_WERT, "\"kWh\""); unsigned long STAT_VERBR_ERHOEHUNG_VERZ_WERT = (RXBUF_UINT32(4)); // Increase in consumption through delay / Verbrauchserhöhung durch Verzögerung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_A", "STAT_VERBR_ERHOEHUNG_VERZ_WERT", STAT_VERBR_ERHOEHUNG_VERZ_WERT, "\"kWh\""); unsigned short STAT_VERBR_REF_WERT = (RXBUF_UINT(8)); // V ref / V ref ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_A", "STAT_VERBR_REF_WERT", STAT_VERBR_REF_WERT, "\"kWh\""); unsigned short STAT_VERBR_IST_WERT = (RXBUF_UINT(10)); // V is / V ist ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_A", "STAT_VERBR_IST_WERT", STAT_VERBR_IST_WERT, "\"kWh\""); float STAT_FWP_AKT_WERT_0X420D = (RXBUF_UINT(12)/2500.0f); // FWP act / FWP akt ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_A", "STAT_FWP_AKT_WERT_0X420D", STAT_FWP_AKT_WERT_0X420D, "\"%\""); unsigned char STAT_BLS_VERZOEGERUNG_0X420D = (RXBUF_UCHAR(14)); // Status_BLS / delay xxxx xx11b / Status_BLS / Verzögerung xxxx xx11b ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_A", "STAT_BLS_VERZOEGERUNG_0X420D", STAT_BLS_VERZOEGERUNG_0X420D, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCH_ERHOEHUNG_TT: { // 0x420E if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCH_ERHOEHUNG_TT", 8); break; } float STAT_PROZENTUALE_VERBRAUCH_ERHOEHUNG_WERT = (RXBUF_UINT(0)/100.0f); // tt percentage increase in consumption / tt prozentuale Verbrauchserhöhung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_TT", "STAT_PROZENTUALE_VERBRAUCH_ERHOEHUNG_WERT", STAT_PROZENTUALE_VERBRAUCH_ERHOEHUNG_WERT, "\"%\""); float STAT_VERBRAUCH_ERHOEHUNG_GESCHW_WERT = (RXBUF_UINT(2)/100.0f); // increased consumption through speed / verbrauchserhöhung durch Geschwindigkeit ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_TT", "STAT_VERBRAUCH_ERHOEHUNG_GESCHW_WERT", STAT_VERBRAUCH_ERHOEHUNG_GESCHW_WERT, "\"kWh/100km\""); float STAT_VERBRAUCH_ERHOEHUNG_BESCHLEUN_WERT = (RXBUF_UINT(4)/100.0f); // Increase in consumption through acceleration / Verbrauchserhöhung durch Beschleunigung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_TT", "STAT_VERBRAUCH_ERHOEHUNG_BESCHLEUN_WERT", STAT_VERBRAUCH_ERHOEHUNG_BESCHLEUN_WERT, "\"kWh/100km\""); float STAT_VERBRAUCH_ERHOEHUNG_KOMFORT_WERT = (RXBUF_UINT(6)/100.0f); // Increased consumption through convenience / Verbrauchserhöhung durch Komfort ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_ERHOEHUNG_TT", "STAT_VERBRAUCH_ERHOEHUNG_KOMFORT_WERT", STAT_VERBRAUCH_ERHOEHUNG_KOMFORT_WERT, "\"kWh/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_MEHRVERBRAUCH: { // 0x420F if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_MEHRVERBRAUCH", 10); break; } float STAT_MEHRVERBRAUCH_AKT_WERT = (RXBUF_UINT(0)/100.0f); // Additional consumption currently in 0.01 kWh / 100km / Mehrverbrauch aktuell in 0,01Kwh/100km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH", "STAT_MEHRVERBRAUCH_AKT_WERT", STAT_MEHRVERBRAUCH_AKT_WERT, "\"kWh/100km\""); float STAT_MEHRVERBRAUCH_REF_WERT = (RXBUF_UINT(2)/100.0f); // Additional consumption reference in 0.01Kwh / 100km / Mehrverbrauch referenz in 0,01Kwh/100km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH", "STAT_MEHRVERBRAUCH_REF_WERT", STAT_MEHRVERBRAUCH_REF_WERT, "\"kWh/100km\""); float STAT_MEHRVERBRAUCH_ECO_WERT = (RXBUF_UINT(4)/100.0f); // Additional consumption eco in 0.01Kwh / 100km / Mehrverbrauch eco in 0,01Kwh/100km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH", "STAT_MEHRVERBRAUCH_ECO_WERT", STAT_MEHRVERBRAUCH_ECO_WERT, "\"kWh/100km\""); float STAT_MEHRVERBRAUCH_ECO_PLUS_WERT = (RXBUF_UINT(6)/100.0f); // Additional consumption eco plus in 0.01 kWh / 100 km / Mehrverbrauch eco plus in 0,01Kwh/100km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH", "STAT_MEHRVERBRAUCH_ECO_PLUS_WERT", STAT_MEHRVERBRAUCH_ECO_PLUS_WERT, "\"kWh/100km\""); float STAT_MEHRVERBRAUCH_200M_WERT = (RXBUF_UINT(8)/100.0f); // Additional consumption 200 m in 0.01 kWh / 100 km / Mehrverbrauch 200 m in 0,01Kwh/100km ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "MEHRVERBRAUCH", "STAT_MEHRVERBRAUCH_200M_WERT", STAT_MEHRVERBRAUCH_200M_WERT, "\"kWh/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_ECO_MODE_AUSTRITT_0X4210: { // 0x4210 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_ECO_MODE_AUSTRITT_0X4210", 1); break; } unsigned char RES_0x4210_D = (RXBUF_UCHAR(0)); // Read ECO-Mode Aistritt / ECO-Mode Aistritt lesen // RES_0x4210_D is a BITFIELD of unknown size. We don't have definitions for each bit, and we GUESSED it is one byte *** ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "KOM", "ECO_MODE_AUSTRITT_0X4210", "RES_0x4210_D", (unsigned long)RES_0x4210_D, "\"bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_ECO: { // 0x4230 if (datalen < 22) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_ECO", 22); break; } float STAT_STUETZSTELLE1_WERT = (RXBUF_UINT(0)/100f); // 1. Support center / 1.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE1_WERT", STAT_STUETZSTELLE1_WERT, "\"l/km\""); float STAT_STUETZSTELLE2_WERT = (RXBUF_UINT(2)/100f); // 2. Support center / 2.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE2_WERT", STAT_STUETZSTELLE2_WERT, "\"l/km\""); float STAT_STUETZSTELLE3_WERT = (RXBUF_UINT(4)/100f); // 3. Support center / 3.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE3_WERT", STAT_STUETZSTELLE3_WERT, "\"l/km\""); float STAT_STUETZSTELLE4_WERT = (RXBUF_UINT(6)/100f); // 4. Support center / 4.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE4_WERT", STAT_STUETZSTELLE4_WERT, "\"l/km\""); float STAT_STUETZSTELLE5_WERT = (RXBUF_UINT(8)/100f); // 5. Support center / 5.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE5_WERT", STAT_STUETZSTELLE5_WERT, "\"l/km\""); float STAT_STUETZSTELLE6_WERT = (RXBUF_UINT(10)/100f); // 6. Support center / 6.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE6_WERT", STAT_STUETZSTELLE6_WERT, "\"l/km\""); float STAT_STUETZSTELLE7_WERT = (RXBUF_UINT(12)/100f); // 7. Support agency / 7.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE7_WERT", STAT_STUETZSTELLE7_WERT, "\"l/km\""); float STAT_STUETZSTELLE8_WERT = (RXBUF_UINT(14)/100f); // 8. Support agency / 8.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE8_WERT", STAT_STUETZSTELLE8_WERT, "\"l/km\""); float STAT_STUETZSTELLE9_WERT = (RXBUF_UINT(16)/100f); // 9. Support agency / 9.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE9_WERT", STAT_STUETZSTELLE9_WERT, "\"l/km\""); float STAT_STUETZSTELLE10_WERT = (RXBUF_UINT(18)/100f); // 10. Support agency / 10.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE10_WERT", STAT_STUETZSTELLE10_WERT, "\"l/km\""); float STAT_STUETZSTELLE11_WERT = (RXBUF_UINT(20)/100f); // 11. Support agency / 11.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_ECO", "STAT_STUETZSTELLE11_WERT", STAT_STUETZSTELLE11_WERT, "\"l/km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_NORMAL: { // 0x4231 if (datalen < 22) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_NORMAL", 22); break; } float STAT_STUETZSTELLE1_WERT_0X4231 = (RXBUF_UINT(0)/100f); // 1. Support center / 1.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE1_WERT_0X4231", STAT_STUETZSTELLE1_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE2_WERT_0X4231 = (RXBUF_UINT(2)/100f); // 2. Support center / 2.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE2_WERT_0X4231", STAT_STUETZSTELLE2_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE3_WERT_0X4231 = (RXBUF_UINT(4)/100f); // 3. Support center / 3.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE3_WERT_0X4231", STAT_STUETZSTELLE3_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE4_WERT_0X4231 = (RXBUF_UINT(6)/100f); // 4. Support center / 4.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE4_WERT_0X4231", STAT_STUETZSTELLE4_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE5_WERT_0X4231 = (RXBUF_UINT(8)/100f); // 5. Support center / 5.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE5_WERT_0X4231", STAT_STUETZSTELLE5_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE6_WERT_0X4231 = (RXBUF_UINT(10)/100f); // 6. Support center / 6.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE6_WERT_0X4231", STAT_STUETZSTELLE6_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE7_WERT_0X4231 = (RXBUF_UINT(12)/100f); // 7. Support agency / 7.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE7_WERT_0X4231", STAT_STUETZSTELLE7_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE8_WERT_0X4231 = (RXBUF_UINT(14)/100f); // 8. Support agency / 8.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE8_WERT_0X4231", STAT_STUETZSTELLE8_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE9_WERT_0X4231 = (RXBUF_UINT(16)/100f); // 9. Support agency / 9.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE9_WERT_0X4231", STAT_STUETZSTELLE9_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE10_WERT_0X4231 = (RXBUF_UINT(18)/100f); // 10. Support agency / 10.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE10_WERT_0X4231", STAT_STUETZSTELLE10_WERT_0X4231, "\"l/km\""); float STAT_STUETZSTELLE11_WERT_0X4231 = (RXBUF_UINT(20)/100f); // 11. Support agency / 11.Stuetzstelle ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_NORMAL", "STAT_STUETZSTELLE11_WERT_0X4231", STAT_STUETZSTELLE11_WERT_0X4231, "\"l/km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR: { // 0x4232 if (datalen < 16) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", 16); break; } float STAT_LERNFAKTOR1_ECO_WERT = (RXBUF_UINT(0)/100f); // Learning factor1 ECO / Lernfaktor1 ECO ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR1_ECO_WERT", STAT_LERNFAKTOR1_ECO_WERT, "\"L/100km\""); float STAT_LERNFAKTOR2_ECO_WERT = (RXBUF_UINT(2)/100f); // Learning factor2 ECO / Lernfaktor2 ECO ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR2_ECO_WERT", STAT_LERNFAKTOR2_ECO_WERT, "\"L/100km\""); float STAT_LERNFAKTOR3_ECO_WERT = (RXBUF_UINT(4)/100f); // Learning factor3 ECO / Lernfaktor3 ECO ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR3_ECO_WERT", STAT_LERNFAKTOR3_ECO_WERT, "\"L/100km\""); float STAT_LERNFAKTOR4_ECO_WERT = (RXBUF_UINT(6)/100f); // Learning factor4 ECO / Lernfaktor4 ECO ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR4_ECO_WERT", STAT_LERNFAKTOR4_ECO_WERT, "\"L/100km\""); float STAT_LERNFAKTOR1_NORMAL_WERT = (RXBUF_UINT(8)/100f); // Learning factor 1 normal / Lernfaktor1 Normal ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR1_NORMAL_WERT", STAT_LERNFAKTOR1_NORMAL_WERT, "\"L/100km\""); float STAT_LERNFAKTOR2_NORMAL_WERT = (RXBUF_UINT(10)/100f); // Learning factor2 normal / Lernfaktor2 Normal ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR2_NORMAL_WERT", STAT_LERNFAKTOR2_NORMAL_WERT, "\"L/100km\""); float STAT_LERNFAKTOR3_NORMAL_WERT = (RXBUF_UINT(12)/100f); // Learning factor3 normal / Lernfaktor3 Normal ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR3_NORMAL_WERT", STAT_LERNFAKTOR3_NORMAL_WERT, "\"L/100km\""); float STAT_LERNFAKTOR4_NORMAL_WERT = (RXBUF_UINT(14)/100f); // Learning factor4 normal / Lernfaktor4 Normal ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_LERNFAKTOR", "STAT_LERNFAKTOR4_NORMAL_WERT", STAT_LERNFAKTOR4_NORMAL_WERT, "\"L/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_FAKTOR: { // 0x4233 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_VERBRAUCH_CHARAKTERISTIK_FAKTOR", 8); break; } float STAT_DELTA_RATIO_ECO_WERT = (RXBUF_UINT(0)/100f); // Delta_ratio_ECO / Delta_ratio_ECO ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_FAKTOR", "STAT_DELTA_RATIO_ECO_WERT", STAT_DELTA_RATIO_ECO_WERT, "\"L/100km\""); float STAT_VB_INTERPOLIERT_ECO_WERT = (RXBUF_UINT(2)/100f); // Consumption_interpolated_ECO / Verbr_interpoliert_ECO ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_FAKTOR", "STAT_VB_INTERPOLIERT_ECO_WERT", STAT_VB_INTERPOLIERT_ECO_WERT, "\"L/100km\""); float STAT_DELTA_RATIO_NORMAL_WERT = (RXBUF_UINT(4)/100f); // Delta_ratio_NORMAL / Delta_ratio_NORMAL ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_FAKTOR", "STAT_DELTA_RATIO_NORMAL_WERT", STAT_DELTA_RATIO_NORMAL_WERT, "\"L/100km\""); float STAT_VB_INTERPOLIERT_NORMAL_WERT = (RXBUF_UINT(6)/100f); // Consumption_interpolated_NORMAL / Verbr_interpoliert_NORMAL ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "VERBRAUCH_CHARAKTERISTIK_FAKTOR", "STAT_VB_INTERPOLIERT_NORMAL_WERT", STAT_VB_INTERPOLIERT_NORMAL_WERT, "\"L/100km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_LOGBUCH: { // 0x4800 if (datalen < 74) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_HUD_LOGBUCH", 74); break; } unsigned short STAT_HUD_OPERATION_HOURS_WERT = (RXBUF_UINT(0)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_OPERATION_HOURS_WERT", STAT_HUD_OPERATION_HOURS_WERT, ""); unsigned char STAT_HUD_OPERATION_MINUTES_WERT = (RXBUF_UCHAR(2)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_OPERATION_MINUTES_WERT", STAT_HUD_OPERATION_MINUTES_WERT, ""); unsigned short STAT_HUD_LED_OPERATION_HOURS_WERT = (RXBUF_UINT(3)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_LED_OPERATION_HOURS_WERT", STAT_HUD_LED_OPERATION_HOURS_WERT, ""); unsigned char STAT_HUD_LED_OPERATION_MINUTES_WERT = (RXBUF_UCHAR(5)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_LED_OPERATION_MINUTES_WERT", STAT_HUD_LED_OPERATION_MINUTES_WERT, ""); unsigned char STAT_HUD_LED_REPEAT_TIME_WERT = (RXBUF_UCHAR(6)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_LED_REPEAT_TIME_WERT", STAT_HUD_LED_REPEAT_TIME_WERT, ""); unsigned char STAT_HUD_TEMP_THRESHOLD_01_WERT = (RXBUF_UCHAR(7)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP_THRESHOLD_01_WERT", STAT_HUD_TEMP_THRESHOLD_01_WERT, ""); unsigned char STAT_HUD_TEMP_THRESHOLD_02_WERT = (RXBUF_UCHAR(8)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP_THRESHOLD_02_WERT", STAT_HUD_TEMP_THRESHOLD_02_WERT, ""); unsigned char STAT_HUD_TEMP_THRESHOLD_03_WERT = (RXBUF_UCHAR(9)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP_THRESHOLD_03_WERT", STAT_HUD_TEMP_THRESHOLD_03_WERT, ""); unsigned char STAT_HUD_TEMP_THRESHOLD_04_WERT = (RXBUF_UCHAR(10)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP_THRESHOLD_04_WERT", STAT_HUD_TEMP_THRESHOLD_04_WERT, ""); unsigned short STAT_HUD_TEMP1_WERT = (RXBUF_UINT(11)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP1_WERT", STAT_HUD_TEMP1_WERT, ""); unsigned short STAT_HUD_TEMP2_WERT = (RXBUF_UINT(13)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP2_WERT", STAT_HUD_TEMP2_WERT, ""); unsigned short STAT_HUD_TEMP3_WERT = (RXBUF_UINT(15)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP3_WERT", STAT_HUD_TEMP3_WERT, ""); unsigned short STAT_HUD_TEMP4_WERT = (RXBUF_UINT(17)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP4_WERT", STAT_HUD_TEMP4_WERT, ""); unsigned short STAT_HUD_TEMP5_WERT = (RXBUF_UINT(19)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_TEMP5_WERT", STAT_HUD_TEMP5_WERT, ""); unsigned short STAT_HUD_LOGTIME_WERT = (RXBUF_UINT(21)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_LOGTIME_WERT", STAT_HUD_LOGTIME_WERT, ""); unsigned char STAT_HUD_DIM_THRESHOLD_01_WERT = (RXBUF_UCHAR(23)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_DIM_THRESHOLD_01_WERT", STAT_HUD_DIM_THRESHOLD_01_WERT, ""); unsigned char STAT_HUD_DIM_THRESHOLD_02_WERT = (RXBUF_UCHAR(24)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_DIM_THRESHOLD_02_WERT", STAT_HUD_DIM_THRESHOLD_02_WERT, ""); unsigned char STAT_HUD_DIM_THRESHOLD_03_WERT = (RXBUF_UCHAR(25)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_DIM_THRESHOLD_03_WERT", STAT_HUD_DIM_THRESHOLD_03_WERT, ""); unsigned char STAT_HUD_DIM_THRESHOLD_04_WERT = (RXBUF_UCHAR(26)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_DIM_THRESHOLD_04_WERT", STAT_HUD_DIM_THRESHOLD_04_WERT, ""); unsigned short STAT_HUD_ZONE_1_DIM1_WERT = (RXBUF_UINT(27)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_1_DIM1_WERT", STAT_HUD_ZONE_1_DIM1_WERT, ""); unsigned short STAT_HUD_ZONE_1_DIM2_WERT = (RXBUF_UINT(29)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_1_DIM2_WERT", STAT_HUD_ZONE_1_DIM2_WERT, ""); unsigned short STAT_HUD_ZONE_1_DIM3_WERT = (RXBUF_UINT(31)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_1_DIM3_WERT", STAT_HUD_ZONE_1_DIM3_WERT, ""); unsigned short STAT_HUD_ZONE_1_DIM4_WERT = (RXBUF_UINT(33)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_1_DIM4_WERT", STAT_HUD_ZONE_1_DIM4_WERT, ""); unsigned short STAT_HUD_ZONE_1_DIM5_WERT = (RXBUF_UINT(35)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_1_DIM5_WERT", STAT_HUD_ZONE_1_DIM5_WERT, ""); unsigned short STAT_HUD_ZONE_2_DIM1_WERT = (RXBUF_UINT(37)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_2_DIM1_WERT", STAT_HUD_ZONE_2_DIM1_WERT, ""); unsigned short STAT_HUD_ZONE_2_DIM2_WERT = (RXBUF_UINT(39)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_2_DIM2_WERT", STAT_HUD_ZONE_2_DIM2_WERT, ""); unsigned short STAT_HUD_ZONE_2_DIM3_WERT = (RXBUF_UINT(41)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_2_DIM3_WERT", STAT_HUD_ZONE_2_DIM3_WERT, ""); unsigned short STAT_HUD_ZONE_2_DIM4_WERT = (RXBUF_UINT(43)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_2_DIM4_WERT", STAT_HUD_ZONE_2_DIM4_WERT, ""); unsigned short STAT_HUD_ZONE_2_DIM5_WERT = (RXBUF_UINT(45)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_2_DIM5_WERT", STAT_HUD_ZONE_2_DIM5_WERT, ""); unsigned short STAT_HUD_ZONE_3_DIM1_WERT = (RXBUF_UINT(47)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_3_DIM1_WERT", STAT_HUD_ZONE_3_DIM1_WERT, ""); unsigned short STAT_HUD_ZONE_3_DIM2_WERT = (RXBUF_UINT(49)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_3_DIM2_WERT", STAT_HUD_ZONE_3_DIM2_WERT, ""); unsigned short STAT_HUD_ZONE_3_DIM3_WERT = (RXBUF_UINT(51)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_3_DIM3_WERT", STAT_HUD_ZONE_3_DIM3_WERT, ""); unsigned short STAT_HUD_ZONE_3_DIM4_WERT = (RXBUF_UINT(53)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_3_DIM4_WERT", STAT_HUD_ZONE_3_DIM4_WERT, ""); unsigned short STAT_HUD_ZONE_3_DIM5_WERT = (RXBUF_UINT(55)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_3_DIM5_WERT", STAT_HUD_ZONE_3_DIM5_WERT, ""); unsigned short STAT_HUD_ZONE_4_DIM1_WERT = (RXBUF_UINT(57)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_4_DIM1_WERT", STAT_HUD_ZONE_4_DIM1_WERT, ""); unsigned short STAT_HUD_ZONE_4_DIM2_WERT = (RXBUF_UINT(59)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_4_DIM2_WERT", STAT_HUD_ZONE_4_DIM2_WERT, ""); unsigned short STAT_HUD_ZONE_4_DIM3_WERT = (RXBUF_UINT(61)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_4_DIM3_WERT", STAT_HUD_ZONE_4_DIM3_WERT, ""); unsigned short STAT_HUD_ZONE_4_DIM4_WERT = (RXBUF_UINT(63)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_4_DIM4_WERT", STAT_HUD_ZONE_4_DIM4_WERT, ""); unsigned short STAT_HUD_ZONE_4_DIM5_WERT = (RXBUF_UINT(65)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ZONE_4_DIM5_WERT", STAT_HUD_ZONE_4_DIM5_WERT, ""); unsigned short STAT_HUD_HEIGHT_ADJUSTMENT_WERT = (RXBUF_UINT(67)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_HEIGHT_ADJUSTMENT_WERT", STAT_HUD_HEIGHT_ADJUSTMENT_WERT, ""); unsigned short STAT_HUD_ROTATION_WERT = (RXBUF_UINT(69)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ROTATION_WERT", STAT_HUD_ROTATION_WERT, ""); unsigned short STAT_HUD_ACTIVATION_WERT = (RXBUF_UINT(71)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ACTIVATION_WERT", STAT_HUD_ACTIVATION_WERT, ""); unsigned char STAT_HUD_ENVIRONMENTAL_COND_WERT = (RXBUF_UCHAR(73)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_LOGBUCH", "STAT_HUD_ENVIRONMENTAL_COND_WERT", STAT_HUD_ENVIRONMENTAL_COND_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_PIA: { // 0x4801 if (datalen < 20) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_HUD_PIA", 20); break; } unsigned char STAT_HUD_USER0_BRIGHT_WERT = (RXBUF_UCHAR(0)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER0_BRIGHT_WERT", STAT_HUD_USER0_BRIGHT_WERT, ""); unsigned char STAT_HUD_USER0_HEIGHT_WERT = (RXBUF_UCHAR(1)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER0_HEIGHT_WERT", STAT_HUD_USER0_HEIGHT_WERT, ""); unsigned char STAT_HUD_USER0_ROTATION_WERT = (RXBUF_UCHAR(2)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER0_ROTATION_WERT", STAT_HUD_USER0_ROTATION_WERT, ""); unsigned short STAT_HUD_USER0_FUNKTION_WERT = (RXBUF_UINT(3)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER0_FUNKTION_WERT", STAT_HUD_USER0_FUNKTION_WERT, ""); unsigned char STAT_HUD_USER1_BRIGHT_WERT = (RXBUF_UCHAR(5)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER1_BRIGHT_WERT", STAT_HUD_USER1_BRIGHT_WERT, ""); unsigned char STAT_HUD_USER1_HEIGHT_WERT = (RXBUF_UCHAR(6)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER1_HEIGHT_WERT", STAT_HUD_USER1_HEIGHT_WERT, ""); unsigned char STAT_HUD_USER1_ROTATION_WERT = (RXBUF_UCHAR(7)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER1_ROTATION_WERT", STAT_HUD_USER1_ROTATION_WERT, ""); unsigned short STAT_HUD_USER1_FUNKTION_WERT = (RXBUF_UINT(8)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER1_FUNKTION_WERT", STAT_HUD_USER1_FUNKTION_WERT, ""); unsigned char STAT_HUD_USER2_BRIGHT_WERT = (RXBUF_UCHAR(10)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER2_BRIGHT_WERT", STAT_HUD_USER2_BRIGHT_WERT, ""); unsigned char STAT_HUD_USER2_HEIGHT_WERT = (RXBUF_UCHAR(11)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER2_HEIGHT_WERT", STAT_HUD_USER2_HEIGHT_WERT, ""); unsigned char STAT_HUD_USER2_ROTATION_WERT = (RXBUF_UCHAR(12)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER2_ROTATION_WERT", STAT_HUD_USER2_ROTATION_WERT, ""); unsigned short STAT_HUD_USER2_FUNKTION_WERT = (RXBUF_UINT(13)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_PIA", "STAT_HUD_USER2_FUNKTION_WERT", STAT_HUD_USER2_FUNKTION_WERT, ""); unsigned char STAT_HUD_GUEST_BRIGHT_WERT = (RXBUF_UCHAR(15)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_GUEST_BRIGHT_WERT", STAT_HUD_GUEST_BRIGHT_WERT, ""); unsigned char STAT_HUD_GUEST_HEIGHT_WERT = (RXBUF_UCHAR(16)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_GUEST_HEIGHT_WERT", STAT_HUD_GUEST_HEIGHT_WERT, ""); unsigned char STAT_HUD_GUEST_ROTATION_WERT = (RXBUF_UCHAR(17)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PIA", "STAT_HUD_GUEST_ROTATION_WERT", STAT_HUD_GUEST_ROTATION_WERT, ""); unsigned short STAT_HUD_GUEST_FUNKTION_WERT = (RXBUF_UINT(18)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "HUD_PIA", "STAT_HUD_GUEST_FUNKTION_WERT", STAT_HUD_GUEST_FUNKTION_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_NO_SIGNAL_SCREEN: { // 0x4803 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_START_UP_SCREEN: { // 0x4804 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_PROCESS_VERSION_READ: { // 0x4805 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_HUD_PROCESS_VERSION_READ", 1); break; } unsigned char STAT_AL_NUMMER_WERT = (RXBUF_UCHAR(0)); // - / - ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "KOM", "HUD_PROCESS_VERSION_READ", "STAT_AL_NUMMER_WERT", STAT_AL_NUMMER_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_BC_BCW_L_KM: { // 0xD126 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_BC_BCW_L_KM", 8); break; } float STAT_BC_DSV_L_KM_WERT = (RXBUF_UINT(0)/100.0f); // On-board computer average consumption in 0.01 [l / 100km] / Bordcomputer Durchschnittsverbrauch in 0,01 // [l/100km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_L_KM", "STAT_BC_DSV_L_KM_WERT", STAT_BC_DSV_L_KM_WERT, "\"l/100km\""); float STAT_BC_DSG_L_KM_WERT = (RXBUF_UINT(2)/100.0f); // On-board computer average speed in 0.01 [km / h] / Bordcomputer Durchschnittsgeschwindigkeit in 0,01 [km/h] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_L_KM", "STAT_BC_DSG_L_KM_WERT", STAT_BC_DSG_L_KM_WERT, "\"km/h\""); float STAT_BC_MVERB_L_KM_WERT = (RXBUF_UINT(4)/100.0f); // On-board computer current consumption in 0.01 [l / 100km] / Bordcomputer Momentanverbrauch in 0,01 [l/100km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_L_KM", "STAT_BC_MVERB_L_KM_WERT", STAT_BC_MVERB_L_KM_WERT, "\"l/100km\""); float STAT_BC_RW_L_KM_WERT = (RXBUF_UINT(6)/10.0f); // On-board computer range in 0.1 [km] / Bordcomputer Reichweite in 0,1 [km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_L_KM", "STAT_BC_RW_L_KM_WERT", STAT_BC_RW_L_KM_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_BC_RBC_L_KM: { // 0xD127 if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_BC_RBC_L_KM", 10); break; } float STAT_RBC_DSV_L_KM_WERT = (RXBUF_UINT(0)/100.0f); // On-board computer average consumption in 0.01 [l / 100km] / Reisebordcomputer Durchschnittsverbrauch in 0,01 // [l/100km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_RBC_L_KM", "STAT_RBC_DSV_L_KM_WERT", STAT_RBC_DSV_L_KM_WERT, "\"l/100km\""); float STAT_RBC_DSG_L_KM_WERT = (RXBUF_UINT(2)/100.0f); // On-board computer average speed in 0.01 [km / h] / Reisebordcomputer Durchschnittsgeschwindigkeit in 0,01 // [km/h] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_RBC_L_KM", "STAT_RBC_DSG_L_KM_WERT", STAT_RBC_DSG_L_KM_WERT, "\"km/h\""); unsigned short STAT_RBC_STRECKE_L_KM_WERT = (RXBUF_UINT(8)); // On-board computer route in 1 [km] / Reisebordcomputer Strecke in 1 [km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "KOMBI_BC_RBC_L_KM", "STAT_RBC_STRECKE_L_KM_WERT", STAT_RBC_STRECKE_L_KM_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_BC_BCW_KWH_KM: { // 0xD129 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_BC_BCW_KWH_KM", 8); break; } float STAT_BC_DSV_KWH_KM_WERT = (RXBUF_UINT(0)/10.0f); // On-board computer average consumption in 0.1 [KWh / 100km] / Bordcomputer Durchschnittsverbrauch in 0,1 // [KWh/100km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_KWH_KM", "STAT_BC_DSV_KWH_KM_WERT", STAT_BC_DSV_KWH_KM_WERT, "\"kWh/100km\""); float STAT_BC_DSG_KWH_KM_WERT = (RXBUF_UINT(2)/100.0f); // On-board computer average speed in 0.01 [km / h] / Bordcomputer Durchschnittsgeschwindigkeit in 0,01 [km/h] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_KWH_KM", "STAT_BC_DSG_KWH_KM_WERT", STAT_BC_DSG_KWH_KM_WERT, "\"km/h\""); float STAT_BC_MVERB_KWH_KM_WERT = (RXBUF_UINT(4)/10.0f); // On-board computer current consumption in 0.1 [KWh / h] = [KW] / Bordcomputer Momentanverbrauch in 0,1 // [KWh/h]=[KW] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_KWH_KM", "STAT_BC_MVERB_KWH_KM_WERT", STAT_BC_MVERB_KWH_KM_WERT, "\"kW\""); float STAT_BC_RW_KWH_KM_WERT = (RXBUF_UINT(6)/10.0f); // On-board computer range in 0.1 [km] / Bordcomputer Reichweite in 0,1 [km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_BCW_KWH_KM", "STAT_BC_RW_KWH_KM_WERT", STAT_BC_RW_KWH_KM_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_KOMBI_BC_RBC_KWH_KM: { // 0xD12A if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_KOM_KOMBI_BC_RBC_KWH_KM", 10); break; } float STAT_RBC_DSV_KWH_KM_WERT = (RXBUF_UINT(0)/10.0f); // On-board computer average consumption in 0.1 [KWh / 100km] / Reisebordcomputer Durchschnittsverbrauch in 0,1 // [KWh/100km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_RBC_KWH_KM", "STAT_RBC_DSV_KWH_KM_WERT", STAT_RBC_DSV_KWH_KM_WERT, "\"kWh/100km\""); float STAT_RBC_DSG_KWH_KM_WERT = (RXBUF_UINT(2)/100.0f); // On-board computer average speed in 0.01 [km / h] / Reisebordcomputer Durchschnittsgeschwindigkeit in 0,01 // [km/h] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "KOM", "KOMBI_BC_RBC_KWH_KM", "STAT_RBC_DSG_KWH_KM_WERT", STAT_RBC_DSG_KWH_KM_WERT, "\"km/h\""); unsigned short STAT_RBC_STRECKE_KWH_KM_WERT = (RXBUF_UINT(8)); // On-board computer route in 1 [km] / Reisebordcomputer Strecke in 1 [km] ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "KOM", "KOMBI_BC_RBC_KWH_KM", "STAT_RBC_STRECKE_KWH_KM_WERT", STAT_RBC_STRECKE_KWH_KM_WERT, "\"km\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_CC_MELDUNGSSPEICHER_LOESCHEN: { // 0xF010 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_KOM_HUD_M_SHOWMODE: { // 0xF018 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; }