// // Warning: don't edit - generated by generate_ecu_code.pl processing ../dev/eme_i01.json: EME 1A: Electrical machine electronics // This generated code makes it easier to process CANBUS messages from the EME ecu in a BMW i3 // case I3_PID_EME_FS_LOESCHEN_PERMANENT: { // 0x1060 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_FEHLERSPEICHER_ENDE_WERKSABLAUF: { // 0x1061 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_FEHLERSPEICHER_ENDE_WERKSABLAUF", 1); break; } unsigned char STAT_FS_ENDE_WABL = (RXBUF_UCHAR(0)); // 0: Locked (deletion of individual errors and PDTCs is prevented) 1: Unlocked (deletion of individual errors // and PDTCs is not prevented) / 0: Verriegelt (loeschen von Einzelfehlern und PDTCs wird unterbunden) 1: // Entriegelt (loeschen von Einzelfehlern und PDTCs wird nicht unterbunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "FEHLERSPEICHER_ENDE_WERKSABLAUF", "STAT_FS_ENDE_WABL", STAT_FS_ENDE_WABL, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AKS_DIAG_STATUS_INFO: { // 0x4009 if (datalen < 49) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AKS_DIAG_STATUS_INFO", 49); break; } unsigned char STAT_BAM_STATUS_WERT = (RXBUF_UCHAR(0)); // Status of operating mode manager / Status Betriebsartenmanager ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_BAM_STATUS_WERT", STAT_BAM_STATUS_WERT, "\"HEX\""); unsigned long STAT_FRM_ISR_WERT = (RXBUF_UINT32(1)); // Protection manager: Status of the ISR / Protectionmanager: Status der ISR ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_FRM_ISR_WERT", STAT_FRM_ISR_WERT, "\"HEX\""); unsigned short STAT_POM_1MS_WERT = (RXBUF_UINT(5)); // Protection manager: Status of the 1ms / Protectionmanager: Status der 1ms ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_POM_1MS_WERT", STAT_POM_1MS_WERT, "\"HEX\""); unsigned short STAT_POM_10MS_WERT = (RXBUF_UINT(7)); // Protection manager: status of the 10ms / Protectionmanager: Status der 10ms ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_POM_10MS_WERT", STAT_POM_10MS_WERT, "\"HEX\""); unsigned short STAT_ERR_MOT_TRCT_WERT = (RXBUF_UINT(9)); // St Error Status word of the e-machine / St Error Statuswort der E-Maschine ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_ERR_MOT_TRCT_WERT", STAT_ERR_MOT_TRCT_WERT, "\"HEX\""); unsigned long STAT_HVSM_MC0_WERT = (RXBUF_UINT32(11)); // HVSM: Status Mc0 / HVSM: Status Mc0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_HVSM_MC0_WERT", STAT_HVSM_MC0_WERT, "\"HEX\""); unsigned long STAT_HVSM_AKKUM_MC0_WERT = (RXBUF_UINT32(15)); // HVSM: Accum. Status MC0 / HVSM: Akkum. Status MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_HVSM_AKKUM_MC0_WERT", STAT_HVSM_AKKUM_MC0_WERT, "\"HEX\""); unsigned long STAT_HVSM_MC2_WERT = (RXBUF_UINT32(19)); // HVSM: Status Mc2 / HVSM: Status Mc2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_HVSM_MC2_WERT", STAT_HVSM_MC2_WERT, "\"HEX\""); unsigned long STAT_HVSM_AKKUM_MC2_WERT = (RXBUF_UINT32(23)); // HVSM: Accum. Status MC2 / HVSM: Akkum. Status MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_HVSM_AKKUM_MC2_WERT", STAT_HVSM_AKKUM_MC2_WERT, "\"HEX\""); unsigned char STAT_CPLD_INFO_WERT = (RXBUF_UCHAR(27)); // CPLD: info / CPLD: Info ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_CPLD_INFO_WERT", STAT_CPLD_INFO_WERT, "\"HEX\""); unsigned long STAT_FUSI_MC2_WERT = (RXBUF_UINT32(28)); // FUSI: UWB MC2 / FUSI: UWB MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_FUSI_MC2_WERT", STAT_FUSI_MC2_WERT, "\"HEX\""); unsigned long STAT_FUSI_MC0_WERT = (RXBUF_UINT32(32)); // FUSI: UWB MC0 / FUSI: UWB MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_FUSI_MC0_WERT", STAT_FUSI_MC0_WERT, "\"HEX\""); unsigned long STAT_SSD_MC0_WERT = (RXBUF_UINT32(36)); // SSD: status / SSD: Status ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_SSD_MC0_WERT", STAT_SSD_MC0_WERT, "\"HEX\""); unsigned char STAT_ERR_UPDATE_IN_PROGRESS_WERT = (RXBUF_UCHAR(40)); // Runtime: Update-In-Progress Error / Laufzeit: Update-In-Progress Fehler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_ERR_UPDATE_IN_PROGRESS_WERT", STAT_ERR_UPDATE_IN_PROGRESS_WERT, "\"HEX\""); unsigned long STAT_FRM_WHY_WERT = (RXBUF_UINT32(41)); // FRM: Why word Attention: Value can only be interpreted in connection with the associated software version! / // FRM: Why-Wort Achtung: Wert kann nur m Zusammenhang mit dem zugehörigen Softwarestand interpretiert werden! ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_FRM_WHY_WERT", STAT_FRM_WHY_WERT, "\"HEX\""); unsigned long STAT_FRM_EM2_WERT = (RXBUF_UINT32(45)); // FRM: status bits / FRM: Statusbits ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AKS_DIAG_STATUS_INFO", "STAT_FRM_EM2_WERT", STAT_FRM_EM2_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_DCDC_LV: { // 0xDDF6 if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_DCDC_LV", 4); break; } float STAT_SPANNUNG_DCDC_LV_WERT = (RXBUF_UINT(0)*0.01f); // DCDC converter: ACTUAL voltage LV side at B + bolt / DCDC Wandler: IST-Spannung LV-Seite am B+ Bolzen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_DCDC_LV", "STAT_SPANNUNG_DCDC_LV_WERT", STAT_SPANNUNG_DCDC_LV_WERT, "\"V\""); float STAT_STROM_DCDC_LV_WERT = (RXBUF_SINT(2)*0.1f); // DCDC converter: ACTUAL current LV side at the B + bolt / DCDC Wandler: IST-Strom LV-Seite am B+ Bolzen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_DCDC_LV", "STAT_STROM_DCDC_LV_WERT", STAT_STROM_DCDC_LV_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_HVPM_DCDC_ANSTEUERUNG: { // 0xDE00 if (datalen < 25) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_HVPM_DCDC_ANSTEUERUNG", 25); break; } float STAT_SOC_HVB_WERT = (RXBUF_UINT(0)*0.1f); // HV battery charge level / Ladezustand HV Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_SOC_HVB_WERT", STAT_SOC_HVB_WERT, "\"%\""); float STAT_SOC_HVB_MIN_WERT = (RXBUF_UCHAR(2)*0.5f); // Startability limit, state of charge HV battery / Startfähigkeitsgrenze Ladezustand HV Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_SOC_HVB_MIN_WERT", STAT_SOC_HVB_MIN_WERT, "\"%\""); unsigned char STAT_LADEGERAET = (RXBUF_UCHAR(3)); // Charger recognized (1 = recognized / 0 = not recognized) / Ladegerät erkannt (1 = erkannt / 0 = nicht erkannt) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_LADEGERAET", STAT_LADEGERAET, "\"0/1\""); unsigned char STAT_FREMDLADUNG = (RXBUF_UCHAR(4)); // External charge (1 = recognized / 0 = not recognized) / Fremdladung (1 = erkannt / 0 = nicht erkannt) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_FREMDLADUNG", STAT_FREMDLADUNG, "\"0/1\""); unsigned char STAT_FAHRB = (RXBUF_UCHAR(5)); // Ready to drive (1 = active / 0 = not active) / Fahrbereitschaft (1 = aktiv / 0 = nicht aktiv) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_FAHRB", STAT_FAHRB, "\"0/1\""); unsigned char STAT_BA_DCDC_KOMM_NR = (RXBUF_UCHAR(6)); // Commanded DC / DC converter operating mode / Kommandierte Betriebsart DC/DC Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_BA_DCDC_KOMM_NR", STAT_BA_DCDC_KOMM_NR, "\"0-n\""); float STAT_I_DCDC_HV_OUT_WERT = (RXBUF_SINT(7)*0.1f); // Current limit HV side / Stromgrenze HV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_I_DCDC_HV_OUT_WERT", STAT_I_DCDC_HV_OUT_WERT, "\"A\""); float STAT_U_DCDC_HV_OUT_WERT = (RXBUF_UINT(9)*0.1f); // Voltage limit HV side / Spannungsgrenze HV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_U_DCDC_HV_OUT_WERT", STAT_U_DCDC_HV_OUT_WERT, "\"V\""); float STAT_I_DCDC_LV_OUT_WERT = (RXBUF_SINT(11)*0.1f); // Current limit NV side / Stromgrenze NV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_I_DCDC_LV_OUT_WERT", STAT_I_DCDC_LV_OUT_WERT, "\"A\""); float STAT_U_DCDC_LV_OUT_WERT = (RXBUF_UINT(13)*0.01f); // Voltage limit NV side / Spannungsgrenze NV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_U_DCDC_LV_OUT_WERT", STAT_U_DCDC_LV_OUT_WERT, "\"V\""); unsigned char STAT_BA_DCDC_IST_NR = (RXBUF_UCHAR(15)); // ACTUAL operating mode DCDC converter / IST-Betriebsart DCDC-Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_BA_DCDC_IST_NR", STAT_BA_DCDC_IST_NR, "\"0-n\""); float STAT_ALS_DCDC_WERT = (RXBUF_UCHAR(16)*0.5f); // DC / DC converter utilization / Auslastung DC/DC-Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_ALS_DCDC_WERT", STAT_ALS_DCDC_WERT, "\"%\""); float STAT_I_DCDC_HV_WERT = (RXBUF_SINT(17)*0.1f); // Current HV side / Strom HV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_I_DCDC_HV_WERT", STAT_I_DCDC_HV_WERT, "\"A\""); float STAT_U_DCDC_HV_WERT = (RXBUF_UINT(19)*0.1f); // Voltage HV side / Spannung HV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_U_DCDC_HV_WERT", STAT_U_DCDC_HV_WERT, "\"V\""); float STAT_I_DCDC_LV_WERT = (RXBUF_SINT(21)*0.1f); // Electricity NV side / Strom NV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_I_DCDC_LV_WERT", STAT_I_DCDC_LV_WERT, "\"A\""); float STAT_U_DCDC_LV_WERT = (RXBUF_UINT(23)*0.01f); // Voltage NV side / Spannung NV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ANSTEUERUNG", "STAT_U_DCDC_LV_WERT", STAT_U_DCDC_LV_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_HVPM_HV_SYSTEM_ON_OFF: { // 0xDE02 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_HVPM_HV_SYSTEM_ON_OFF", 8); break; } float STAT_U_DC_HV_LE_WERT = (RXBUF_SINT(0)*0.0313f); // HV intermediate circuit voltage / HV-Zwischenkreisspannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_U_DC_HV_LE_WERT", STAT_U_DC_HV_LE_WERT, "\"V\""); unsigned char STAT_HV_READY = (RXBUF_UCHAR(2)); // Release HV / Freigabe HV ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_HV_READY", STAT_HV_READY, "\"0/1\""); unsigned char STAT_HDCAC_EREQ = (RXBUF_UCHAR(3)); // Request to close contactors HV battery / Anforderung Schließen Schütze HV-Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_HDCAC_EREQ", STAT_HDCAC_EREQ, "\"0/1\""); unsigned char STAT_I0ANF_HVB = (RXBUF_UCHAR(4)); // Status of zero current requirement / Status Nullstromanforderung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_I0ANF_HVB", STAT_I0ANF_HVB, "\"0-n\""); unsigned char STAT_ANF_ENTL_ZK = (RXBUF_UCHAR(5)); // Requirement for discharge of the HV intermediate circuit through DCDC converter / Anforderung Entladung // HV-Zwischenkreis durch DCDC-Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_ANF_ENTL_ZK", STAT_ANF_ENTL_ZK, "\"0/1\""); unsigned char STAT_HVSTART_KOMM = (RXBUF_UCHAR(6)); // Output of the Stateflow status of the HVPM start system / Ausgabe des Stateflow-Status des HVPM Startsystems ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_HVSTART_KOMM", STAT_HVSTART_KOMM, "\"0-n\""); unsigned char STAT_ANF_ENTL_EME = (RXBUF_UCHAR(7)); // Emergency discharge request ZK: 0 = not active; 1 = active / Anforderung Notentladung ZK: 0 = nicht aktiv; 1 = // aktiv ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_HV_SYSTEM_ON_OFF", "STAT_ANF_ENTL_EME", STAT_ANF_ENTL_EME, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_HVPM_ENERGIEBORDNETZ_2: { // 0xDE04 if (datalen < 14) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_HVPM_ENERGIEBORDNETZ_2", 14); break; } unsigned char STAT_NV_HVB_SOC_FAHRB_0_20_WERT = (RXBUF_UCHAR(0)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_0_20_WERT", STAT_NV_HVB_SOC_FAHRB_0_20_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_20_25_WERT = (RXBUF_UCHAR(1)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_20_25_WERT", STAT_NV_HVB_SOC_FAHRB_20_25_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_25_30_WERT = (RXBUF_UCHAR(2)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_25_30_WERT", STAT_NV_HVB_SOC_FAHRB_25_30_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_30_33_WERT = (RXBUF_UCHAR(3)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_30_33_WERT", STAT_NV_HVB_SOC_FAHRB_30_33_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_33_36_WERT = (RXBUF_UCHAR(4)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_33_36_WERT", STAT_NV_HVB_SOC_FAHRB_33_36_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_36_39_WERT = (RXBUF_UCHAR(5)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_36_39_WERT", STAT_NV_HVB_SOC_FAHRB_36_39_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_39_42_WERT = (RXBUF_UCHAR(6)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_39_42_WERT", STAT_NV_HVB_SOC_FAHRB_39_42_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_42_45_WERT = (RXBUF_UCHAR(7)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_42_45_WERT", STAT_NV_HVB_SOC_FAHRB_42_45_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_45_48_WERT = (RXBUF_UCHAR(8)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_45_48_WERT", STAT_NV_HVB_SOC_FAHRB_45_48_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_48_51_WERT = (RXBUF_UCHAR(9)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_48_51_WERT", STAT_NV_HVB_SOC_FAHRB_48_51_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_51_56_WERT = (RXBUF_UCHAR(10)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_51_56_WERT", STAT_NV_HVB_SOC_FAHRB_51_56_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_56_65_WERT = (RXBUF_UCHAR(11)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_56_65_WERT", STAT_NV_HVB_SOC_FAHRB_56_65_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_65_80_WERT = (RXBUF_UCHAR(12)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_65_80_WERT", STAT_NV_HVB_SOC_FAHRB_65_80_WERT, ""); unsigned char STAT_NV_HVB_SOC_FAHRB_80_100_WERT = (RXBUF_UCHAR(13)); // Charge status of the HV battery when ready to drive / Ladezustand HV-Batterie bei Herstellung Fahrbereitschaft ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVPM_ENERGIEBORDNETZ_2", "STAT_NV_HVB_SOC_FAHRB_80_100_WERT", STAT_NV_HVB_SOC_FAHRB_80_100_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_HVPM_PKOR: { // 0xDE06 if (datalen < 118) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_HVPM_PKOR", 118); break; } unsigned short STAT_T_P_WUNSCH_ID_0_WERT = (RXBUF_UINT(0)); // Heat Up - Time during which the function was requested. / Heat Up - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_0_WERT", STAT_T_P_WUNSCH_ID_0_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_1_WERT = (RXBUF_UINT(2)); // Electric heating - time during which the function was requested. / E-Heizen - Zeit, während der Funktion // angefordert war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_1_WERT", STAT_T_P_WUNSCH_ID_1_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_2_WERT = (RXBUF_UINT(4)); // Cool-Down - Time during which the function was requested. / Cool-Down - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_2_WERT", STAT_T_P_WUNSCH_ID_2_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_3_WERT = (RXBUF_UINT(6)); // Electric cooling - time during which the function was requested. / E-Kühlen - Zeit, während der Funktion // angefordert war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_3_WERT", STAT_T_P_WUNSCH_ID_3_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_4_WERT = (RXBUF_UINT(8)); // Fogging - time during which the function was requested. / Beschlag - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_4_WERT", STAT_T_P_WUNSCH_ID_4_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_5_WERT = (RXBUF_UINT(10)); // Defrost - Time during which the function was requested. / Defrost - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_5_WERT", STAT_T_P_WUNSCH_ID_5_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_6_WERT = (RXBUF_UINT(12)); // Battery cooling - time during which the function was requested. / Batterie Kühlung - Zeit, während der // Funktion angefordert war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_6_WERT", STAT_T_P_WUNSCH_ID_6_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_7_WERT = (RXBUF_UINT(14)); // Battery cooling urgent - time during which the function was requested. / Batterie Kühlung dringend - Zeit, // während der Funktion angefordert war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_7_WERT", STAT_T_P_WUNSCH_ID_7_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_8_WERT = (RXBUF_UINT(16)); // Battery heating - time during which the function was requested. / Batterieheizung - Zeit, während der Funktion // angefordert war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_8_WERT", STAT_T_P_WUNSCH_ID_8_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_9_WERT = (RXBUF_UINT(18)); // DC / DC converter - time during which the function was requested. / DC/DC-Wandler - Zeit, während der Funktion // angefordert war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_9_WERT", STAT_T_P_WUNSCH_ID_9_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_10_WERT = (RXBUF_UINT(20)); // Drive 1 - Time during which the function was requested. / Antrieb 1 - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_10_WERT", STAT_T_P_WUNSCH_ID_10_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_11_WERT = (RXBUF_UINT(22)); // Drive 2 - Time during which the function was requested. / Antrieb 2 - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_11_WERT", STAT_T_P_WUNSCH_ID_11_WERT, "\"s\""); unsigned short STAT_T_P_WUNSCH_ID_12_WERT = (RXBUF_UINT(24)); // Drive 3 - Time during which the function was requested. / Antrieb 3 - Zeit, während der Funktion angefordert // war. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_WUNSCH_ID_12_WERT", STAT_T_P_WUNSCH_ID_12_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_0_WERT = (RXBUF_UINT(26)); // Heat Up - Time during which the function was not fully enabled, SOC area 1. / Heat Up - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_0_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_0_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_1_WERT = (RXBUF_UINT(28)); // Electric heating - time during which the function was not fully enabled, SOC area 1. / E-Heizen - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_1_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_1_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_2_WERT = (RXBUF_UINT(30)); // Cool-Down - Time during which the function was not fully enabled, SOC area 1. / Cool-Down - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_2_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_2_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_3_WERT = (RXBUF_UINT(32)); // Electric cooling - time during which the function was not fully enabled, SOC area 1. / E-Kühlen - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_3_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_3_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_4_WERT = (RXBUF_UINT(34)); // Fogging - time during which the function was not fully enabled, SOC area 1. / Beschlag - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_4_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_4_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_5_WERT = (RXBUF_UINT(36)); // Defrost - time during which the function was not fully enabled, SOC area 1. / Defrost - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_5_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_5_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_6_WERT = (RXBUF_UINT(38)); // Battery cooling - time during which the function was not fully enabled, SOC area 1. / Batterie Kühlung - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_6_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_6_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_7_WERT = (RXBUF_UINT(40)); // Battery cooling urgent - time during which the function was not fully enabled, SOC area 1. / Batterie Kühlung // dringend - Zeit, während der Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_7_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_7_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_8_WERT = (RXBUF_UINT(42)); // Battery heating - time during which the function was not fully enabled, SOC area 1. / Batterieheizung - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_8_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_8_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_9_WERT = (RXBUF_UINT(44)); // DC / DC converter - time during which the function was not fully enabled, SOC area 1. / DC/DC-Wandler - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_9_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_9_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_10_WERT = (RXBUF_UINT(46)); // Drive 1 - Time during which the function was not fully enabled, SOC area 1. / Antrieb 1 - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_10_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_10_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_11_WERT = (RXBUF_UINT(48)); // Drive 2 - Time during which the function was not fully enabled, SOC area 1. / Antrieb 2 - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_11_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_11_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE1_ID_12_WERT = (RXBUF_UINT(50)); // Drive 3 - Time during which the function was not fully enabled, SOC area 1. / Antrieb 3 - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 1. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE1_ID_12_WERT", STAT_T_P_SOLL_WUNSCH_RANGE1_ID_12_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_0_WERT = (RXBUF_UINT(52)); // Heat Up - Time during which the function was not fully enabled, SOC area 2. / Heat Up - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_0_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_0_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_1_WERT = (RXBUF_UINT(54)); // Electric heating - time during which the function was not fully enabled, SOC area 2. / E-Heizen - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_1_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_1_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_2_WERT = (RXBUF_UINT(56)); // Cool-Down - Time during which the function was not fully enabled, SOC area 2. / Cool-Down - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_2_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_2_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_3_WERT = (RXBUF_UINT(58)); // Electric cooling - time during which the function was not fully enabled, SOC area 2. / E-Kühlen - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_3_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_3_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_4_WERT = (RXBUF_UINT(60)); // Fogging - time during which the function was not fully enabled, SOC area 2. / Beschlag - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_4_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_4_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_5_WERT = (RXBUF_UINT(62)); // Defrost - time during which the function was not fully enabled, SOC area 2. / Defrost - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_5_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_5_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_6_WERT = (RXBUF_UINT(64)); // Battery cooling - time during which the function was not fully enabled, SOC area 2. / Batterie Kühlung - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_6_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_6_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_7_WERT = (RXBUF_UINT(66)); // Battery cooling urgent - time during which the function was not fully enabled, SOC area 2. / Batterie Kühlung // dringend - Zeit, während der Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_7_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_7_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_8_WERT = (RXBUF_UINT(68)); // Battery heating - time during which the function was not fully enabled, SOC area 2. / Batterieheizung - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_8_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_8_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_9_WERT = (RXBUF_UINT(70)); // DC / DC converter - time during which the function was not fully enabled, SOC area 2. / DC/DC-Wandler - Zeit, // während der Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_9_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_9_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_10_WERT = (RXBUF_UINT(72)); // Drive 1 - Time during which the function was not fully enabled, SOC area 2. / Antrieb 1 - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_10_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_10_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_11_WERT = (RXBUF_UINT(74)); // Drive 2 - Time during which the function was not fully enabled, SOC area 2. / Antrieb 2 - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_11_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_11_WERT, "\"s\""); unsigned short STAT_T_P_SOLL_WUNSCH_RANGE2_ID_12_WERT = (RXBUF_UINT(76)); // Drive 3 - Time during which the function was not fully enabled, SOC area 2. / Antrieb 3 - Zeit, während der // Funktion nicht vollständig freigegeben war, SOC-Bereich 2. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_T_P_SOLL_WUNSCH_RANGE2_ID_12_WERT", STAT_T_P_SOLL_WUNSCH_RANGE2_ID_12_WERT, "\"s\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_0_WERT = (RXBUF_UINT(78)); // Average DCDC power 1st - 3rd minute / Mittlere DCDC-Leistung 1.- 3. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_0_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_0_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_1_WERT = (RXBUF_UINT(80)); // Average DCDC power 4th - 6th minute / Mittlere DCDC-Leistung 4. - 6. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_1_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_1_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_2_WERT = (RXBUF_UINT(82)); // Average DCDC power 7th - 9th minute / Mittlere DCDC-Leistung 7. - 9. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_2_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_2_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_3_WERT = (RXBUF_UINT(84)); // Average DCDC power 10th - 12th minute / Mittlere DCDC-Leistung 10. - 12. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_3_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_3_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_4_WERT = (RXBUF_UINT(86)); // Average DCDC power 13th - 15th minute / Mittlere DCDC-Leistung 13. - 15. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_4_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_4_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_5_WERT = (RXBUF_UINT(88)); // Average DCDC power 16th - 18th minutes / Mittlere DCDC-Leistung 16. - 18. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_5_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_5_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_6_WERT = (RXBUF_UINT(90)); // Average DCDC power 19th - 21st minute / Mittlere DCDC-Leistung 19. - 21. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_6_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_6_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_7_WERT = (RXBUF_UINT(92)); // Average DCDC power 22nd - 24th minute / Mittlere DCDC-Leistung 22. - 24. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_7_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_7_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_8_WERT = (RXBUF_UINT(94)); // Average DCDC power 25th - 27th minute / Mittlere DCDC-Leistung 25. - 27. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_8_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_8_WERT, "\"W\""); unsigned short STAT_P_HVPM_DCDC_MITTEL_30MIN_9_WERT = (RXBUF_UINT(96)); // Average DCDC power 28th - 30th minute / Mittlere DCDC-Leistung 28. - 30. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_DCDC_MITTEL_30MIN_9_WERT", STAT_P_HVPM_DCDC_MITTEL_30MIN_9_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_0_WERT = (RXBUF_UINT(98)); // Average power comfort consumer 1st - 3rd minute / Mittlere Leistung Komfortverbraucher 1. - 3. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_0_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_0_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_1_WERT = (RXBUF_UINT(100)); // Average power comfort consumer 4th - 6th minute / Mittlere Leistung Komfortverbraucher 4. - 6. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_1_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_1_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_2_WERT = (RXBUF_UINT(102)); // Average power comfort consumer 7th - 9th minute / Mittlere Leistung Komfortverbraucher 7. - 9. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_2_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_2_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_3_WERT = (RXBUF_UINT(104)); // Average power comfort consumer 10th - 12th minute / Mittlere Leistung Komfortverbraucher 10. - 12. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_3_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_3_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_4_WERT = (RXBUF_UINT(106)); // Average power comfort consumer 13th - 15th minute / Mittlere Leistung Komfortverbraucher 13. - 15. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_4_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_4_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_5_WERT = (RXBUF_UINT(108)); // Average power comfort consumer 16th - 18th minute / Mittlere Leistung Komfortverbraucher 16. - 18. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_5_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_5_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_6_WERT = (RXBUF_UINT(110)); // Average power comfort consumer 19th - 21st minute / Mittlere Leistung Komfortverbraucher 19. - 21. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_6_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_6_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_7_WERT = (RXBUF_UINT(112)); // Average power comfort consumer 22nd - 24th minute / Mittlere Leistung Komfortverbraucher 22. - 24. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_7_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_7_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_8_WERT = (RXBUF_UINT(114)); // Average power comfort consumer 25th - 27th minute / Mittlere Leistung Komfortverbraucher 25. - 27. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_8_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_8_WERT, "\"W\""); unsigned short STAT_P_HVPM_KOMFORT_MITTEL_30MIN_9_WERT = (RXBUF_UINT(116)); // Average power comfort consumer 28th - 30th minute / Mittlere Leistung Komfortverbraucher 28. - 30. Minute ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EME_HVPM_PKOR", "STAT_P_HVPM_KOMFORT_MITTEL_30MIN_9_WERT", STAT_P_HVPM_KOMFORT_MITTEL_30MIN_9_WERT, "\"W\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_HVIL_GESAMT: { // 0xDE0C if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_HVIL_GESAMT", 1); break; } unsigned char STAT_HVIL_GESAMT_NR = (RXBUF_UCHAR(0)); // Reading out the HVIL status in the EME; if HVIL is interrupted, then not ok / Auslesen des HVIL-Zustandes in // der EME; falls HVIL unterbrochen, dann n.i.O. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_HVIL_GESAMT", "STAT_HVIL_GESAMT_NR", STAT_HVIL_GESAMT_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_ANSTEUERUNG_ELUP: { // 0xDE0E if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_ANSTEUERUNG_ELUP", 1); break; } unsigned char STAT_ANST_ELUP_ON = (RXBUF_UCHAR(0)); // Current switching status ELUP (0 - off; 1 - on) / Aktueller Schaltzustand ELUP (0 - Aus; 1 - Ein) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "EME_ANSTEUERUNG_ELUP", "STAT_ANST_ELUP_ON", STAT_ANST_ELUP_ON, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EME_HVPM_DCDC_ALS: { // 0xDE1C if (datalen < 16) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EME_HVPM_DCDC_ALS", 16); break; } float STAT_NV_DCDC_ALS_HIST_BEREICH_NULL_WERT = (RXBUF_UINT32(0)*0.1f); // Time average DCDC current in buck mode on the LV side in range 0 / Zeit durchschnittlicher DCDC Strom im // Buckmode LV-seitig in Bereich 0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ALS", "STAT_NV_DCDC_ALS_HIST_BEREICH_NULL_WERT", STAT_NV_DCDC_ALS_HIST_BEREICH_NULL_WERT, "\"s\""); float STAT_NV_DCDC_ALS_HIST_BEREICH_1_WERT = (RXBUF_UINT32(4)*0.1f); // Time average DCDC current in buck mode on the LV side in area 1 / Zeit durchschnittlicher DCDC Strom im // Buckmode LV-seitig in Bereich 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ALS", "STAT_NV_DCDC_ALS_HIST_BEREICH_1_WERT", STAT_NV_DCDC_ALS_HIST_BEREICH_1_WERT, "\"s\""); float STAT_NV_DCDC_ALS_HIST_BEREICH_2_WERT = (RXBUF_UINT32(8)*0.1f); // Time average DCDC current in buck mode on the LV side in area 2 / Zeit durchschnittlicher DCDC Strom im // Buckmode LV-seitig in Bereich 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ALS", "STAT_NV_DCDC_ALS_HIST_BEREICH_2_WERT", STAT_NV_DCDC_ALS_HIST_BEREICH_2_WERT, "\"s\""); float STAT_NV_DCDC_ALS_HIST_BEREICH_3_WERT = (RXBUF_UINT32(12)*0.1f); // Time average DCDC current in buck mode on the LV side in area 3 / Zeit durchschnittlicher DCDC Strom im // Buckmode LV-seitig in Bereich 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "EME_HVPM_DCDC_ALS", "STAT_NV_DCDC_ALS_HIST_BEREICH_3_WERT", STAT_NV_DCDC_ALS_HIST_BEREICH_3_WERT, "\"s\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_CPLD_VERSION: { // 0xDE2D if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_CPLD_VERSION", 1); break; } unsigned char STAT_CPLD_VERSION_WERT = (RXBUF_UCHAR(0)); // CPLD version / CPLD-Version ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_CPLD_VERSION", "STAT_CPLD_VERSION_WERT", STAT_CPLD_VERSION_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SYSTEMLEISTUNG_INV_EM: { // 0xDE39 if (datalen < 54) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SYSTEMLEISTUNG_INV_EM", 54); break; } unsigned short BF_STAT_ST_ERR_MOT_TRCT = (RXBUF_UINT(0)); // Error status EM / Fehler Status EM // BF_STAT_ST_ERR_MOT_TRCT is a BITFIELD of size unsigned int. We don't yet generate definitions for each bit, we treat as the host data type // STAT_ST_ERR_MOT_TRCT_BIT0: Mask: 0x0001 - Error-related AKS // STAT_ST_ERR_MOT_TRCT_BIT1: Mask: 0x0002 - Error-related freewheel // STAT_ST_ERR_MOT_TRCT_BIT2: Mask: 0x0004 - Limited torque (0% - 25% or 50% Md_max) // STAT_ST_ERR_MOT_TRCT_BIT3: Mask: 0x0008 - Limited torque (25% Md_max) // STAT_ST_ERR_MOT_TRCT_BIT4: Mask: 0x0010 - Limited torque (50% Md_max) // STAT_ST_ERR_MOT_TRCT_BIT5: Mask: 0x0020 - Torque deviation EM // STAT_ST_ERR_MOT_TRCT_BIT6: Mask: 0x0040 - Temperature error EM // STAT_ST_ERR_MOT_TRCT_BIT7: Mask: 0x0080 - Interlock / crash clamp / emergency stop // STAT_ST_ERR_MOT_TRCT_BIT8: Mask: 0x0100 - AC power error // STAT_ST_ERR_MOT_TRCT_BIT9: Mask: 0x0200 - Resolver failure // STAT_ST_ERR_MOT_TRCT_BIT10: Mask: 0x0400 - CAN signal failure // STAT_ST_ERR_MOT_TRCT_BIT11: Mask: 0x0800 - Loss of signal for internal measured variables // STAT_ST_ERR_MOT_TRCT_BIT12: Mask: 0x1000 - EWS error // STAT_ST_ERR_MOT_TRCT_BIT13: Mask: 0x2000 - Hardware-related error LE // STAT_ST_ERR_MOT_TRCT_BIT14: Mask: 0x4000 - Temperature error LE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_ST_ERR_MOT_TRCT", (unsigned long)BF_STAT_ST_ERR_MOT_TRCT, "\"Bit\""); unsigned char STAT_AVL_TEMP_MOT_TRCT_WERT = (RXBUF_UCHAR(2)-48.0); // NTC temperature EM calculated / NTC Temperatur EM gerechnet ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_AVL_TEMP_MOT_TRCT_WERT", STAT_AVL_TEMP_MOT_TRCT_WERT, "\"°C\""); short STAT_T_EM2TMODROT_WERT = (RXBUF_SINT(3)); // Rotor temperature calculated / Rotor Temperatur gerechnet ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_T_EM2TMODROT_WERT", STAT_T_EM2TMODROT_WERT, "\"°C\""); unsigned char STAT_AVL_COL_TEMP_ENGMG_EL_WERT = (RXBUF_UCHAR(5)-48.0); // Coolant temperature input calculated / Kühlmittel Temperatur Eingang gerechnet ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_AVL_COL_TEMP_ENGMG_EL_WERT", STAT_AVL_COL_TEMP_ENGMG_EL_WERT, "\"°C\""); char STAT_TMOD_V_T_LE2_COOLANT_EXIT_EST_WERT = (RXBUF_SCHAR(6)); // Coolant temperature output calculated / Kühlmittel Temperatur Ausgang gerechnet ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_TMOD_V_T_LE2_COOLANT_EXIT_EST_WERT", STAT_TMOD_V_T_LE2_COOLANT_EXIT_EST_WERT, "\"°C\""); unsigned char STAT_AVL_TEMP_INVE_IGBT_MAX_WERT = (RXBUF_UCHAR(7)); // Temperature diode / Temperatur Diode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_AVL_TEMP_INVE_IGBT_MAX_WERT", STAT_AVL_TEMP_INVE_IGBT_MAX_WERT, "\"°C\""); unsigned short BF_STAT_ST_INFO_DER_MOT_TRCT = (RXBUF_UINT(8)); // Information status EM / Informationen Status EM // BF_STAT_ST_INFO_DER_MOT_TRCT is a BITFIELD of size unsigned int. We don't yet generate definitions for each bit, we treat as the host data type // STAT_ST_INFO_DER_MOT_TRCT_BIT0: Mask: 0x0001 - Derating torque due to HV-DC voltage limit (motor operation) // STAT_ST_INFO_DER_MOT_TRCT_BIT1: Mask: 0x0002 - Derating torque due to HV-DC voltage limit (generator operation) // STAT_ST_INFO_DER_MOT_TRCT_BIT2: Mask: 0x0004 - Derating torque due to speed (motorized operation) // STAT_ST_INFO_DER_MOT_TRCT_BIT3: Mask: 0x0008 - Derating torque due to speed (generator operation) // STAT_ST_INFO_DER_MOT_TRCT_BIT4: Mask: 0x0010 - Derating torque due to HV-DC current limit (motor operation) // STAT_ST_INFO_DER_MOT_TRCT_BIT5: Mask: 0x0020 - Derating torque due to HV-DC current limit (generator operation) // STAT_ST_INFO_DER_MOT_TRCT_BIT6: Mask: 0x0040 - Derating torque due to temperature EM // STAT_ST_INFO_DER_MOT_TRCT_BIT7: Mask: 0x0080 - Info: Motor AC current limit reached // STAT_ST_INFO_DER_MOT_TRCT_BIT8: Mask: 0x0100 - Info: Regenerative AC current limit reached // STAT_ST_INFO_DER_MOT_TRCT_BIT9: Mask: 0x0200 - Info: Resolver offset not taught // STAT_ST_INFO_DER_MOT_TRCT_BIT10: Mask: 0x0400 - Info: Field control active // STAT_ST_INFO_DER_MOT_TRCT_BIT11: Mask: 0x0800 - Info: Critical temperature at the end of the coil // STAT_ST_INFO_DER_MOT_TRCT_BIT12: Mask: 0x1000 - Info: Critical temperature rotor // STAT_ST_INFO_DER_MOT_TRCT_BIT13: Mask: 0x2000 - reserved // STAT_ST_INFO_DER_MOT_TRCT_BIT14: Mask: 0x4000 - reserved ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_ST_INFO_DER_MOT_TRCT", (unsigned long)BF_STAT_ST_INFO_DER_MOT_TRCT, "\"Bit\""); unsigned short BF_STAT_ST_INFO_DER_INVE_TRCT = (RXBUF_UINT(10)); // Information status inverter / Informationen Status Inverter // BF_STAT_ST_INFO_DER_INVE_TRCT is a BITFIELD of size unsigned int. We don't yet generate definitions for each bit, we treat as the host data type // STAT_ST_INFO_DER_INVE_TRCT_BIT0: Mask: 0x0001 - Derating due to overtemperature IGBT / diode // STAT_ST_INFO_DER_INVE_TRCT_BIT1: Mask: 0x0002 - Derating due to temperature spread between NTC and IGBT / diode // STAT_ST_INFO_DER_INVE_TRCT_BIT2: Mask: 0x0004 - Derating due to overtemperature NTC // STAT_ST_INFO_DER_INVE_TRCT_BIT3: Mask: 0x0008 - Derating due to overtemperature coolant // STAT_ST_INFO_DER_INVE_TRCT_BIT4: Mask: 0x0010 - Derating due to switching overvoltage due to U_DC level // STAT_ST_INFO_DER_INVE_TRCT_BIT5: Mask: 0x0020 - Derating due to speed range // STAT_ST_INFO_DER_INVE_TRCT_BIT6: Mask: 0x0040 - Derating due to insufficient coolant flow // STAT_ST_INFO_DER_INVE_TRCT_BIT7: Mask: 0x0080 - Derating due to excessive gate driver temperature // STAT_ST_INFO_DER_INVE_TRCT_BIT8: Mask: 0x0100 - Info: Short circuit UVW Highside // STAT_ST_INFO_DER_INVE_TRCT_BIT9: Mask: 0x0200 - Info: Short circuit UVW Lowside // STAT_ST_INFO_DER_INVE_TRCT_BIT10: Mask: 0x0400 - Info: UVW switch open // STAT_ST_INFO_DER_INVE_TRCT_BIT11: Mask: 0x0800 - Info: controller active // STAT_ST_INFO_DER_INVE_TRCT_BIT12: Mask: 0x1000 - Info: Id controller in anti-windup // STAT_ST_INFO_DER_INVE_TRCT_BIT13: Mask: 0x2000 - Info: Iq controller in anti-windup // STAT_ST_INFO_DER_INVE_TRCT_BIT14: Mask: 0x4000 - reserved ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_ST_INFO_DER_INVE_TRCT", (unsigned long)BF_STAT_ST_INFO_DER_INVE_TRCT, "\"Bit\""); unsigned long BF_STAT_V_E_EM2POMERROR50US = (RXBUF_UINT32(12)); // Status POM / Status POM // BF_STAT_V_E_EM2POMERROR50US is a BITFIELD of size unsigned long. We don't yet generate definitions for each bit, we treat as the host data type // STAT_V_E_EM2POMERROR50US_BIT0: Mask: 0x00000001 - Violation of max phase current // STAT_V_E_EM2POMERROR50US_BIT1: Mask: 0x00000002 - Total current error AC // STAT_V_E_EM2POMERROR50US_BIT2: Mask: 0x00000004 - Injury to Max Idc // STAT_V_E_EM2POMERROR50US_BIT3: Mask: 0x00000008 - Violation of the positive Id current criterion // STAT_V_E_EM2POMERROR50US_BIT4: Mask: 0x00000010 - Error in plausibility check of the resolver angle // STAT_V_E_EM2POMERROR50US_BIT5: Mask: 0x00000020 - Angle observer limit violation of angle time error // STAT_V_E_EM2POMERROR50US_BIT6: Mask: 0x00000040 - Angle observer, angle error, absolute difference monitoring ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_V_E_EM2POMERROR50US", (unsigned long)BF_STAT_V_E_EM2POMERROR50US, "\"Bit\""); unsigned long BF_STAT_V_E_FUSILDUWB_MC2_UE2 = (RXBUF_UINT32(16)); // FuSi Umweltwort MC2 / FuSi Umweltwort MC2 // BF_STAT_V_E_FUSILDUWB_MC2_UE2 is a BITFIELD of size unsigned long. We don't yet generate definitions for each bit, we treat as the host data type // STAT_V_E_FUSILDUWB_MC2_UE2_BIT0: Mask: 0x00000001 - reserved // STAT_V_E_FUSILDUWB_MC2_UE2_BIT1: Mask: 0x00000002 - Error target current calculation EM control // STAT_V_E_FUSILDUWB_MC2_UE2_BIT2: Mask: 0x00000004 - Current sensor error // STAT_V_E_FUSILDUWB_MC2_UE2_BIT3: Mask: 0x00000008 - Group error qualifier // STAT_V_E_FUSILDUWB_MC2_UE2_BIT4: Mask: 0x00000010 - Single error qualifier ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_V_E_FUSILDUWB_MC2_UE2", (unsigned long)BF_STAT_V_E_FUSILDUWB_MC2_UE2, "\"Bit\""); unsigned long BF_STAT_V_E_FUSILDUWB = (RXBUF_UINT32(20)); // FuSi Umweltwort MC0 / FuSi Umweltwort MC0 // BF_STAT_V_E_FUSILDUWB is a BITFIELD of size unsigned long. We don't yet generate definitions for each bit, we treat as the host data type // STAT_V_E_FUSILDUWB_BIT0: Mask: 0x00000001 - MGU: Static braking torque limit // STAT_V_E_FUSILDUWB_BIT1: Mask: 0x00000002 - MGU: torque direction // STAT_V_E_FUSILDUWB_BIT2: Mask: 0x00000004 - MGU: Upper torque limit // STAT_V_E_FUSILDUWB_BIT3: Mask: 0x00000008 - MGU: Lower torque limit // STAT_V_E_FUSILDUWB_BIT4: Mask: 0x00000010 - MGU: Invalid quadrant // STAT_V_E_FUSILDUWB_BIT5: Mask: 0x00000020 - MGU: violation of safe state // STAT_V_E_FUSILDUWB_BIT6: Mask: 0x00000040 - PGU: angle error (resolver vs. low-level) // STAT_V_E_FUSILDUWB_BIT7: Mask: 0x00000080 - PGU: angle error (low-level signal) // STAT_V_E_FUSILDUWB_BIT8: Mask: 0x00000100 - PGU: speed error (resolver vs. MC2) // STAT_V_E_FUSILDUWB_BIT9: Mask: 0x00000200 - PGU: speed error (MC2 vs low-level) // STAT_V_E_FUSILDUWB_BIT10: Mask: 0x00000400 - PGU: Dynamic speed error // STAT_V_E_FUSILDUWB_BIT11: Mask: 0x00000800 - CPL: Current error (current value MC0 vs. MC2) // STAT_V_E_FUSILDUWB_BIT12: Mask: 0x00001000 - CPL: Current error (values MC2 nominal vs. current) // STAT_V_E_FUSILDUWB_BIT13: Mask: 0x00002000 - MCU: Error reference current calculation (abs.) // STAT_V_E_FUSILDUWB_BIT14: Mask: 0x00004000 - MCU: Error reference current calculation (sign) // STAT_V_E_FUSILDUWB_BIT15: Mask: 0x00008000 - PMB: Torque limit violation // STAT_V_E_FUSILDUWB_BIT16: Mask: 0x00010000 - Collective qualifier // STAT_V_E_FUSILDUWB_BIT17: Mask: 0x00020000 - Resolver communication disturbed (DIO) // STAT_V_E_FUSILDUWB_BIT18: Mask: 0x00040000 - internal communication disturbed // STAT_V_E_FUSILDUWB_BIT19: Mask: 0x00080000 - internal communication disturbed // STAT_V_E_FUSILDUWB_BIT20: Mask: 0x00100000 - Communication disturbed (CAN / Flexray) // STAT_V_E_FUSILDUWB_BIT21: Mask: 0x00200000 - internal communication disturbed // STAT_V_E_FUSILDUWB_BIT22: Mask: 0x00400000 - other communication errors // STAT_V_E_FUSILDUWB_BIT23: Mask: 0x00800000 - other communication errors ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_V_E_FUSILDUWB", (unsigned long)BF_STAT_V_E_FUSILDUWB, "\"Bit\""); unsigned char STAT_V_E_EMOPMO_IST = (RXBUF_UCHAR(24)); // Current operating mode / Aktuelle Betriebsart ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_E_EMOPMO_IST", STAT_V_E_EMOPMO_IST, "\"0-n\""); unsigned char STAT_V_E_BAMSTATUS = (RXBUF_UCHAR(25)); // Internal operating mode / Interne Betriebsart ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_E_BAMSTATUS", STAT_V_E_BAMSTATUS, "\"0-n\""); unsigned short STAT_V_LIM_TQP_MD_EM2_GEN_MAX_WERT = (RXBUF_UINT(26)); // Maximum regenerative moment that the LE + EM system could provide for the next second / Maximales // generatorisches Moment, welches das System aus LE + EM für die naechste Sekunde stellen koennte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_LIM_TQP_MD_EM2_GEN_MAX_WERT", STAT_V_LIM_TQP_MD_EM2_GEN_MAX_WERT, "\"Nm\""); unsigned short STAT_V_LIM_TQP_MD_EM2_MOT_MAX_WERT = (RXBUF_UINT(28)); // Maximum motor moment that the system of LE + EM could provide for the next second / Maximales motorisches // Moment, welches das System aus LE + EM für die naechste Sekunde stellen koennte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_LIM_TQP_MD_EM2_MOT_MAX_WERT", STAT_V_LIM_TQP_MD_EM2_MOT_MAX_WERT, "\"Nm\""); short STAT_V_U_INVEM2_UQ_WERT = (RXBUF_SINT(30)); // Q voltage / Q Spannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_U_INVEM2_UQ_WERT", STAT_V_U_INVEM2_UQ_WERT, "\"V\""); short STAT_V_U_INVEM2_UD_WERT = (RXBUF_SINT(32)); // D tension / D Spannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_U_INVEM2_UD_WERT", STAT_V_U_INVEM2_UD_WERT, "\"V\""); short STAT_V_I_INVEM2_IQ_WERT = (RXBUF_SINT(34)); // Q current / Q Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_I_INVEM2_IQ_WERT", STAT_V_I_INVEM2_IQ_WERT, "\"A\""); short STAT_V_I_INVEM2_ID_WERT = (RXBUF_SINT(36)); // D current / D Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_I_INVEM2_ID_WERT", STAT_V_I_INVEM2_ID_WERT, "\"A\""); unsigned char STAT_V_N_RSLV_STATUS = (RXBUF_UCHAR(38)); // Status word resolver signal speed / Statuswort Resolver Signal Drehzahl ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_N_RSLV_STATUS", STAT_V_N_RSLV_STATUS, "\"0-n\""); unsigned char STAT_V_PHI_RSLV_STATUS = (RXBUF_UCHAR(39)); // Status word resolver signal angle / Satuswort Resolver Signal Winkel ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_PHI_RSLV_STATUS", STAT_V_PHI_RSLV_STATUS, "\"0-n\""); float STAT_TAR_TORQ_MOT_TRCT_ASD_WERT = (RXBUF_SINT(40)*0.1f); // ADA moment / ADA Moment ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_TAR_TORQ_MOT_TRCT_ASD_WERT", STAT_TAR_TORQ_MOT_TRCT_ASD_WERT, "\"Nm\""); float STAT_TAR_TORQ_MOT_TRCT_WERT = (RXBUF_UINT(42)*0.5f-1023.5); // Torque FuSi / Drehmoment FuSi ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_TAR_TORQ_MOT_TRCT_WERT", STAT_TAR_TORQ_MOT_TRCT_WERT, "\"Nm\""); short STAT_V_N_EMMECHSLOW_UE2_WERT = (RXBUF_SINT(44)); // Speed Fusi / Drehzahl Fusi ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_N_EMMECHSLOW_UE2_WERT", STAT_V_N_EMMECHSLOW_UE2_WERT, "\"1/min\""); unsigned char STAT_V_E_RLSFUSI_ACVREQ = (RXBUF_UCHAR(46)); // Resolver offset Fusi / Resolveroffset Fusi ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_E_RLSFUSI_ACVREQ", STAT_V_E_RLSFUSI_ACVREQ, "\"0-n\""); unsigned char BF_STAT_V_ST_RLS_FUSI_MC0 = (RXBUF_UCHAR(47)); // Status resolverdiag for Fusi / Status Resolverdiag für Fusi // BF_STAT_V_ST_RLS_FUSI_MC0 is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_V_ST_RLS_FUSI_MC0_BIT0: Mask: 0x01 - Resolver not OK ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "BF_STAT_V_ST_RLS_FUSI_MC0", (unsigned long)BF_STAT_V_ST_RLS_FUSI_MC0, "\"Bit\""); short STAT_V_I_INV1_U_RMS_WERT = (RXBUF_SINT(48)); // RMS phase current U / RMS Phasenstrom U ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_I_INV1_U_RMS_WERT", STAT_V_I_INV1_U_RMS_WERT, "\"A\""); short STAT_V_I_INV1_V_RMS_WERT = (RXBUF_SINT(50)); // RMS phase current V / RMS Phasenstrom V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_I_INV1_V_RMS_WERT", STAT_V_I_INV1_V_RMS_WERT, "\"A\""); short STAT_V_I_INV1_W_RMS_WERT = (RXBUF_SINT(52)); // RMS phase current W / RMS Phasenstrom W ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "AE_SYSTEMLEISTUNG_INV_EM", "STAT_V_I_INV1_W_RMS_WERT", STAT_V_I_INV1_W_RMS_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_LSC_LADEN_2: { // 0xDE6E if (datalen < 58) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_LSC_LADEN_2", 58); break; } unsigned char STAT_LADEMODUS = (RXBUF_UCHAR(0)); // Selection of conductive / inductive / Auswahl Konduktiv / Induktiv ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEMODUS", STAT_LADEMODUS, "\"0-n\""); unsigned char STAT_POSITIONIERUNG = (RXBUF_UCHAR(1)); // Positioning status / Postionierungsstatus ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POSITIONIERUNG", STAT_POSITIONIERUNG, "\"0-n\""); unsigned short BF_LADEUNTERBRECHUNG = (RXBUF_UINT(2)); // Reason charging interruption / Grund Ladeunterbrechung // BF_LADEUNTERBRECHUNG is a BITFIELD of size unsigned int. We don't yet generate definitions for each bit, we treat as the host data type // STAT_LADEUNTERBRECHUNG_2: Mask: 0x0002 - AC_Sspannung_mehlt_oder_Netzverbindungen_instabil 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_3: Mask: 0x0004 - Ueberstrom_AC 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_5: Mask: 0x0010 - Overvoltage_DC 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_4: Mask: 0x0008 - Undervoltage_DC 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_8: Mask: 0x0080 - Communication_interrupted 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_7: Mask: 0x0040 - Living_Object_recognized_LOD 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_1: Mask: 0x0001 - Thermal_overload 0 = not active 1 = active // STAT_LADEUNTERBRECHUNG_6: Mask: 0x0020 - Ueberstrom_DC 0 = not active 1 = active ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_LSC_LADEN_2", "BF_LADEUNTERBRECHUNG", (unsigned long)BF_LADEUNTERBRECHUNG, "\"Bit\""); float STAT_HVB_SOC_DISP_WERT = (RXBUF_UCHAR(4)*0.5f); // Display SOC of the HV battery / Display-SOC der HV-Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_HVB_SOC_DISP_WERT", STAT_HVB_SOC_DISP_WERT, "\"%\""); unsigned char BF_STATUS_LSC_AUSWAHL_LADEN_MODUS = (RXBUF_UCHAR(5)); // Setting charging mode charging departure time / Einstellung Lademodus Laden Abfahrtszeit // BF_STATUS_LSC_AUSWAHL_LADEN_MODUS is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type // STAT_LSC_AUSWAHL_LADEN_MODUS_BIT0: Mask: 0x01 - 0 = loading on departure time active; 1 = Always_Simply_Loading // STAT_LSC_AUSWAHL_LADEN_MODUS_BIT2: Mask: 0x04 - 0 = intelligent charging inactive; 1 = intelligent charging active, if charging mode_auf_abfahrtzeit active; otherwise only preselected in HMI // STAT_LSC_AUSWAHL_LADEN_MODUS_BIT1: Mask: 0x02 - 0 = inexpensive charging inactive; 1 = Inexpensive loading active (if loading_on_departure time active; otherwise only preselected in HMI) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_LSC_LADEN_2", "BF_STATUS_LSC_AUSWAHL_LADEN_MODUS", (unsigned long)BF_STATUS_LSC_AUSWAHL_LADEN_MODUS, "\"Bit\""); unsigned char STAT_LSC_PROGNOSEMODE = (RXBUF_UCHAR(6)); // current forecast mode LSC / aktueller Prognosemodus LSC ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LSC_PROGNOSEMODE", STAT_LSC_PROGNOSEMODE, "\"0-n\""); unsigned char STAT_LSC_VERSION = (RXBUF_UCHAR(7)); // current LSC version / aktuelle LSC version ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LSC_VERSION", STAT_LSC_VERSION, "\"0-n\""); unsigned char STAT_AKT_PHASE_COUNT_AC_CHARGING = (RXBUF_UCHAR(8)); // Phasing of the store / Phasigkeit des Ladens ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_AKT_PHASE_COUNT_AC_CHARGING", STAT_AKT_PHASE_COUNT_AC_CHARGING, "\"0-n\""); unsigned short STAT_HV_BATTERY_SIZE_WERT = (RXBUF_UINT(9)); // Maximum memory size / Maximale Speichergröße ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_LSC_LADEN_2", "STAT_HV_BATTERY_SIZE_WERT", STAT_HV_BATTERY_SIZE_WERT, ""); float STAT_ENERGIEDELTA_VOLL_WERT = (RXBUF_UINT(11)*0.02f); // Energy required to fully charge / Zum Volladen benötigte Energie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_ENERGIEDELTA_VOLL_WERT", STAT_ENERGIEDELTA_VOLL_WERT, "\"kWh\""); unsigned char STAT_LADEENDE_URSACHE = (RXBUF_UCHAR(13)); // Cause of charging end (charging history) / Ursache Ladeende (Ladehistorie) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEENDE_URSACHE", STAT_LADEENDE_URSACHE, "\"0-n\""); unsigned char STAT_LADEVERFAHREN_NR = (RXBUF_UCHAR(14)); // Type of charge type / Art des Ladetyps ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEVERFAHREN_NR", STAT_LADEVERFAHREN_NR, "\"0-n\""); unsigned char STAT_LADESTATUS_NR = (RXBUF_UCHAR(15)); // Type of charge status / Art des Ladestatus ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADESTATUS_NR", STAT_LADESTATUS_NR, "\"0-n\""); unsigned char STAT_BEGINN_FENSTER_STD_WERT = (RXBUF_UCHAR(16)); // Only with AC charging: Start of the favorable charging window (hours) / Nur bei AC-Laden: Beginn des günstigen // Ladefensters (Stunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_BEGINN_FENSTER_STD_WERT", STAT_BEGINN_FENSTER_STD_WERT, "\"h\""); unsigned char STAT_BEGINN_FENSTER_MIN_WERT = (RXBUF_UCHAR(17)); // Only with AC charging: Start of the favorable charging window (minutes) / Nur bei AC-Laden: Beginn des // günstigen Ladefensters (Minuten) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_BEGINN_FENSTER_MIN_WERT", STAT_BEGINN_FENSTER_MIN_WERT, "\"min\""); unsigned char STAT_ENDE_FENSTER_STD_WERT = (RXBUF_UCHAR(18)); // Only with AC charging: End of the favorable charging window (hours) / Nur bei AC-Laden: Ende des günstigen // Ladefensters (Stunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_ENDE_FENSTER_STD_WERT", STAT_ENDE_FENSTER_STD_WERT, "\"h\""); unsigned char STAT_ENDE_FENSTER_MIN_WERT = (RXBUF_UCHAR(19)); // Only with AC charging: End of the favorable charging window (minutes) / Nur bei AC-Laden: Ende des günstigen // Ladefensters (Minuten) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_ENDE_FENSTER_MIN_WERT", STAT_ENDE_FENSTER_MIN_WERT, "\"min\""); unsigned char STAT_LADEFENSTER1_AUSWAHL_NR = (RXBUF_UCHAR(20)); // Only with AC charging, two-time alarm clock: selection of the favorable charging window / Nur bei AC-Laden, // Zwei Zeit Wecker: Auswahl des günstigen Ladefensters ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEFENSTER1_AUSWAHL_NR", STAT_LADEFENSTER1_AUSWAHL_NR, "\"0-n\""); unsigned char STAT_LADEFENSTER2_AUSWAHL_NR = (RXBUF_UCHAR(21)); // Only with AC charging, two-time alarm clock: selection of the favorable charging window / Nur bei AC-Laden, // Zwei Zeit Wecker: Auswahl des günstigen Ladefensters ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEFENSTER2_AUSWAHL_NR", STAT_LADEFENSTER2_AUSWAHL_NR, "\"0-n\""); unsigned char STAT_FAKTOR_STROMBEGRENZUNG_NR = (RXBUF_UCHAR(22)); // Only with AC charging: Acknowledgment of the current limitation / Nur bei AC-Laden: Rückmeldung der // Strombegrenzung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_FAKTOR_STROMBEGRENZUNG_NR", STAT_FAKTOR_STROMBEGRENZUNG_NR, "\"0-n\""); unsigned char STAT_STROMBEGRENZUNG_AUSWAHL_NR = (RXBUF_UCHAR(23)); // Acknowledgment of the AC current limitation selection: Only with AC charging / Rückmeldung der AC- // Strombegrenzungauswahl: Nur bei AC-Laden ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_STROMBEGRENZUNG_AUSWAHL_NR", STAT_STROMBEGRENZUNG_AUSWAHL_NR, "\"0-n\""); float STAT_POLY_TIM_1_WERT = (RXBUF_UCHAR(24)*0.01f); // Feedback from the SOC support points: time (standardized) of the first support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des ersten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_TIM_1_WERT", STAT_POLY_TIM_1_WERT, ""); float STAT_POLY_SOC_1_WERT = (RXBUF_UINT(25)*0.01f); // Feedback from the SOC support points: SOC of the first support point / Rückmeldung der SOC Unterstützpunkte: // SOC des ersten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_SOC_1_WERT", STAT_POLY_SOC_1_WERT, "\"%\""); float STAT_POLY_TIM_2_WERT = (RXBUF_UCHAR(27)*0.01f); // Feedback from the SOC support points: time (normalized) of the second support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des zweiten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_TIM_2_WERT", STAT_POLY_TIM_2_WERT, ""); float STAT_POLY_SOC_2_WERT = (RXBUF_UINT(28)*0.01f); // Feedback from the SOC support points: SOC of the second support point / Rückmeldung der SOC Unterstützpunkte: // SOC des zweiten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_SOC_2_WERT", STAT_POLY_SOC_2_WERT, "\"%\""); float STAT_POLY_TIM_3_WERT = (RXBUF_UCHAR(30)*0.01f); // Feedback from the SOC support points: time (standardized) of the third support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des dritten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_TIM_3_WERT", STAT_POLY_TIM_3_WERT, ""); float STAT_POLY_SOC_3_WERT = (RXBUF_UINT(31)*0.01f); // Feedback from the SOC support points: SOC of the third support point / Rückmeldung der SOC Unterstützpunkte: // SOC des dritten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_SOC_3_WERT", STAT_POLY_SOC_3_WERT, "\"%\""); float STAT_POLY_TIM_4_WERT = (RXBUF_UCHAR(33)*0.01f); // Feedback from the SOC support points: time (standardized) of the fourth support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des vierten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_TIM_4_WERT", STAT_POLY_TIM_4_WERT, ""); float STAT_POLY_SOC_4_WERT = (RXBUF_UINT(34)*0.01f); // Feedback from the SOC support points: SOC of the fifth support point / Rückmeldung der SOC Unterstützpunkte: // SOC des fünften Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_SOC_4_WERT", STAT_POLY_SOC_4_WERT, "\"%\""); float STAT_POLY_TIM_5_WERT = (RXBUF_UCHAR(36)*0.01f); // Feedback from the SOC support points: time (standardized) of the fifth support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des fünften Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_TIM_5_WERT", STAT_POLY_TIM_5_WERT, ""); float STAT_POLY_SOC_5_WERT = (RXBUF_UINT(37)*0.01f); // Feedback from the SOC support points: SOC of the fifth support point / Rückmeldung der SOC Unterstützpunkte: // SOC des fünften Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_POLY_SOC_5_WERT", STAT_POLY_SOC_5_WERT, "\"%\""); float STAT_HV_SOC_IST_WERT = (RXBUF_UINT(39)*0.01f); // Current SOC of the HV battery / Aktueller SOC der HV-Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_HV_SOC_IST_WERT", STAT_HV_SOC_IST_WERT, "\"%\""); unsigned short STAT_LADEN_PROGNOSE_WERT = (RXBUF_UINT(41)); // Loading time forecast / Ladezeitprognose ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEN_PROGNOSE_WERT", STAT_LADEN_PROGNOSE_WERT, "\"min\""); unsigned char STAT_LADEN_SPANNUNG_WERT = (RXBUF_UCHAR(43)); // AC charging voltage (only for AC charging) / AC-Ladespannung (nur bei AC Laden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEN_SPANNUNG_WERT", STAT_LADEN_SPANNUNG_WERT, "\"V\""); unsigned char STAT_LADEN_STROM_WERT = (RXBUF_UCHAR(44)); // AC charging current (only for AC charging) / AC-Ladestrom (nur bei AC Laden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEN_STROM_WERT", STAT_LADEN_STROM_WERT, "\"A\""); float STAT_ENERGIEINHALT_IST_WERT = (RXBUF_UINT32(45)*3600.0f); // Predicted energy content depending on the state of charge and on-board power consumption / Prognostizierte // Energieinhalt in Abhängigkeit des Ladezustands und des Bordnetzverbrauches ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN_2", "STAT_ENERGIEINHALT_IST_WERT", STAT_ENERGIEINHALT_IST_WERT, "\"Ws\""); unsigned char STAT_LSC_TRIGGER_INHALT_NR = (RXBUF_UCHAR(49)); // Status of the LSC trigger / Status des LSC-Triggers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LSC_TRIGGER_INHALT_NR", STAT_LSC_TRIGGER_INHALT_NR, "\"0-n\""); unsigned long STAT_ENERGIEINHALT_MAX_WERT = (RXBUF_UINT32(50)); // Maximum possible energy content of the high-voltage storage system / Maximal möglicher Energieinhalt des // Hochvoltspeichers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AE_LSC_LADEN_2", "STAT_ENERGIEINHALT_MAX_WERT", STAT_ENERGIEINHALT_MAX_WERT, "\"Ws\""); unsigned short STAT_LADEN_PROGNOSE_REST_WERT = (RXBUF_UINT(54)); // Predicted remaining charging time: 0-65531 = value range; 65533 = Not available; 65532 = initialization; 65534 // = error; 65535 = signal valid / Prognostizierte Restladedauer: 0-65531 = Wertebereich; 65533 = Nicht // verfügbar; 65532 = Initialisierung; 65534 = Fehler; 65535 = Signal ugültig ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADEN_PROGNOSE_REST_WERT", STAT_LADEN_PROGNOSE_REST_WERT, "\"min\""); unsigned char STAT_LADESTECKER_NR = (RXBUF_UCHAR(56)); // Condition of charging plug / Zustand Ladestecker ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LADESTECKER_NR", STAT_LADESTECKER_NR, "\"0-n\""); unsigned char STAT_LSC_AUSWAHL_LADEN_SOFORT_MODUS = (RXBUF_UCHAR(57)); // Load one-time setting immediately / Einstellung einmalig sofort Laden ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN_2", "STAT_LSC_AUSWAHL_LADEN_SOFORT_MODUS", STAT_LSC_AUSWAHL_LADEN_SOFORT_MODUS, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_CHARGE_ENABLE: { // 0xDE71 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_CHARGE_ENABLE", 1); break; } unsigned char STAT_CHARGE_ENABLE_NR = (RXBUF_UCHAR(0)); // Statement about the granting of loading clearance / Aussage über die Erteilung der Ladefreigabe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_CHARGE_ENABLE", "STAT_CHARGE_ENABLE_NR", STAT_CHARGE_ENABLE_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_PARKSPERRE_SENSOREN: { // 0xDE74 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_PARKSPERRE_SENSOREN", 2); break; } unsigned char STAT_SENSOR_1_NR = (RXBUF_UCHAR(0)); // Status sensor 1 / Status Sensor 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_PARKSPERRE_SENSOREN", "STAT_SENSOR_1_NR", STAT_SENSOR_1_NR, "\"0-n\""); unsigned char STAT_SENSOR_2_NR = (RXBUF_UCHAR(1)); // Status sensor 2 / Status Sensor 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_PARKSPERRE_SENSOREN", "STAT_SENSOR_2_NR", STAT_SENSOR_2_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_HV_SPANNUNG_LESEN: { // 0xDE75 if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_HV_SPANNUNG_LESEN", 10); break; } float STAT_SPANNUNG_HV_SLE_WERT = (RXBUF_UINT(0)*0.2f); // HV DC voltage in the SLE / HV DC Spannung in der SLE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_HV_SPANNUNG_LESEN", "STAT_SPANNUNG_HV_SLE_WERT", STAT_SPANNUNG_HV_SLE_WERT, "\"V\""); float STAT_SPANNUNG_HV_SLE_PFC_WERT = (RXBUF_UINT(2)*0.2f); // SLE Power Factor Corrector Voltage / SLE Power Factor Corrector Spannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_HV_SPANNUNG_LESEN", "STAT_SPANNUNG_HV_SLE_PFC_WERT", STAT_SPANNUNG_HV_SLE_PFC_WERT, "\"V\""); float STAT_SPANNUNG_HV_SLE_AC_WERT = (RXBUF_UINT(4)*0.2f); // SLE AC input voltage / SLE AC Eingangsspannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_HV_SPANNUNG_LESEN", "STAT_SPANNUNG_HV_SLE_AC_WERT", STAT_SPANNUNG_HV_SLE_AC_WERT, "\"V\""); float STAT_SPANNUNG_HV_DCDC_WERT = (RXBUF_UINT(6)*0.2f); // HV voltage in the DC / DC converter / HV Spannung im DC/DC-Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_HV_SPANNUNG_LESEN", "STAT_SPANNUNG_HV_DCDC_WERT", STAT_SPANNUNG_HV_DCDC_WERT, "\"V\""); float STAT_SPANNUNG_HV_UMRICHTER_WERT = (RXBUF_UINT(8)*0.2f); // HV voltage in the converter / HV Spannung im Umrichter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_HV_SPANNUNG_LESEN", "STAT_SPANNUNG_HV_UMRICHTER_WERT", STAT_SPANNUNG_HV_UMRICHTER_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_PARKSPERRE_SW: { // 0xDE76 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_PARKSPERRE_SW", 1); break; } unsigned char STAT_PS_SW_NR = (RXBUF_UCHAR(0)); // Parking lock software status / Status Parksperren Software ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_PARKSPERRE_SW", "STAT_PS_SW_NR", STAT_PS_SW_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_PARKSPERRE_POSITION: { // 0xDE79 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_PARKSPERRE_POSITION", 2); break; } unsigned short STAT_POSITION_PARKSPERRE_NR = (RXBUF_UINT(0)); // Current position of the parking lock / Aktuelle Position der Parksperre ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_PARKSPERRE_POSITION", "STAT_POSITION_PARKSPERRE_NR", STAT_POSITION_PARKSPERRE_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_PARKSPERRE_STROM: { // 0xDE7B if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_PARKSPERRE_STROM", 2); break; } unsigned short STAT_STROM_PARKSPERRE_WERT = (RXBUF_UINT(0)); // Current parking lock actuator current / Aktueller Strom Parksperrenaktuator ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_PARKSPERRE_STROM", "STAT_STROM_PARKSPERRE_WERT", STAT_STROM_PARKSPERRE_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_PARKSPERRE_SPANNUNGEN: { // 0xDE7C if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_PARKSPERRE_SPANNUNGEN", 4); break; } unsigned short STAT_PS_SPG_HBRUECKE_WERT = (RXBUF_UINT(0)); // Tension of the H-bridge / Spannung der H-Brücke ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_PARKSPERRE_SPANNUNGEN", "STAT_PS_SPG_HBRUECKE_WERT", STAT_PS_SPG_HBRUECKE_WERT, "\"mV\""); unsigned short STAT_PS_POSITION_OFFEN_WERT = (RXBUF_UINT(2)); // Tension of sensing / Spannung der Sensierung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_PARKSPERRE_SPANNUNGEN", "STAT_PS_POSITION_OFFEN_WERT", STAT_PS_POSITION_OFFEN_WERT, "\"mV\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_AUSGANG: { // 0xDE7D if (datalen < 5) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_AUSGANG", 5); break; } unsigned short STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE1_WERT = (RXBUF_UINT(0)); // Raw signal activation of parking lock (Duty Cycle H-Bridge). / Rohsignal Ansteuerung Parksperre (Duty Cycle // H-Bruecke). ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_ROHSIG_AUSGANG", "STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE1_WERT", STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE1_WERT, "\"%\""); unsigned char STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE2 = (RXBUF_UCHAR(2)); // Raw signal activation parking lock (direction). / Rohsignal Ansteuerung Parksperre (Richtung). ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ROHSIG_AUSGANG", "STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE2", STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE2, "\"0/1\""); unsigned char STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE_NOTENTRIEGELUNG = (RXBUF_UCHAR(3)); // Raw signal activation of parking lock emergency unlocking magnet (0 = not activated; 1 = activated) / // Rohsignal Ansteuerung Parksperre Notentrieglungsmagnet ( 0 = nicht angesteuert; 1 = angesteuert ) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ROHSIG_AUSGANG", "STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE_NOTENTRIEGELUNG", STAT_ROHSIGNAL_ANSTEURUNG_PARKSPERRE_NOTENTRIEGELUNG, "\"0/1\""); unsigned char STAT_ROHSIGNAL_ANSTEURUNG_ELUP_NR = (RXBUF_UCHAR(4)); // Raw signal control ELUP. / Rohsignal Ansteuerung ELUP. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ROHSIG_AUSGANG", "STAT_ROHSIGNAL_ANSTEURUNG_ELUP_NR", STAT_ROHSIGNAL_ANSTEURUNG_ELUP_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_EINGANG_SENS_ELUP_BUDS: { // 0xDE7E if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_EINGANG_SENS_ELUP_BUDS", 8); break; } float STAT_ROHSIGNAL_TEMP_ENDSTUFE_ELUP_WERT = (RXBUF_UINT32(0)*0.001f); // Raw signal temperature measurement output stage for ELUP. / Rohsignal Temperaturmessung Endstufe für ELUP. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_ELUP_BUDS", "STAT_ROHSIGNAL_TEMP_ENDSTUFE_ELUP_WERT", STAT_ROHSIGNAL_TEMP_ENDSTUFE_ELUP_WERT, "\"V\""); float STAT_ROHSIGNAL_BUDS_WERT = (RXBUF_UINT32(4)*0.001f); // Raw signal BUDS. / Rohsignal BUDS. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_ELUP_BUDS", "STAT_ROHSIGNAL_BUDS_WERT", STAT_ROHSIGNAL_BUDS_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_EINGANG_SENS_EM_INV: { // 0xDE7F if (datalen < 38) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_EINGANG_SENS_EM_INV", 38); break; } float STAT_ROHSIGNAL_TEMP_EMASCHINE_STATOR_WERT = (RXBUF_UINT32(0)*0.001f); // Raw signal temperature sensor E-machine stator / Rohsignal Temperatursensor E-Maschine Stator ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_TEMP_EMASCHINE_STATOR_WERT", STAT_ROHSIGNAL_TEMP_EMASCHINE_STATOR_WERT, "\"V\""); float STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_U_WERT = (RXBUF_UINT32(4)*0.001f); // Raw signal temperature sensor converter phase U. / Rohsignal Temperatursensor Umrichter Phase U. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_U_WERT", STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_U_WERT, "\"V\""); float STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_V_WERT = (RXBUF_UINT32(8)*0.001f); // Raw signal temperature sensor converter phase V. / Rohsignal Temperatursensor Umrichter Phase V. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_V_WERT", STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_V_WERT, "\"V\""); float STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_W_WERT = (RXBUF_UINT32(12)*0.001f); // Raw signal temperature sensor converter phase W. / Rohsignal Temperatursensor Umrichter Phase W. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_W_WERT", STAT_ROHSIGNAL_TEMP_UMRICHTER_PHASE_W_WERT, "\"V\""); float STAT_ROHSIGNAL_SPANNUNG_HVDC_UMRICHTER_WERT = (RXBUF_UINT32(16)*0.001f); // Raw signal HV DC voltage converter / Rohsignal HV DC Spannung Umrichter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_SPANNUNG_HVDC_UMRICHTER_WERT", STAT_ROHSIGNAL_SPANNUNG_HVDC_UMRICHTER_WERT, "\"V\""); float STAT_ROHSIGNAL_STROM_HVDC_UMRICHTER_WERT = (RXBUF_SINT32(20)*0.001f); // Raw signal HV DC current converter. / Rohsignal HV DC Strom Umrichter. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_STROM_HVDC_UMRICHTER_WERT", STAT_ROHSIGNAL_STROM_HVDC_UMRICHTER_WERT, "\"A\""); float STAT_ROHSIGNAL_STROM_U_WERT = (RXBUF_SINT32(24)*0.001f); // Raw signal current sensor phase U. / Rohsignal Stromsensor Phase U. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_STROM_U_WERT", STAT_ROHSIGNAL_STROM_U_WERT, "\"A\""); float STAT_ROHSIGNAL_STROM_V_WERT = (RXBUF_SINT32(28)*0.001f); // Raw signal current sensor phase V. / Rohsignal Stromsensor Phase V. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_STROM_V_WERT", STAT_ROHSIGNAL_STROM_V_WERT, "\"A\""); float STAT_ROHSIGNAL_STROM_W_WERT = (RXBUF_SINT32(32)*0.001f); // Raw signal current sensor phase W. / Rohsignal Stromsensor Phase W. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_STROM_W_WERT", STAT_ROHSIGNAL_STROM_W_WERT, "\"A\""); float STAT_ROHSIGNAL_ROTORLAGESENSOR_WERT = (RXBUF_UINT(36)*0.001f); // Rotor position sensor corrected electrical angular position (radian) / Rotorlagesensor korrigierte elektrische // Winkelposition (Radian) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_EM_INV", "STAT_ROHSIGNAL_ROTORLAGESENSOR_WERT", STAT_ROHSIGNAL_ROTORLAGESENSOR_WERT, "\"rad\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_EINGANG_SENS_PARKSPERRE: { // 0xDE80 if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_EINGANG_SENS_PARKSPERRE", 12); break; } float STAT_ROHSIGNAL_STROM_PARKSPERRE_WERT = (RXBUF_SINT32(0)*0.001f); // Raw signal current measurement parking lock. / Rohsignal Strommessung Parksperre. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_PARKSPERRE", "STAT_ROHSIGNAL_STROM_PARKSPERRE_WERT", STAT_ROHSIGNAL_STROM_PARKSPERRE_WERT, "\"A\""); unsigned long STAT_ROHSIGNAL_POSITION_PARKSPERRE3_WERT = (RXBUF_UINT32(4)); // Raw signal 3 position measurement parking lock (0-1000 = 0-100%; 2000 = invalid) / Rohsignal 3 // Positionsmessung Parksperre ( 0-1000=0-100%; 2000=ungueltig) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_PARKSPERRE", "STAT_ROHSIGNAL_POSITION_PARKSPERRE3_WERT", STAT_ROHSIGNAL_POSITION_PARKSPERRE3_WERT, ""); unsigned long STAT_ROHSIGNAL_POSITION_PARKSPERRE4_WERT = (RXBUF_UINT32(8)); // Raw signal 4 position measurement parking lock (0-1000 = 0-100%; 2000 = invalid) / Rohsignal 4 // Positionsmessung Parksperre (0-1000=0-100%; 2000=ungueltig) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_PARKSPERRE", "STAT_ROHSIGNAL_POSITION_PARKSPERRE4_WERT", STAT_ROHSIGNAL_POSITION_PARKSPERRE4_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_EINGANG_SENS_SG: { // 0xDE81 if (datalen < 6) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_EINGANG_SENS_SG", 6); break; } float STAT_ROHSIGNAL_KL30B_WERT = (RXBUF_UINT32(0)*0.001f); // Raw signal voltage measurement terminal 30b / Rohsignal Spannungsmessung Klemme30b ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_SG", "STAT_ROHSIGNAL_KL30B_WERT", STAT_ROHSIGNAL_KL30B_WERT, "\"V\""); unsigned char STAT_ROHSIGNAL_KL15WUO_NR = (RXBUF_UCHAR(4)); // Raw signal terminal 15WUO (0 = not active, 1 = active) / Rohsignal Klemme 15WUO (0 = nicht aktiv, 1 = aktiv) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_SG", "STAT_ROHSIGNAL_KL15WUO_NR", STAT_ROHSIGNAL_KL15WUO_NR, "\"0-n\""); unsigned char STAT_ROHSIGNAL_CRASHSIGNAL_NR = (RXBUF_UCHAR(5)); // Crash input raw signal Electrical crash signal (0 = not active; 1 = active) / Rohsignal Crasheingang // Crashsignal elektrisch ( 0 = nicht aktiv; 1 = aktiv ) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_SG", "STAT_ROHSIGNAL_CRASHSIGNAL_NR", STAT_ROHSIGNAL_CRASHSIGNAL_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_EINGANG_SENS_SLE: { // 0xDE82 if (datalen < 6) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_EINGANG_SENS_SLE", 6); break; } unsigned short STAT_ROHSIGNAL_SPANNUNG_AC_NETZ_L1_WERT = (RXBUF_UINT(0)); // Raw signal voltage measurement phase L1 in the AC network; Resolution, quantization, range etc. as used in // SG-internal function. / Rohsignal Spannungsmessung Phase L1 im AC Netz; Auflösung, Quantisierung, Range etc. // wie in SG-interner Funktion verwendet wird. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_SLE", "STAT_ROHSIGNAL_SPANNUNG_AC_NETZ_L1_WERT", STAT_ROHSIGNAL_SPANNUNG_AC_NETZ_L1_WERT, "\"V\""); unsigned short STAT_ROHSIGNAL_STROM_PFC_EFF_WERT = (RXBUF_UINT(2)); // Raw signal current measurement phase L1 in the AC network; Resolution, quantization, range etc. as used in // SG-internal function. / Rohsignal Strommessung Phase L1 im AC Netz; Auflösung, Quantisierung, Range etc. wie // in SG-interner Funktion verwendet wird. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_SLE", "STAT_ROHSIGNAL_STROM_PFC_EFF_WERT", STAT_ROHSIGNAL_STROM_PFC_EFF_WERT, "\"A\""); unsigned short STAT_ROHSIGNAL_E_S_CHARGE_EN_WERT = (RXBUF_UINT(4)); // Raw signal charge enable line; Resolution, quantization, range etc. as used in SG-internal function. / // Rohsignal Charge Enable Leitung; Auflösung, Quantisierung, Range etc. wie in SG-interner Funktion verwendet // wird. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_SLE", "STAT_ROHSIGNAL_E_S_CHARGE_EN_WERT", STAT_ROHSIGNAL_E_S_CHARGE_EN_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ROHSIG_EINGANG_SENS_DCDC: { // 0xDE83 if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ROHSIG_EINGANG_SENS_DCDC", 12); break; } float STAT_ROHSIGNAL_SPANNUNG_LV_DCDC_WERT = (RXBUF_UINT32(0)*0.001f); // Raw signal voltage measurement LV DCDC converter. / Rohsignal Spannungsmessung LV DCDC Wandler. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_DCDC", "STAT_ROHSIGNAL_SPANNUNG_LV_DCDC_WERT", STAT_ROHSIGNAL_SPANNUNG_LV_DCDC_WERT, "\"V\""); float STAT_ROHSIGNAL_STROM_LV_DCDC_WERT = (RXBUF_SINT32(4)*0.001f); // Raw signal current measurement LV DCDC converter. / Rohsignal Strommessung LV DCDC Wandler. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_DCDC", "STAT_ROHSIGNAL_STROM_LV_DCDC_WERT", STAT_ROHSIGNAL_STROM_LV_DCDC_WERT, "\"A\""); float STAT_ROHSIGNAL_STROM_HV_DCDC_WERT = (RXBUF_SINT32(8)*0.001f); // Raw signal current measurement HV DCDC converter. / Rohsignal Strommessung HV DCDC Wandler. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ROHSIG_EINGANG_SENS_DCDC", "STAT_ROHSIGNAL_STROM_HV_DCDC_WERT", STAT_ROHSIGNAL_STROM_HV_DCDC_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_BETRIEBSZUSTAND_SLE: { // 0xDE84 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_BETRIEBSZUSTAND_SLE", 8); break; } float STAT_NETZFREQUENZ_PHASE_1_WERT = (RXBUF_UINT(0)*0.25f); // Current grid frequency phase 1 / Aktuelle Netzfrequenz Phase 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_BETRIEBSZUSTAND_SLE", "STAT_NETZFREQUENZ_PHASE_1_WERT", STAT_NETZFREQUENZ_PHASE_1_WERT, ""); unsigned short STAT_LADEDAUER_WERT = (RXBUF_UINT(2)); // Returns the charging time that has elapsed in the current charging cycle / Rückgabe der im aktuellen // Ladezyklus verstrichenen Ladezeit ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_BETRIEBSZUSTAND_SLE", "STAT_LADEDAUER_WERT", STAT_LADEDAUER_WERT, "\"s\""); unsigned char STAT_FEHLERZUSTAND_NR = (RXBUF_UCHAR(4)); // SLE error states: 0 = derating 1 = charging interruption 2 = emergency operation 3 = communication failure 4 = // reserved 255 signal invalid / SLE Fehlerzustände: 0=Derating 1=Ladeunterbrechung 2=Notlauf // 3=Kommunikationsausfall 4=Reserviert 255 Signal ungültig ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_BETRIEBSZUSTAND_SLE", "STAT_FEHLERZUSTAND_NR", STAT_FEHLERZUSTAND_NR, "\"0-n\""); unsigned char STAT_SLE_DERATING_WERT = (RXBUF_UCHAR(5)); // Value by which the DC-HV output power is reduced. 0-254% / Wert, um den die DC-HV-Ausgangsleistung reduziert // ist. 0-254% ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_BETRIEBSZUSTAND_SLE", "STAT_SLE_DERATING_WERT", STAT_SLE_DERATING_WERT, "\"%\""); unsigned char STAT_BETRIEBSART_NR = (RXBUF_UCHAR(6)); // Operating mode / Betriebsart ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_BETRIEBSZUSTAND_SLE", "STAT_BETRIEBSART_NR", STAT_BETRIEBSART_NR, "\"0-n\""); unsigned char STAT_WIRKUNGSGRAD_LADEZYKLUS_WERT = (RXBUF_UCHAR(7)); // Charge cycle efficiency / Wirkungsgrad Ladezyklus ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_BETRIEBSZUSTAND_SLE", "STAT_WIRKUNGSGRAD_LADEZYKLUS_WERT", STAT_WIRKUNGSGRAD_LADEZYKLUS_WERT, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SLE_LEISTUNG: { // 0xDE85 if (datalen < 6) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SLE_LEISTUNG", 6); break; } unsigned short STAT_SLE_DC_HV_LEISTUNG_WERT = (RXBUF_UINT(0)-30000.0); // Instantaneous power output in the intermediate circuit / Abgegebende Momentanleistung in den Zwischenkreis ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_SLE_LEISTUNG", "STAT_SLE_DC_HV_LEISTUNG_WERT", STAT_SLE_DC_HV_LEISTUNG_WERT, "\"W\""); unsigned short STAT_SLE_DC_HV_LEISTUNG_MAX_WERT = (RXBUF_UINT(2)-30000.0); // Maximum power that can be output in the intermediate circuit / Maximal abgebbare Leistung in den Zwischenkreis ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_SLE_LEISTUNG", "STAT_SLE_DC_HV_LEISTUNG_MAX_WERT", STAT_SLE_DC_HV_LEISTUNG_MAX_WERT, "\"W\""); unsigned short STAT_SLE_AC_WIRKLEISTUNG_WERT = (RXBUF_UINT(4)-30000.0); // Instantaneous active power drawn from the network / Entnommene Momentanwirkleistung aus dem Netz ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_SLE_LEISTUNG", "STAT_SLE_AC_WIRKLEISTUNG_WERT", STAT_SLE_AC_WIRKLEISTUNG_WERT, "\"W\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SLE_SPANNUNG: { // 0xDE86 if (datalen < 6) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SLE_SPANNUNG", 6); break; } float STAT_SPANNUNG_RMS_AC_PHASE_1_WERT = (RXBUF_UINT(0)*0.1f); // RMS values of the AC conductor voltages (phase 1) / Effektivwerte der AC Leiterspannungen (Phase1) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SLE_SPANNUNG", "STAT_SPANNUNG_RMS_AC_PHASE_1_WERT", STAT_SPANNUNG_RMS_AC_PHASE_1_WERT, "\"V\""); float STAT_SPANNUNG_SLE_DC_HV_WERT = (RXBUF_UINT(2)*0.1f); // SLE DC HV voltage / SLE DC HV Spannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SLE_SPANNUNG", "STAT_SPANNUNG_SLE_DC_HV_WERT", STAT_SPANNUNG_SLE_DC_HV_WERT, "\"V\""); float STAT_SPANNUNG_SLE_DC_HV_OBERGRENZE_WERT = (RXBUF_UINT(4)*0.1f); // SLE DC HV upper voltage limit / SLE DC HV Spannungsobergrenze ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SLE_SPANNUNG", "STAT_SPANNUNG_SLE_DC_HV_OBERGRENZE_WERT", STAT_SPANNUNG_SLE_DC_HV_OBERGRENZE_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SLE_STROM: { // 0xDE87 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SLE_STROM", 2); break; } float STAT_STROM_TRAFO_WERT = (RXBUF_UINT(0)*0.01f-100.0); // calibrated SLE transformer current / kalibrierter SLE Trafostrom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SLE_STROM", "STAT_STROM_TRAFO_WERT", STAT_STROM_TRAFO_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SPANNUNG_KLEMME30B: { // 0xDE88 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SPANNUNG_KLEMME30B", 2); break; } float STAT_SPANNUNG_KL30B_WERT = (RXBUF_UINT(0)*0.01f); // current voltage at KL30B / aktuelle Spannung an KL30B ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_KLEMME30B", "STAT_SPANNUNG_KL30B_WERT", STAT_SPANNUNG_KL30B_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_STROM_DCDC: { // 0xDE89 if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_STROM_DCDC", 10); break; } float STAT_STROM_DCDC_WANDLER_HV_WERT = (RXBUF_UINT(0)*0.05f-100.0); // Current of the DCDC converter on the HV side / Strom des DCDC-Wandlers auf der HV-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_DCDC", "STAT_STROM_DCDC_WANDLER_HV_WERT", STAT_STROM_DCDC_WANDLER_HV_WERT, "\"A\""); unsigned short STAT_STROM_DCDC_WANDLER_12V_WERT = (RXBUF_UINT(2)-1000.0); // Current of the DCDC converter on the 12V side / Strom des DCDC-Wandlers auf der 12V-Seite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_STROM_DCDC", "STAT_STROM_DCDC_WANDLER_12V_WERT", STAT_STROM_DCDC_WANDLER_12V_WERT, "\"A\""); float STAT_STROM_DCDC_TS1_WERT = (RXBUF_UINT(4)*0.01f); // DC / DC buck converter current 1 / DC/DC Tiefsetzsteller-Strom 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_DCDC", "STAT_STROM_DCDC_TS1_WERT", STAT_STROM_DCDC_TS1_WERT, "\"A\""); float STAT_STROM_DCDC_TS2_WERT = (RXBUF_UINT(6)*0.01f); // DC / DC buck converter current 2 / DC/DC Tiefsetzsteller-Strom 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_DCDC", "STAT_STROM_DCDC_TS2_WERT", STAT_STROM_DCDC_TS2_WERT, "\"A\""); float STAT_STROM_DCDC_TRAFO1_WERT = (RXBUF_UINT(8)*0.01f); // DC / DC transformer current 1 / DC/DC Trafostrom 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_DCDC", "STAT_STROM_DCDC_TRAFO1_WERT", STAT_STROM_DCDC_TRAFO1_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_STROM_EMASCHINE: { // 0xDE8A if (datalen < 10) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_STROM_EMASCHINE", 10); break; } float STAT_STROM_AC_EFF_W_WERT = (RXBUF_SINT(0)*0.0625f); // Effective supply current phase W / Effektiver Zuleitungsstrom Phase W ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_EMASCHINE", "STAT_STROM_AC_EFF_W_WERT", STAT_STROM_AC_EFF_W_WERT, "\"A\""); float STAT_STROM_AC_EFF_V_WERT = (RXBUF_SINT(2)*0.0625f); // Effective supply current phase V / Effektiver Zuleitungsstrom Phase V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_EMASCHINE", "STAT_STROM_AC_EFF_V_WERT", STAT_STROM_AC_EFF_V_WERT, "\"A\""); float STAT_STROM_AC_EFF_U_WERT = (RXBUF_SINT(4)*0.0625f); // Effective supply current phase U / Effektiver Zuleitungsstrom Phase U ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_EMASCHINE", "STAT_STROM_AC_EFF_U_WERT", STAT_STROM_AC_EFF_U_WERT, "\"A\""); float STAT_ERREGERSTROM_WERT = (RXBUF_SINT(6)*0.0625f); // Current excitation current / Aktueller Erregerstrom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_EMASCHINE", "STAT_ERREGERSTROM_WERT", STAT_ERREGERSTROM_WERT, "\"A\""); float STAT_STROM_DC_HV_UMRICHTER_EM_WERT = (RXBUF_SINT(8)*0.1f); // HV-DC current of the converter for the EM stator / HV-DC Strom des Umrichters für den EM-Stator ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_STROM_EMASCHINE", "STAT_STROM_DC_HV_UMRICHTER_EM_WERT", STAT_STROM_DC_HV_UMRICHTER_EM_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_TEMP_LE: { // 0xDE8C if (datalen < 30) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_TEMP_LE", 30); break; } float STAT_TEMP_UMRICHTER_PHASE_U_WERT = (RXBUF_SINT(0)*0.0156f); // Temperature converter phase U / Temperatur Umrichter Phase U ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_UMRICHTER_PHASE_U_WERT", STAT_TEMP_UMRICHTER_PHASE_U_WERT, "\"°C\""); float STAT_TEMP_UMRICHTER_PHASE_V_WERT = (RXBUF_SINT(2)*0.0156f); // Temperature converter phase V / Temperatur Umrichter Phase V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_UMRICHTER_PHASE_V_WERT", STAT_TEMP_UMRICHTER_PHASE_V_WERT, "\"°C\""); float STAT_TEMP_UMRICHTER_PHASE_W_WERT = (RXBUF_SINT(4)*0.0156f); // Temperature converter phase W / Temperatur Umrichter Phase W ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_UMRICHTER_PHASE_W_WERT", STAT_TEMP_UMRICHTER_PHASE_W_WERT, "\"°C\""); float STAT_TEMP_UMRICHTER_GT_WERT = (RXBUF_SINT(6)*0.0156f); // Temperature inverter gate driver / Temperatur Inverter Gatedriver ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_UMRICHTER_GT_WERT", STAT_TEMP_UMRICHTER_GT_WERT, "\"°C\""); float STAT_TEMP_DCDC_BO_WERT = (RXBUF_SINT(8)*0.0156f); // Temperature of the DCDC board / Temperatur des DCDC Boards ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_DCDC_BO_WERT", STAT_TEMP_DCDC_BO_WERT, "\"°C\""); float STAT_TEMP_DCDC_GTW_WERT = (RXBUF_SINT(10)*0.0156f); // Temperature DC / DC push-pull converter / Temperatur DC/DC-Gegentaktwandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_DCDC_GTW_WERT", STAT_TEMP_DCDC_GTW_WERT, "\"°C\""); float STAT_TEMP_DCDC_TS_WERT = (RXBUF_SINT(12)*0.0156f); // Temperature DC / DC buck converter / Temperatur DC/DC-Tiefsetzer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_DCDC_TS_WERT", STAT_TEMP_DCDC_TS_WERT, "\"°C\""); float STAT_TEMP_DCDC_GR_WERT = (RXBUF_SINT(14)*0.0156f); // Temperature of the DCDC board / Temperatur des DCDC Boards ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_DCDC_GR_WERT", STAT_TEMP_DCDC_GR_WERT, "\"°C\""); float STAT_TEMP_SLE_PFC_WERT = (RXBUF_SINT(16)*0.0156f); // Temperature SLE-PowerFactorCorrection / Temperatur SLE-PowerFactorCorrection ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_SLE_PFC_WERT", STAT_TEMP_SLE_PFC_WERT, "\"°C\""); float STAT_TEMP_SLE_GR_WERT = (RXBUF_SINT(18)*0.0156f); // Temperature SLE rectifier / Temperatur SLE-Gleichrichter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_SLE_GR_WERT", STAT_TEMP_SLE_GR_WERT, "\"°C\""); float STAT_TEMP_SLE_GTW_WERT = (RXBUF_SINT(20)*0.0156f); // Temperature SLE push-pull converter / Temperatur SLE-Gegentaktwandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_SLE_GTW_WERT", STAT_TEMP_SLE_GTW_WERT, "\"°C\""); float STAT_TEMP_SLE_BO_WERT = (RXBUF_SINT(22)*0.0156f); // Temperature of the SLE board / Temperatur des SLE Boards ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_SLE_BO_WERT", STAT_TEMP_SLE_BO_WERT, "\"°C\""); float STAT_TEMP_ELUP_LE_WERT = (RXBUF_SINT(24)*0.0156f); // Temperature on the power board - measuring point ELUP power output stage / Temperatur auf dem Powerbord - // Messstelle ELUP Leistungsendstufe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_ELUP_LE_WERT", STAT_TEMP_ELUP_LE_WERT, "\"°C\""); float STAT_TEMP_PROZESSOR_MC0_WERT = (RXBUF_SINT(26)*0.0156f); // Temperature processor MC0 / Temperatur Prozessor MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_PROZESSOR_MC0_WERT", STAT_TEMP_PROZESSOR_MC0_WERT, "\"°C\""); float STAT_TEMP_PROZESSOR_MC2_WERT = (RXBUF_SINT(28)*0.0156f); // Temperature processor MC2 / Temperatur Prozessor MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_LE", "STAT_TEMP_PROZESSOR_MC2_WERT", STAT_TEMP_PROZESSOR_MC2_WERT, "\"°C\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ZUSTAND_1_DCDC: { // 0xDE92 if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ZUSTAND_1_DCDC", 4); break; } unsigned char STAT_BETRIEBSART_DCDC_IST = (RXBUF_UCHAR(0)); // Actual operating mode of the DCDC converter / Ist-Betriebsart des DCDC-Wandlers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ZUSTAND_1_DCDC", "STAT_BETRIEBSART_DCDC_IST", STAT_BETRIEBSART_DCDC_IST, "\"0-n\""); float STAT_SPANNUNG_LV_IST_WERT = (RXBUF_UINT(1)*0.05f); // Electrical system voltage / Bordnetzspannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ZUSTAND_1_DCDC", "STAT_SPANNUNG_LV_IST_WERT", STAT_SPANNUNG_LV_IST_WERT, "\"V\""); unsigned char STAT_AUSLASTUNG_WERT = (RXBUF_UCHAR(3)); // Utilization of the DCDC converter / Auslastung des DCDC-Wandlers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ZUSTAND_1_DCDC", "STAT_AUSLASTUNG_WERT", STAT_AUSLASTUNG_WERT, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ZUSTAND_DCDC_FEHLERBILD: { // 0xDE96 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ZUSTAND_DCDC_FEHLERBILD", 1); break; } unsigned char RES_0xDE96_D = (RXBUF_UCHAR(0)); // Return of active / inactive errors DC / DC converter / Rückgabe aktiver/inaktiver Fehler DC/DC-Wandler // RES_0xDE96_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", "EME", "AE_ZUSTAND_DCDC_FEHLERBILD", "RES_0xDE96_D", (unsigned long)RES_0xDE96_D, "\"Bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_STATUS_CONNECTED_DRIVE: { // 0xDE9E if (datalen < 13) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_STATUS_CONNECTED_DRIVE", 13); break; } unsigned char STAT_LADEN_NR = (RXBUF_UCHAR(0)); // Information about the current status of the loading (see TAB_EDME_STATUS_LADEN) / Information über den // aktuellen Status des Ladens (siehe TAB_EDME_STATUS_LADEN) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_LADEN_NR", STAT_LADEN_NR, "\"0-n\""); unsigned char STAT_REMOTE_LADEN_NR = (RXBUF_UCHAR(1)); // Bit0: RemoteLaden not active Bit1: RemoteLaden on Hold Bit2: RemoteLaden active / Bit0: RemoteLaden nicht // aktiv Bit1: RemoteLaden on Hold Bit2: RemoteLaden aktiv ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_REMOTE_LADEN_NR", STAT_REMOTE_LADEN_NR, "\"0-n\""); unsigned char STAT_TIMER_LADEN_NR = (RXBUF_UCHAR(2)); // Bit0: Timer loading not active Bit1: Timer loading on hold Bit2: Timer loading active / Bit0: TimerLaden nicht // aktiv Bit1: TimerLaden on Hold Bit2: TimerLaden aktiv ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_TIMER_LADEN_NR", STAT_TIMER_LADEN_NR, "\"0-n\""); float STAT_HV_SOC_WERT = (RXBUF_UCHAR(3)*0.5f); // HV battery charge status display / Anzeige Ladezustand HV-Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_HV_SOC_WERT", STAT_HV_SOC_WERT, "\"%\""); unsigned short STAT_ZEIT_LADEENDE_WERT = (RXBUF_UINT(4)); // Charging time / Ladedauer ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_ZEIT_LADEENDE_WERT", STAT_ZEIT_LADEENDE_WERT, "\"min\""); unsigned char STAT_MAX_LADESTROM_LADEGERAET_WERT = (RXBUF_UCHAR(6)); // Maximum AC charging current charger / Maximaler AC-Ladestrom Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_MAX_LADESTROM_LADEGERAET_WERT", STAT_MAX_LADESTROM_LADEGERAET_WERT, "\"A\""); unsigned char STAT_IST_AC_SPANNUNG_LADEGERAET_WERT = (RXBUF_UCHAR(7)); // Actual AC voltage charger / Ist-AC-Spannung Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_IST_AC_SPANNUNG_LADEGERAET_WERT", STAT_IST_AC_SPANNUNG_LADEGERAET_WERT, "\"V\""); unsigned short STAT_REICHWEITE_WERT = (RXBUF_UINT(8)); // Range / Reichweite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_REICHWEITE_WERT", STAT_REICHWEITE_WERT, "\"km\""); float STAT_HVB_TEMP_WERT = (RXBUF_SINT(10)*0.1f); // HV battery temperature / Temperatur der HV-Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_HVB_TEMP_WERT", STAT_HVB_TEMP_WERT, "\"°\""); unsigned char STAT_TRIGGER_SEGMENTSPEICHER_WERT = (RXBUF_UCHAR(12)); // Trigger condition for reading the segment memory / Auslösebedingung für das Lesen des Segmentspeichers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "STATUS_CONNECTED_DRIVE", "STAT_TRIGGER_SEGMENTSPEICHER_WERT", STAT_TRIGGER_SEGMENTSPEICHER_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_BUDS: { // 0xDEA5 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_BUDS", 1); break; } float STAT_BUDS_WERT = (RXBUF_UCHAR(0)*4.0f-1000.0); // Brake vacuum sensor value / Sensorwert des Bremsunterdrucks ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_BUDS", "STAT_BUDS_WERT", STAT_BUDS_WERT, "\"hPa\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_TEMP_EMASCHINE: { // 0xDEA6 if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_TEMP_EMASCHINE", 4); break; } float STAT_TEMP1_E_MOTOR_WERT = (RXBUF_SINT(0)*0.0156f); // E-motor temperature 1 / E-Motor Temperatur 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_EMASCHINE", "STAT_TEMP1_E_MOTOR_WERT", STAT_TEMP1_E_MOTOR_WERT, "\"°C\""); float STAT_TEMP2_E_MOTOR_WERT = (RXBUF_SINT(2)*0.0156f); // E-motor temperature 2 / E-Motor Temperatur 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_TEMP_EMASCHINE", "STAT_TEMP2_E_MOTOR_WERT", STAT_TEMP2_E_MOTOR_WERT, "\"°C\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ELEKTRISCHE_MASCHINE: { // 0xDEA7 if (datalen < 7) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ELEKTRISCHE_MASCHINE", 7); break; } float STAT_ELEKTRISCHE_MASCHINE_DREHZAHL_WERT = (RXBUF_UINT(0)*0.5f-5000.0); // Speed of the electric machine / Drehzahl der E-Maschine ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ELEKTRISCHE_MASCHINE", "STAT_ELEKTRISCHE_MASCHINE_DREHZAHL_WERT", STAT_ELEKTRISCHE_MASCHINE_DREHZAHL_WERT, "\"1/min\""); float STAT_ELEKTRISCHE_MASCHINE_IST_MOMENT_WERT = (RXBUF_SINT(2)*0.5f); // IS the moment of the e-machine / IST Moment der E-Maschine ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ELEKTRISCHE_MASCHINE", "STAT_ELEKTRISCHE_MASCHINE_IST_MOMENT_WERT", STAT_ELEKTRISCHE_MASCHINE_IST_MOMENT_WERT, "\"Nm\""); float STAT_ELEKTRISCHE_MASCHINE_SOLL_MOMENT_WERT = (RXBUF_SINT(4)*0.5f); // SHOULD moment of the electric machine / SOLL Moment der E-Maschine ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_ELEKTRISCHE_MASCHINE", "STAT_ELEKTRISCHE_MASCHINE_SOLL_MOMENT_WERT", STAT_ELEKTRISCHE_MASCHINE_SOLL_MOMENT_WERT, "\"Nm\""); unsigned char STAT_ELEKTRISCHE_BETRIEBSART_NR = (RXBUF_UCHAR(6)); // current operating mode of the e-machine / aktuelle Betriebsart der E-Maschine ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_ELEKTRISCHE_MASCHINE", "STAT_ELEKTRISCHE_BETRIEBSART_NR", STAT_ELEKTRISCHE_BETRIEBSART_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_ZUSTAND_2_DCDC: { // 0xDEA9 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_ZUSTAND_2_DCDC", 1); break; } unsigned char RES_0xDEA9_D = (RXBUF_UCHAR(0)); // Various statuses returned from the DCDC converter / Rückgabe verschiederer Status vom DCDC-Wandler // RES_0xDEA9_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", "EME", "AE_ZUSTAND_2_DCDC", "RES_0xDEA9_D", (unsigned long)RES_0xDEA9_D, "\"Bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_PARKSPERRE_VERSION: { // 0xDEB0 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_PARKSPERRE_VERSION", 2); break; } unsigned char STAT_PS_VERSION_MAIN_WERT = (RXBUF_UCHAR(0)); // Main version parking lock SW / Main-Version Parksperren-SW ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_PARKSPERRE_VERSION", "STAT_PS_VERSION_MAIN_WERT", STAT_PS_VERSION_MAIN_WERT, ""); unsigned char STAT_PS_VERSION_SUB_WERT = (RXBUF_UCHAR(1)); // Revision of the parking lock software / Revision Parksperren-SW ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_PARKSPERRE_VERSION", "STAT_PS_VERSION_SUB_WERT", STAT_PS_VERSION_SUB_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_CTRL_VERSION: { // 0xDEBC if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_CTRL_VERSION", 1); break; } unsigned char STAT_CTRL_VERSION_WERT = (RXBUF_UCHAR(0)); // Controller board version / Controllerbord-Version ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_CTRL_VERSION", "STAT_CTRL_VERSION_WERT", STAT_CTRL_VERSION_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SPANNUNG_DCDC: { // 0xDEBD if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SPANNUNG_DCDC", 2); break; } float STAT_SPANNUNG_LV_WERT = (RXBUF_UINT(0)*0.001f); // DC / DC voltage low-voltage side / DC/DC-Spannung Niedervoltseite ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_DCDC", "STAT_SPANNUNG_LV_WERT", STAT_SPANNUNG_LV_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SPANNUNG_LE: { // 0xDEBE if (datalen < 14) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SPANNUNG_LE", 14); break; } float STAT_SPANNUNG_CY0_5V0_WERT = (RXBUF_UINT(0)*0.001f); // Voltage monitoring of the internal 5V of CY320_MC0 / Spannungsüberwachung der internen 5V von CY320_MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_CY0_5V0_WERT", STAT_SPANNUNG_CY0_5V0_WERT, "\"V\""); float STAT_SPANNUNG_CY2_5V0_WERT = (RXBUF_UINT(2)*0.001f); // Voltage monitoring of the internal 5V of CY320_MC2 / Spannungsüberwachung der internen 5V von CY320_MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_CY2_5V0_WERT", STAT_SPANNUNG_CY2_5V0_WERT, "\"V\""); float STAT_SPANNUNG_CY0_3V3_WERT = (RXBUF_UINT(4)*0.001f); // Voltage monitoring of the internal 3.3V of CY320_MC0 / Spannungsüberwachung der internen 3,3V von CY320_MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_CY0_3V3_WERT", STAT_SPANNUNG_CY0_3V3_WERT, "\"V\""); float STAT_SPANNUNG_CY2_3V3_WERT = (RXBUF_UINT(6)*0.001f); // Voltage monitoring of the internal 3.3V of CY320_MC2 / Spannungsüberwachung der internen 3,3V von CY320_MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_CY2_3V3_WERT", STAT_SPANNUNG_CY2_3V3_WERT, "\"V\""); float STAT_SPANNUNG_CY0_1V5_WERT = (RXBUF_UINT(8)*0.001f); // Voltage monitoring of the internal 1.5V of CY320_MC0 / Spannungsüberwachung der internen 1,5V von CY320_MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_CY0_1V5_WERT", STAT_SPANNUNG_CY0_1V5_WERT, "\"V\""); float STAT_SPANNUNG_CY2_1V5_WERT = (RXBUF_UINT(10)*0.001f); // Voltage monitoring of the internal 1.5V of CY320_MC2 / Spannungsüberwachung der internen 1,5V von CY320_MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_CY2_1V5_WERT", STAT_SPANNUNG_CY2_1V5_WERT, "\"V\""); float STAT_SPANNUNG_32V_WERT = (RXBUF_UINT(12)*0.001f); // Back measurement of the internal 32 V. / Rückmessung der internen 32 V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_SPANNUNG_LE", "STAT_SPANNUNG_32V_WERT", STAT_SPANNUNG_32V_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_SYSSTATE: { // 0xDEBF if (datalen < 5) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_SYSSTATE", 5); break; } unsigned char STAT_SYSSTATE_DPR = (RXBUF_UCHAR(0)); // Dualported RAM active 0 = not active 1 = active / Dualported RAM aktiv 0 = nicht aktiv 1 = aktiv ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSSTATE", "STAT_SYSSTATE_DPR", STAT_SYSSTATE_DPR, "\"0/1\""); unsigned char STAT_SYSSTATE_MC0_NR = (RXBUF_UCHAR(1)); // System status of the MC0 / Systemzustand des MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSSTATE", "STAT_SYSSTATE_MC0_NR", STAT_SYSSTATE_MC0_NR, "\"0-n\""); unsigned char STAT_SYSSTATE_MC2_NR = (RXBUF_UCHAR(2)); // System status of the MC2 / Systemzustand des MC2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_SYSSTATE", "STAT_SYSSTATE_MC2_NR", STAT_SYSSTATE_MC2_NR, "\"0-n\""); unsigned short BF_SYSSTATE_KLEMMEN = (RXBUF_UINT(3)); // Terminal status / Klemmenzustand // BF_SYSSTATE_KLEMMEN is a BITFIELD of size unsigned int. We don't yet generate definitions for each bit, we treat as the host data type // STAT_SYSSTATE_KL15WUP_1: Mask: 0x0001 - Terminal status (bit-coded): Bit1 = Kl15WUP // STAT_SYSSTATE_KL30B_2: Mask: 0x0002 - Terminal status (bit-coded): Bit2 = KL30B // STAT_SYSSTATE_KL30C_3: Mask: 0x0004 - Terminal status (bit-coded): Bit3 = KL30C ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "EME", "AE_SYSSTATE", "BF_SYSSTATE_KLEMMEN", (unsigned long)BF_SYSSTATE_KLEMMEN, "\"Bit\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_SPANNUNG_ELUP: { // 0xDEC2 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_SPANNUNG_ELUP", 2); break; } float STAT_U_ELUP_WERT = (RXBUF_UINT(0)*0.1f); // Voltage level at the ELUP output of the EME / Spannungspegel am ELUP - Ausgang der EME ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "SPANNUNG_ELUP", "STAT_U_ELUP_WERT", STAT_U_ELUP_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_STROM_ELUP: { // 0xDEC3 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_STROM_ELUP", 2); break; } float STAT_I_ELUP_WERT = (RXBUF_UINT(0)*0.1f); // Voltage level at the ELUP output of the EME / Spannungspegel am ELUP - Ausgang der EME ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "STROM_ELUP", "STAT_I_ELUP_WERT", STAT_I_ELUP_WERT, "\"A\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_FAHRSTUFE: { // 0xDEDD if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_FAHRSTUFE", 1); break; } unsigned char STAT_POS_PRND_NR = (RXBUF_UCHAR(0)); // current actual position of the drive train (PRND) / aktuelle Ist-Position des Antriebsstrangs (PRND) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_FAHRSTUFE", "STAT_POS_PRND_NR", STAT_POS_PRND_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_LSC_LADEN: { // 0xDEDE if (datalen < 42) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_LSC_LADEN", 42); break; } unsigned char STAT_LADEVERFAHREN_NR_0XDEDE = (RXBUF_UCHAR(0)); // Type of charge type / Art des Ladetyps ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEVERFAHREN_NR_0XDEDE", STAT_LADEVERFAHREN_NR_0XDEDE, "\"0-n\""); unsigned char STAT_LADESTATUS_NR_0XDEDE = (RXBUF_UCHAR(1)); // Type of charge status / Art des Ladestatus ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADESTATUS_NR_0XDEDE", STAT_LADESTATUS_NR_0XDEDE, "\"0-n\""); unsigned char STAT_BEGINN_FENSTER_STD_WERT_0XDEDE = (RXBUF_UCHAR(2)); // Only with AC charging: Start of the favorable charging window (hours) / Nur bei AC-Laden: Beginn des günstigen // Ladefensters (Stunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_BEGINN_FENSTER_STD_WERT_0XDEDE", STAT_BEGINN_FENSTER_STD_WERT_0XDEDE, "\"h\""); unsigned char STAT_BEGINN_FENSTER_MIN_WERT_0XDEDE = (RXBUF_UCHAR(3)); // Only with AC charging: Start of the favorable charging window (minutes) / Nur bei AC-Laden: Beginn des // günstigen Ladefensters (Minuten) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_BEGINN_FENSTER_MIN_WERT_0XDEDE", STAT_BEGINN_FENSTER_MIN_WERT_0XDEDE, "\"min\""); unsigned char STAT_ENDE_FENSTER_STD_WERT_0XDEDE = (RXBUF_UCHAR(4)); // Only with AC charging: End of the favorable charging window (hours) / Nur bei AC-Laden: Ende des günstigen // Ladefensters (Stunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_ENDE_FENSTER_STD_WERT_0XDEDE", STAT_ENDE_FENSTER_STD_WERT_0XDEDE, "\"h\""); unsigned char STAT_ENDE_FENSTER_MIN_WERT_0XDEDE = (RXBUF_UCHAR(5)); // Only with AC charging: End of the favorable charging window (minutes) / Nur bei AC-Laden: Ende des günstigen // Ladefensters (Minuten) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_ENDE_FENSTER_MIN_WERT_0XDEDE", STAT_ENDE_FENSTER_MIN_WERT_0XDEDE, "\"min\""); unsigned char STAT_LADEFENSTER1_AUSWAHL_NR_0XDEDE = (RXBUF_UCHAR(6)); // Only with AC charging, two-time alarm clock: selection of the favorable charging window / Nur bei AC-Laden, // Zwei Zeit Wecker: Auswahl des günstigen Ladefensters ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEFENSTER1_AUSWAHL_NR_0XDEDE", STAT_LADEFENSTER1_AUSWAHL_NR_0XDEDE, "\"0-n\""); unsigned char STAT_LADEFENSTER2_AUSWAHL_NR_0XDEDE = (RXBUF_UCHAR(7)); // Only with AC charging, two-time alarm clock: selection of the favorable charging window / Nur bei AC-Laden, // Zwei Zeit Wecker: Auswahl des günstigen Ladefensters ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEFENSTER2_AUSWAHL_NR_0XDEDE", STAT_LADEFENSTER2_AUSWAHL_NR_0XDEDE, "\"0-n\""); unsigned char STAT_FAKTOR_STROMBEGRENZUNG_NR_0XDEDE = (RXBUF_UCHAR(8)); // Only with AC charging: Acknowledgment of the current limitation / Nur bei AC-Laden: Rückmeldung der // Strombegrenzung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_FAKTOR_STROMBEGRENZUNG_NR_0XDEDE", STAT_FAKTOR_STROMBEGRENZUNG_NR_0XDEDE, "\"0-n\""); unsigned char STAT_STROMBEGRENZUNG_AUSWAHL_NR_0XDEDE = (RXBUF_UCHAR(9)); // Acknowledgment of the AC current limitation selection: Only with AC charging / Rückmeldung der AC- // Strombegrenzungauswahl: Nur bei AC-Laden ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_STROMBEGRENZUNG_AUSWAHL_NR_0XDEDE", STAT_STROMBEGRENZUNG_AUSWAHL_NR_0XDEDE, "\"0-n\""); float STAT_POLY_TIM_1_WERT_0XDEDE = (RXBUF_UCHAR(10)*0.01f); // Feedback from the SOC support points: time (standardized) of the first support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des ersten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_TIM_1_WERT_0XDEDE", STAT_POLY_TIM_1_WERT_0XDEDE, ""); float STAT_POLY_SOC_1_WERT_0XDEDE = (RXBUF_UINT(11)*0.01f); // Feedback from the SOC support points: SOC of the first support point / Rückmeldung der SOC Unterstützpunkte: // SOC des ersten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_SOC_1_WERT_0XDEDE", STAT_POLY_SOC_1_WERT_0XDEDE, "\"%\""); float STAT_POLY_TIM_2_WERT_0XDEDE = (RXBUF_UCHAR(13)*0.01f); // Feedback from the SOC support points: time (normalized) of the second support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des zweiten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_TIM_2_WERT_0XDEDE", STAT_POLY_TIM_2_WERT_0XDEDE, ""); float STAT_POLY_SOC_2_WERT_0XDEDE = (RXBUF_UINT(14)*0.01f); // Feedback from the SOC support points: SOC of the second support point / Rückmeldung der SOC Unterstützpunkte: // SOC des zweiten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_SOC_2_WERT_0XDEDE", STAT_POLY_SOC_2_WERT_0XDEDE, "\"%\""); float STAT_POLY_TIM_3_WERT_0XDEDE = (RXBUF_UCHAR(16)*0.01f); // Feedback from the SOC support points: time (standardized) of the third support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des dritten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_TIM_3_WERT_0XDEDE", STAT_POLY_TIM_3_WERT_0XDEDE, ""); float STAT_POLY_SOC_3_WERT_0XDEDE = (RXBUF_UINT(17)*0.01f); // Feedback from the SOC support points: SOC of the third support point / Rückmeldung der SOC Unterstützpunkte: // SOC des dritten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_SOC_3_WERT_0XDEDE", STAT_POLY_SOC_3_WERT_0XDEDE, "\"%\""); float STAT_POLY_TIM_4_WERT_0XDEDE = (RXBUF_UCHAR(19)*0.01f); // Feedback from the SOC support points: time (standardized) of the fourth support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des vierten Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_TIM_4_WERT_0XDEDE", STAT_POLY_TIM_4_WERT_0XDEDE, ""); float STAT_POLY_SOC_4_WERT_0XDEDE = (RXBUF_UINT(20)*0.01f); // Feedback from the SOC support points: SOC of the fifth support point / Rückmeldung der SOC Unterstützpunkte: // SOC des fünften Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_SOC_4_WERT_0XDEDE", STAT_POLY_SOC_4_WERT_0XDEDE, "\"%\""); float STAT_POLY_TIM_5_WERT_0XDEDE = (RXBUF_UCHAR(22)*0.01f); // Feedback from the SOC support points: time (standardized) of the fifth support point / Rückmeldung der SOC // Unterstützpunkte: Zeit(normiert) des fünften Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_TIM_5_WERT_0XDEDE", STAT_POLY_TIM_5_WERT_0XDEDE, ""); float STAT_POLY_SOC_5_WERT_0XDEDE = (RXBUF_UINT(23)*0.01f); // Feedback from the SOC support points: SOC of the fifth support point / Rückmeldung der SOC Unterstützpunkte: // SOC des fünften Stützpunktes ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_POLY_SOC_5_WERT_0XDEDE", STAT_POLY_SOC_5_WERT_0XDEDE, "\"%\""); float STAT_HV_SOC_IST_WERT_0XDEDE = (RXBUF_UINT(25)*0.01f); // Current SOC of the HV battery / Aktueller SOC der HV-Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_HV_SOC_IST_WERT_0XDEDE", STAT_HV_SOC_IST_WERT_0XDEDE, "\"%\""); float STAT_LADEN_PROGNOSE_WERT_0XDEDE = (RXBUF_UCHAR(27)*5.0f); // Loading time forecast / Ladezeitprognose ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEN_PROGNOSE_WERT_0XDEDE", STAT_LADEN_PROGNOSE_WERT_0XDEDE, "\"min\""); unsigned char STAT_LADEN_SPANNUNG_WERT_0XDEDE = (RXBUF_UCHAR(28)); // AC charging voltage (only for AC charging) / AC-Ladespannung (nur bei AC Laden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEN_SPANNUNG_WERT_0XDEDE", STAT_LADEN_SPANNUNG_WERT_0XDEDE, "\"V\""); unsigned char STAT_LADEN_STROM_WERT_0XDEDE = (RXBUF_UCHAR(29)); // AC charging current (only for AC charging) / AC-Ladestrom (nur bei AC Laden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEN_STROM_WERT_0XDEDE", STAT_LADEN_STROM_WERT_0XDEDE, "\"A\""); float STAT_ENERGIEINHALT_IST_WERT_0XDEDE = (RXBUF_UINT32(30)*3600.0f); // Predicted energy content depending on the state of charge and on-board power consumption / Prognostizierte // Energieinhalt in Abhängigkeit des Ladezustands und des Bordnetzverbrauches ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "AE_LSC_LADEN", "STAT_ENERGIEINHALT_IST_WERT_0XDEDE", STAT_ENERGIEINHALT_IST_WERT_0XDEDE, "\"Ws\""); unsigned char STAT_LSC_TRIGGER_INHALT_NR_0XDEDE = (RXBUF_UCHAR(34)); // Status of the LSC trigger / Status des LSC-Triggers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LSC_TRIGGER_INHALT_NR_0XDEDE", STAT_LSC_TRIGGER_INHALT_NR_0XDEDE, "\"0-n\""); unsigned long STAT_ENERGIEINHALT_MAX_WERT_0XDEDE = (RXBUF_UINT32(35)); // Maximum possible energy content of the high-voltage storage system / Maximal möglicher Energieinhalt des // Hochvoltspeichers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "AE_LSC_LADEN", "STAT_ENERGIEINHALT_MAX_WERT_0XDEDE", STAT_ENERGIEINHALT_MAX_WERT_0XDEDE, "\"Ws\""); unsigned short STAT_LADEN_PROGNOSE_REST_WERT_0XDEDE = (RXBUF_UINT(39)); // Predicted remaining charging time: 0-65531 = value range; 65533 = Not available; 65532 = initialization; 65534 // = error; 65535 = signal valid / Prognostizierte Restladedauer: 0-65531 = Wertebereich; 65533 = Nicht // verfügbar; 65532 = Initialisierung; 65534 = Fehler; 65535 = Signal ugültig ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AE_LSC_LADEN", "STAT_LADEN_PROGNOSE_REST_WERT_0XDEDE", STAT_LADEN_PROGNOSE_REST_WERT_0XDEDE, "\"min\""); unsigned char STAT_LADESTECKER_NR_0XDEDE = (RXBUF_UCHAR(41)); // Condition of charging plug / Zustand Ladestecker ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_LSC_LADEN", "STAT_LADESTECKER_NR_0XDEDE", STAT_LADESTECKER_NR_0XDEDE, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_HISTOGRAMM_ANTRIEB: { // 0xDEED if (datalen < 180) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_HISTOGRAMM_ANTRIEB", 180); break; } unsigned long STAT_ANTR_HIST_010_WERT = (RXBUF_UINT32(0)); // History value ANTR_HIST_010 / Historienwert ANTR_HIST_010 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_010_WERT", STAT_ANTR_HIST_010_WERT, ""); unsigned long STAT_ANTR_HIST_011_WERT = (RXBUF_UINT32(4)); // History value ANTR_HIST_011 / Historienwert ANTR_HIST_011 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_011_WERT", STAT_ANTR_HIST_011_WERT, ""); unsigned long STAT_ANTR_HIST_012_WERT = (RXBUF_UINT32(8)); // History value ANTR_HIST_012 / Historienwert ANTR_HIST_012 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_012_WERT", STAT_ANTR_HIST_012_WERT, ""); unsigned long STAT_ANTR_HIST_013_WERT = (RXBUF_UINT32(12)); // History value ANTR_HIST_013 / Historienwert ANTR_HIST_013 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_013_WERT", STAT_ANTR_HIST_013_WERT, ""); unsigned long STAT_ANTR_HIST_014_WERT = (RXBUF_UINT32(16)); // History value ANTR_HIST_014 / Historienwert ANTR_HIST_014 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_014_WERT", STAT_ANTR_HIST_014_WERT, ""); unsigned long STAT_ANTR_HIST_015_WERT = (RXBUF_UINT32(20)); // History value ANTR_HIST_015 / Historienwert ANTR_HIST_015 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_015_WERT", STAT_ANTR_HIST_015_WERT, ""); unsigned long STAT_ANTR_HIST_016_WERT = (RXBUF_UINT32(24)); // History value ANTR_HIST_016 / Historienwert ANTR_HIST_016 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_016_WERT", STAT_ANTR_HIST_016_WERT, ""); unsigned long STAT_ANTR_HIST_017_WERT = (RXBUF_UINT32(28)); // History value ANTR_HIST_017 / Historienwert ANTR_HIST_017 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_017_WERT", STAT_ANTR_HIST_017_WERT, ""); unsigned long STAT_ANTR_HIST_018_WERT = (RXBUF_UINT32(32)); // History value ANTR_HIST_018 / Historienwert ANTR_HIST_018 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_018_WERT", STAT_ANTR_HIST_018_WERT, ""); unsigned long STAT_ANTR_HIST_019_WERT = (RXBUF_UINT32(36)); // History value ANTR_HIST_019 / Historienwert ANTR_HIST_019 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_019_WERT", STAT_ANTR_HIST_019_WERT, ""); unsigned long STAT_ANTR_HIST_020_WERT = (RXBUF_UINT32(40)); // History value ANTR_HIST_020 / Historienwert ANTR_HIST_020 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_020_WERT", STAT_ANTR_HIST_020_WERT, ""); unsigned long STAT_ANTR_HIST_021_WERT = (RXBUF_UINT32(44)); // History value ANTR_HIST_021 / Historienwert ANTR_HIST_021 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_021_WERT", STAT_ANTR_HIST_021_WERT, ""); unsigned long STAT_ANTR_HIST_022_WERT = (RXBUF_UINT32(48)); // History value ANTR_HIST_022 / Historienwert ANTR_HIST_022 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_022_WERT", STAT_ANTR_HIST_022_WERT, ""); unsigned long STAT_ANTR_HIST_023_WERT = (RXBUF_UINT32(52)); // History value ANTR_HIST_023 / Historienwert ANTR_HIST_023 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_023_WERT", STAT_ANTR_HIST_023_WERT, ""); unsigned long STAT_ANTR_HIST_024_WERT = (RXBUF_UINT32(56)); // History value ANTR_HIST_024 / Historienwert ANTR_HIST_024 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_024_WERT", STAT_ANTR_HIST_024_WERT, ""); unsigned long STAT_ANTR_HIST_025_WERT = (RXBUF_UINT32(60)); // History value ANTR_HIST_025 / Historienwert ANTR_HIST_025 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_025_WERT", STAT_ANTR_HIST_025_WERT, ""); unsigned long STAT_ANTR_HIST_026_WERT = (RXBUF_UINT32(64)); // History value ANTR_HIST_026 / Historienwert ANTR_HIST_026 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_026_WERT", STAT_ANTR_HIST_026_WERT, ""); unsigned long STAT_ANTR_HIST_027_WERT = (RXBUF_UINT32(68)); // History value ANTR_HIST_027 / Historienwert ANTR_HIST_027 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_027_WERT", STAT_ANTR_HIST_027_WERT, ""); unsigned long STAT_ANTR_HIST_1601_WERT = (RXBUF_UINT32(72)); // History value ANTR_HIST_1601 / Historienwert ANTR_HIST_1601 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_1601_WERT", STAT_ANTR_HIST_1601_WERT, ""); unsigned long STAT_ANTR_HIST_1602_WERT = (RXBUF_UINT32(76)); // History value ANTR_HIST_1602 / Historienwert ANTR_HIST_1602 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_1602_WERT", STAT_ANTR_HIST_1602_WERT, ""); unsigned long STAT_ANTR_HIST_1603_WERT = (RXBUF_UINT32(80)); // History value ANTR_HIST_1603 / Historienwert ANTR_HIST_1603 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_1603_WERT", STAT_ANTR_HIST_1603_WERT, ""); unsigned long STAT_ANTR_HIST_1604_WERT = (RXBUF_UINT32(84)); // History value ANTR_HIST_1604 / Historienwert ANTR_HIST_1604 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_1604_WERT", STAT_ANTR_HIST_1604_WERT, ""); unsigned long STAT_ANTR_HIST_1605_WERT = (RXBUF_UINT32(88)); // History value ANTR_HIST_1605 / Historienwert ANTR_HIST_1605 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_1605_WERT", STAT_ANTR_HIST_1605_WERT, ""); unsigned long STAT_ANTR_HIST_1606_WERT = (RXBUF_UINT32(92)); // History value ANTR_HIST_1606 / Historienwert ANTR_HIST_1606 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_1606_WERT", STAT_ANTR_HIST_1606_WERT, ""); float STAT_ANTR_HIST_3214_WERT = (RXBUF_UINT32(96)*0.01f); // History value ANTR_HIST_3214 / Historienwert ANTR_HIST_3214 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3214_WERT", STAT_ANTR_HIST_3214_WERT, ""); float STAT_ANTR_HIST_3215_WERT = (RXBUF_UINT32(100)*0.01f); // History value ANTR_HIST_3215 / Historienwert ANTR_HIST_3215 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3215_WERT", STAT_ANTR_HIST_3215_WERT, ""); float STAT_ANTR_HIST_3216_WERT = (RXBUF_UINT32(104)*0.01f); // History value ANTR_HIST_3216 / Historienwert ANTR_HIST_3216 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3216_WERT", STAT_ANTR_HIST_3216_WERT, ""); float STAT_ANTR_HIST_3217_WERT = (RXBUF_UINT32(108)*0.01f); // History value ANTR_HIST_3217 / Historienwert ANTR_HIST_3217 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3217_WERT", STAT_ANTR_HIST_3217_WERT, ""); float STAT_ANTR_HIST_3218_WERT = (RXBUF_UINT32(112)*0.01f); // History value ANTR_HIST_3218 / Historienwert ANTR_HIST_3218 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3218_WERT", STAT_ANTR_HIST_3218_WERT, ""); float STAT_ANTR_HIST_3219_WERT = (RXBUF_UINT32(116)*0.01f); // History value ANTR_HIST_3219 / Historienwert ANTR_HIST_3219 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3219_WERT", STAT_ANTR_HIST_3219_WERT, ""); float STAT_ANTR_HIST_3220_WERT = (RXBUF_UINT32(120)*0.01f); // History value ANTR_HIST_3220 / Historienwert ANTR_HIST_3220 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3220_WERT", STAT_ANTR_HIST_3220_WERT, ""); float STAT_ANTR_HIST_3221_WERT = (RXBUF_UINT32(124)*0.01f); // History value ANTR_HIST_3221 / Historienwert ANTR_HIST_3221 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3221_WERT", STAT_ANTR_HIST_3221_WERT, ""); float STAT_ANTR_HIST_3278_WERT = (RXBUF_UINT32(128)*0.01f); // History value ANTR_HIST_3278 / Historienwert ANTR_HIST_3278 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3278_WERT", STAT_ANTR_HIST_3278_WERT, ""); float STAT_ANTR_HIST_3279_WERT = (RXBUF_UINT32(132)*0.01f); // History value ANTR_HIST_3279 / Historienwert ANTR_HIST_3279 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3279_WERT", STAT_ANTR_HIST_3279_WERT, ""); float STAT_ANTR_HIST_3280_WERT = (RXBUF_UINT32(136)*0.01f); // History value ANTR_HIST_3280 / Historienwert ANTR_HIST_3280 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3280_WERT", STAT_ANTR_HIST_3280_WERT, ""); float STAT_ANTR_HIST_3281_WERT = (RXBUF_UINT32(140)*0.01f); // History value ANTR_HIST_3281 / Historienwert ANTR_HIST_3281 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3281_WERT", STAT_ANTR_HIST_3281_WERT, ""); float STAT_ANTR_HIST_3282_WERT = (RXBUF_UINT32(144)*0.01f); // History value ANTR_HIST_3282 / Historienwert ANTR_HIST_3282 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3282_WERT", STAT_ANTR_HIST_3282_WERT, ""); float STAT_ANTR_HIST_3283_WERT = (RXBUF_UINT32(148)*0.01f); // History value ANTR_HIST_3283 / Historienwert ANTR_HIST_3283 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3283_WERT", STAT_ANTR_HIST_3283_WERT, ""); float STAT_ANTR_HIST_3284_WERT = (RXBUF_UINT32(152)*0.01f); // History value ANTR_HIST_3284 / Historienwert ANTR_HIST_3284 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3284_WERT", STAT_ANTR_HIST_3284_WERT, ""); float STAT_ANTR_HIST_3285_WERT = (RXBUF_UINT32(156)*0.01f); // History value ANTR_HIST_3285 / Historienwert ANTR_HIST_3285 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3285_WERT", STAT_ANTR_HIST_3285_WERT, ""); float STAT_ANTR_HIST_3286_WERT = (RXBUF_UINT32(160)*0.01f); // History value ANTR_HIST_3286 / Historienwert ANTR_HIST_3286 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3286_WERT", STAT_ANTR_HIST_3286_WERT, ""); float STAT_ANTR_HIST_3287_WERT = (RXBUF_UINT32(164)*0.01f); // History value ANTR_HIST_3287 / Historienwert ANTR_HIST_3287 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3287_WERT", STAT_ANTR_HIST_3287_WERT, ""); float STAT_ANTR_HIST_3288_WERT = (RXBUF_UINT32(168)*0.01f); // History value ANTR_HIST_3288 / Historienwert ANTR_HIST_3288 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3288_WERT", STAT_ANTR_HIST_3288_WERT, ""); float STAT_ANTR_HIST_3289_WERT = (RXBUF_UINT32(172)*0.01f); // History value ANTR_HIST_3289 / Historienwert ANTR_HIST_3289 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3289_WERT", STAT_ANTR_HIST_3289_WERT, ""); float STAT_ANTR_HIST_3290_WERT = (RXBUF_UINT32(176)*0.01f); // History value ANTR_HIST_3290 / Historienwert ANTR_HIST_3290 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_ANTRIEB", "STAT_ANTR_HIST_3290_WERT", STAT_ANTR_HIST_3290_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_HISTOGRAMM_DEGRADATION: { // 0xDEEF if (datalen < 160) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_HISTOGRAMM_DEGRADATION", 160); break; } float STAT_ANTR_HIST_3238_WERT = (RXBUF_UINT32(0)*0.01f); // History value ANTR_HIST_3238 / Historienwert ANTR_HIST_3238 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3238_WERT", STAT_ANTR_HIST_3238_WERT, ""); float STAT_ANTR_HIST_3239_WERT = (RXBUF_UINT32(4)*0.01f); // History value ANTR_HIST_3239 / Historienwert ANTR_HIST_3239 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3239_WERT", STAT_ANTR_HIST_3239_WERT, ""); float STAT_ANTR_HIST_3240_WERT = (RXBUF_UINT32(8)*0.01f); // History value ANTR_HIST_3240 / Historienwert ANTR_HIST_3240 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3240_WERT", STAT_ANTR_HIST_3240_WERT, ""); float STAT_ANTR_HIST_3241_WERT = (RXBUF_UINT32(12)*0.01f); // History value ANTR_HIST_3241 / Historienwert ANTR_HIST_3241 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3241_WERT", STAT_ANTR_HIST_3241_WERT, ""); float STAT_ANTR_HIST_3242_WERT = (RXBUF_UINT32(16)*0.01f); // History value ANTR_HIST_3242 / Historienwert ANTR_HIST_3242 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3242_WERT", STAT_ANTR_HIST_3242_WERT, ""); float STAT_ANTR_HIST_3243_WERT = (RXBUF_UINT32(20)*0.01f); // History value ANTR_HIST_3243 / Historienwert ANTR_HIST_3243 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3243_WERT", STAT_ANTR_HIST_3243_WERT, ""); float STAT_ANTR_HIST_3244_WERT = (RXBUF_UINT32(24)*0.01f); // History value ANTR_HIST_3244 / Historienwert ANTR_HIST_3244 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3244_WERT", STAT_ANTR_HIST_3244_WERT, ""); float STAT_ANTR_HIST_3245_WERT = (RXBUF_UINT32(28)*0.01f); // History value ANTR_HIST_3245 / Historienwert ANTR_HIST_3245 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3245_WERT", STAT_ANTR_HIST_3245_WERT, ""); float STAT_ANTR_HIST_3246_WERT = (RXBUF_UINT32(32)*0.01f); // History value ANTR_HIST_3246 / Historienwert ANTR_HIST_3246 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3246_WERT", STAT_ANTR_HIST_3246_WERT, ""); float STAT_ANTR_HIST_3247_WERT = (RXBUF_UINT32(36)*0.01f); // History value ANTR_HIST_3247 / Historienwert ANTR_HIST_3247 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3247_WERT", STAT_ANTR_HIST_3247_WERT, ""); float STAT_ANTR_HIST_3248_WERT = (RXBUF_UINT32(40)*0.01f); // History value ANTR_HIST_3248 / Historienwert ANTR_HIST_3248 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3248_WERT", STAT_ANTR_HIST_3248_WERT, ""); float STAT_ANTR_HIST_3249_WERT = (RXBUF_UINT32(44)*0.01f); // History value ANTR_HIST_3249 / Historienwert ANTR_HIST_3249 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3249_WERT", STAT_ANTR_HIST_3249_WERT, ""); float STAT_ANTR_HIST_3250_WERT = (RXBUF_UINT32(48)*0.01f); // History value ANTR_HIST_3250 / Historienwert ANTR_HIST_3250 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3250_WERT", STAT_ANTR_HIST_3250_WERT, ""); float STAT_ANTR_HIST_3251_WERT = (RXBUF_UINT32(52)*0.01f); // History value ANTR_HIST_3251 / Historienwert ANTR_HIST_3251 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3251_WERT", STAT_ANTR_HIST_3251_WERT, ""); float STAT_ANTR_HIST_3252_WERT = (RXBUF_UINT32(56)*0.01f); // History value ANTR_HIST_3252 / Historienwert ANTR_HIST_3252 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3252_WERT", STAT_ANTR_HIST_3252_WERT, ""); float STAT_ANTR_HIST_3253_WERT = (RXBUF_UINT32(60)*0.01f); // History value ANTR_HIST_3253 / Historienwert ANTR_HIST_3253 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3253_WERT", STAT_ANTR_HIST_3253_WERT, ""); float STAT_ANTR_HIST_3254_WERT = (RXBUF_UINT32(64)*0.01f); // History value ANTR_HIST_3254 / Historienwert ANTR_HIST_3254 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3254_WERT", STAT_ANTR_HIST_3254_WERT, ""); float STAT_ANTR_HIST_3255_WERT = (RXBUF_UINT32(68)*0.01f); // History value ANTR_HIST_3255 / Historienwert ANTR_HIST_3255 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3255_WERT", STAT_ANTR_HIST_3255_WERT, ""); float STAT_ANTR_HIST_3256_WERT = (RXBUF_UINT32(72)*0.01f); // History value ANTR_HIST_3256 / Historienwert ANTR_HIST_3256 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3256_WERT", STAT_ANTR_HIST_3256_WERT, ""); float STAT_ANTR_HIST_3257_WERT = (RXBUF_UINT32(76)*0.01f); // History value ANTR_HIST_3257 / Historienwert ANTR_HIST_3257 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3257_WERT", STAT_ANTR_HIST_3257_WERT, ""); float STAT_ANTR_HIST_3258_WERT = (RXBUF_UINT32(80)*0.01f); // History value ANTR_HIST_3258 / Historienwert ANTR_HIST_3258 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3258_WERT", STAT_ANTR_HIST_3258_WERT, ""); float STAT_ANTR_HIST_3259_WERT = (RXBUF_UINT32(84)*0.01f); // History value ANTR_HIST_3259 / Historienwert ANTR_HIST_3259 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3259_WERT", STAT_ANTR_HIST_3259_WERT, ""); float STAT_ANTR_HIST_3260_WERT = (RXBUF_UINT32(88)*0.01f); // History value ANTR_HIST_3260 / Historienwert ANTR_HIST_3260 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3260_WERT", STAT_ANTR_HIST_3260_WERT, ""); float STAT_ANTR_HIST_3261_WERT = (RXBUF_UINT32(92)*0.01f); // History value ANTR_HIST_3261 / Historienwert ANTR_HIST_3261 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3261_WERT", STAT_ANTR_HIST_3261_WERT, ""); float STAT_ANTR_HIST_3262_WERT = (RXBUF_UINT32(96)*0.01f); // History value ANTR_HIST_3262 / Historienwert ANTR_HIST_3262 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3262_WERT", STAT_ANTR_HIST_3262_WERT, ""); float STAT_ANTR_HIST_3263_WERT = (RXBUF_UINT32(100)*0.01f); // History value ANTR_HIST_3263 / Historienwert ANTR_HIST_3263 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3263_WERT", STAT_ANTR_HIST_3263_WERT, ""); float STAT_ANTR_HIST_3264_WERT = (RXBUF_UINT32(104)*0.01f); // History value ANTR_HIST_3264 / Historienwert ANTR_HIST_3264 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3264_WERT", STAT_ANTR_HIST_3264_WERT, ""); float STAT_ANTR_HIST_3265_WERT = (RXBUF_UINT32(108)*0.01f); // History value ANTR_HIST_3265 / Historienwert ANTR_HIST_3265 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3265_WERT", STAT_ANTR_HIST_3265_WERT, ""); float STAT_ANTR_HIST_3266_WERT = (RXBUF_UINT32(112)*0.01f); // History value ANTR_HIST_3266 / Historienwert ANTR_HIST_3266 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3266_WERT", STAT_ANTR_HIST_3266_WERT, ""); float STAT_ANTR_HIST_3267_WERT = (RXBUF_UINT32(116)*0.01f); // History value ANTR_HIST_3267 / Historienwert ANTR_HIST_3267 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3267_WERT", STAT_ANTR_HIST_3267_WERT, ""); float STAT_ANTR_HIST_3268_WERT = (RXBUF_UINT32(120)*0.01f); // History value ANTR_HIST_3268 / Historienwert ANTR_HIST_3268 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3268_WERT", STAT_ANTR_HIST_3268_WERT, ""); float STAT_ANTR_HIST_3269_WERT = (RXBUF_UINT32(124)*0.01f); // History value ANTR_HIST_3269 / Historienwert ANTR_HIST_3269 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3269_WERT", STAT_ANTR_HIST_3269_WERT, ""); float STAT_ANTR_HIST_3270_WERT = (RXBUF_UINT32(128)*0.01f); // History value ANTR_HIST_3270 / Historienwert ANTR_HIST_3270 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3270_WERT", STAT_ANTR_HIST_3270_WERT, ""); float STAT_ANTR_HIST_3271_WERT = (RXBUF_UINT32(132)*0.01f); // History value ANTR_HIST_3271 / Historienwert ANTR_HIST_3271 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3271_WERT", STAT_ANTR_HIST_3271_WERT, ""); float STAT_ANTR_HIST_3272_WERT = (RXBUF_UINT32(136)*0.01f); // History value ANTR_HIST_3272 / Historienwert ANTR_HIST_3272 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3272_WERT", STAT_ANTR_HIST_3272_WERT, ""); float STAT_ANTR_HIST_3273_WERT = (RXBUF_UINT32(140)*0.01f); // History value ANTR_HIST_3273 / Historienwert ANTR_HIST_3273 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3273_WERT", STAT_ANTR_HIST_3273_WERT, ""); float STAT_ANTR_HIST_3274_WERT = (RXBUF_UINT32(144)*0.01f); // History value ANTR_HIST_3274 / Historienwert ANTR_HIST_3274 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3274_WERT", STAT_ANTR_HIST_3274_WERT, ""); float STAT_ANTR_HIST_3275_WERT = (RXBUF_UINT32(148)*0.01f); // History value ANTR_HIST_3275 / Historienwert ANTR_HIST_3275 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3275_WERT", STAT_ANTR_HIST_3275_WERT, ""); float STAT_ANTR_HIST_3276_WERT = (RXBUF_UINT32(152)*0.01f); // History value ANTR_HIST_3276 / Historienwert ANTR_HIST_3276 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3276_WERT", STAT_ANTR_HIST_3276_WERT, ""); float STAT_ANTR_HIST_3277_WERT = (RXBUF_UINT32(156)*0.01f); // History value ANTR_HIST_3277 / Historienwert ANTR_HIST_3277 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "HISTOGRAMM_DEGRADATION", "STAT_ANTR_HIST_3277_WERT", STAT_ANTR_HIST_3277_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AUTOP_SBW: { // 0xDEFB if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AUTOP_SBW", 12); break; } unsigned short STAT_COUNT_AUTOP_LVEH_WERT = (RXBUF_UINT(0)); // Exit frequency counter for Auto-P on vehicle / Häufigkeitszähler für Auto-P bei Fahrzeug verlassen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AUTOP_SBW", "STAT_COUNT_AUTOP_LVEH_WERT", STAT_COUNT_AUTOP_LVEH_WERT, ""); unsigned short STAT_COUNT_AUTOP_EMF_N_WERT = (RXBUF_UINT(2)); // Frequency counter for Auto-P by EMF call for help in N / Häufigkeitszähler für Auto-P durch EMF-Hilferuf in N ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AUTOP_SBW", "STAT_COUNT_AUTOP_EMF_N_WERT", STAT_COUNT_AUTOP_EMF_N_WERT, ""); unsigned short STAT_COUNT_AUTOP_EMF_DR_WERT = (RXBUF_UINT(4)); // Frequency counter for Auto-P by EMF call for help in D or R / Häufigkeitszähler für Auto-P durch EMF-Hilferuf // in D oder R ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AUTOP_SBW", "STAT_COUNT_AUTOP_EMF_DR_WERT", STAT_COUNT_AUTOP_EMF_DR_WERT, ""); unsigned short STAT_COUNT_AUTOP_FB_WERT = (RXBUF_UINT(6)); // Frequency counter for Auto-P in the event of loss of driving readiness / Häufigkeitszähler für Auto-P bei // Fahrbereitschaftsverlust ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AUTOP_SBW", "STAT_COUNT_AUTOP_FB_WERT", STAT_COUNT_AUTOP_FB_WERT, ""); unsigned short STAT_COUNT_AUTOP_KL15_WERT = (RXBUF_UINT(8)); // Frequency counter for Auto-P when terminal 15 is switched off / Häufigkeitszähler für Auto-P bei Klemme15 // Abschaltung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AUTOP_SBW", "STAT_COUNT_AUTOP_KL15_WERT", STAT_COUNT_AUTOP_KL15_WERT, ""); unsigned short STAT_COUNT_AUTOP_CHRGWIRE_WERT = (RXBUF_UINT(10)); // Frequency counter for Auto-P when the charging cable is plugged in / Häufigkeitszähler für Auto-P bei // gestecktem Ladekabel ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "AUTOP_SBW", "STAT_COUNT_AUTOP_CHRGWIRE_WERT", STAT_COUNT_AUTOP_CHRGWIRE_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_FAHRSTUFEN_ZAEHLER_SBW: { // 0xDEFF if (datalen < 48) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_FAHRSTUFEN_ZAEHLER_SBW", 48); break; } unsigned long STAT_ZAEHLER_WECHSEL_P_NACH_R_WERT = (RXBUF_UINT32(0)); // Number of speed step changes from P to R / Anzahl Fahrstufenwechsel von P nach R ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_P_NACH_R_WERT", STAT_ZAEHLER_WECHSEL_P_NACH_R_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_P_NACH_N_WERT = (RXBUF_UINT32(4)); // Number of speed step changes from P to N / Anzahl Fahrstufenwechsel von P nach N ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_P_NACH_N_WERT", STAT_ZAEHLER_WECHSEL_P_NACH_N_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_P_NACH_D_WERT = (RXBUF_UINT32(8)); // Number of speed step changes from P to D / Anzahl Fahrstufenwechsel von P nach D ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_P_NACH_D_WERT", STAT_ZAEHLER_WECHSEL_P_NACH_D_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_R_NACH_P_WERT = (RXBUF_UINT32(12)); // Number of speed step changes from R to P / Anzahl Fahrstufenwechsel von R nach P ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_R_NACH_P_WERT", STAT_ZAEHLER_WECHSEL_R_NACH_P_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_R_NACH_N_WERT = (RXBUF_UINT32(16)); // Number of speed step changes from R to N / Anzahl Fahrstufenwechsel von R nach N ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_R_NACH_N_WERT", STAT_ZAEHLER_WECHSEL_R_NACH_N_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_R_NACH_D_WERT = (RXBUF_UINT32(20)); // Number of speed step changes from R to D / Anzahl Fahrstufenwechsel von R nach D ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_R_NACH_D_WERT", STAT_ZAEHLER_WECHSEL_R_NACH_D_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_N_NACH_P_WERT = (RXBUF_UINT32(24)); // Number of speed step changes from N to P / Anzahl Fahrstufenwechsel von N nach P ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_N_NACH_P_WERT", STAT_ZAEHLER_WECHSEL_N_NACH_P_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_N_NACH_R_WERT = (RXBUF_UINT32(28)); // Number of speed step changes from N to R / Anzahl Fahrstufenwechsel von N nach R ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_N_NACH_R_WERT", STAT_ZAEHLER_WECHSEL_N_NACH_R_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_N_NACH_D_WERT = (RXBUF_UINT32(32)); // Number of speed step changes from N to D / Anzahl Fahrstufenwechsel von N nach D ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_N_NACH_D_WERT", STAT_ZAEHLER_WECHSEL_N_NACH_D_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_D_NACH_P_WERT = (RXBUF_UINT32(36)); // Number of speed step changes from D to P / Anzahl Fahrstufenwechsel von D nach P ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_D_NACH_P_WERT", STAT_ZAEHLER_WECHSEL_D_NACH_P_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_D_NACH_R_WERT = (RXBUF_UINT32(40)); // Number of speed step changes from D to R / Anzahl Fahrstufenwechsel von D nach R ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_D_NACH_R_WERT", STAT_ZAEHLER_WECHSEL_D_NACH_R_WERT, ""); unsigned long STAT_ZAEHLER_WECHSEL_D_NACH_N_WERT = (RXBUF_UINT32(44)); // Number of speed step changes from D to N / Anzahl Fahrstufenwechsel von D nach N ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "FAHRSTUFEN_ZAEHLER_SBW", "STAT_ZAEHLER_WECHSEL_D_NACH_N_WERT", STAT_ZAEHLER_WECHSEL_D_NACH_N_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_HISTOGRAMM_LADEKOORDINATOR: { // 0xDF49 if (datalen < 96) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_HISTOGRAMM_LADEKOORDINATOR", 96); break; } unsigned long STAT_LEISTUNG_HIST_INT_1_WERT = (RXBUF_UINT32(0)); // Power histrogram value 1 from internal charger / Leistungshistrogramm Wert 1 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_INT_1_WERT", STAT_LEISTUNG_HIST_INT_1_WERT, ""); unsigned long STAT_LEISTUNG_HIST_INT_2_WERT = (RXBUF_UINT32(4)); // Power histrogram value 2 from the internal charger / Leistungshistrogramm Wert 2 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_INT_2_WERT", STAT_LEISTUNG_HIST_INT_2_WERT, ""); unsigned long STAT_LEISTUNG_HIST_INT_3_WERT = (RXBUF_UINT32(8)); // Power histrogram value 3 from the internal charger / Leistungshistrogramm Wert 3 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_INT_3_WERT", STAT_LEISTUNG_HIST_INT_3_WERT, ""); unsigned long STAT_LEISTUNG_HIST_INT_4_WERT = (RXBUF_UINT32(12)); // Power histrogram value 4 from the internal charger / Leistungshistrogramm Wert 4 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_INT_4_WERT", STAT_LEISTUNG_HIST_INT_4_WERT, ""); unsigned long STAT_LEISTUNG_HIST_INT_5_WERT = (RXBUF_UINT32(16)); // Power histrogram value 5 from the internal charger / Leistungshistrogramm Wert 5 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_INT_5_WERT", STAT_LEISTUNG_HIST_INT_5_WERT, ""); unsigned long STAT_LEISTUNG_HIST_INT_6_WERT = (RXBUF_UINT32(20)); // Power histrogram value 6 from internal charger / Leistungshistrogramm Wert 6 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_INT_6_WERT", STAT_LEISTUNG_HIST_INT_6_WERT, ""); unsigned long STAT_TEMP_HIST_INT_1_WERT = (RXBUF_UINT32(24)); // Temperature histogram value 1 from the internal charger / Temperaturhistogramm Wert 1 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_INT_1_WERT", STAT_TEMP_HIST_INT_1_WERT, ""); unsigned long STAT_TEMP_HIST_INT_2_WERT = (RXBUF_UINT32(28)); // Temperature histogram value 2 from the internal charger / Temperaturhistogramm Wert 2 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_INT_2_WERT", STAT_TEMP_HIST_INT_2_WERT, ""); unsigned long STAT_TEMP_HIST_INT_3_WERT = (RXBUF_UINT32(32)); // Temperature histogram value 3 from the internal charger / Temperaturhistogramm Wert 3 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_INT_3_WERT", STAT_TEMP_HIST_INT_3_WERT, ""); unsigned long STAT_TEMP_HIST_INT_4_WERT = (RXBUF_UINT32(36)); // Temperature histogram value 4 from the internal charger / Temperaturhistogramm Wert 4 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_INT_4_WERT", STAT_TEMP_HIST_INT_4_WERT, ""); unsigned long STAT_TEMP_HIST_INT_5_WERT = (RXBUF_UINT32(40)); // Temperature histogram value 5 from the internal charger / Temperaturhistogramm Wert 5 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_INT_5_WERT", STAT_TEMP_HIST_INT_5_WERT, ""); unsigned long STAT_TEMP_HIST_INT_6_WERT = (RXBUF_UINT32(44)); // Temperature histogram value 6 from the internal charger / Temperaturhistogramm Wert 6 vom internen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_INT_6_WERT", STAT_TEMP_HIST_INT_6_WERT, ""); unsigned long STAT_LEISTUNG_HIST_EXT_1_WERT = (RXBUF_UINT32(48)); // Power histrogram value 1 from external charger / Leistungshistrogramm Wert 1 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_EXT_1_WERT", STAT_LEISTUNG_HIST_EXT_1_WERT, ""); unsigned long STAT_LEISTUNG_HIST_EXT_2_WERT = (RXBUF_UINT32(52)); // Power histrogram value 2 from external charger / Leistungshistrogramm Wert 2 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_EXT_2_WERT", STAT_LEISTUNG_HIST_EXT_2_WERT, ""); unsigned long STAT_LEISTUNG_HIST_EXT_3_WERT = (RXBUF_UINT32(56)); // Power histrogram value 3 from external charger / Leistungshistrogramm Wert 3 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_EXT_3_WERT", STAT_LEISTUNG_HIST_EXT_3_WERT, ""); unsigned long STAT_LEISTUNG_HIST_EXT_4_WERT = (RXBUF_UINT32(60)); // Power histrogram value 4 from external charger / Leistungshistrogramm Wert 4 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_EXT_4_WERT", STAT_LEISTUNG_HIST_EXT_4_WERT, ""); unsigned long STAT_LEISTUNG_HIST_EXT_5_WERT = (RXBUF_UINT32(64)); // Power histrogram value 5 from external charger / Leistungshistrogramm Wert 5 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_EXT_5_WERT", STAT_LEISTUNG_HIST_EXT_5_WERT, ""); unsigned long STAT_LEISTUNG_HIST_EXT_6_WERT = (RXBUF_UINT32(68)); // Power histrogram value 6 from external charger / Leistungshistrogramm Wert 6 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_LEISTUNG_HIST_EXT_6_WERT", STAT_LEISTUNG_HIST_EXT_6_WERT, ""); unsigned long STAT_TEMP_HIST_EXT_1_WERT = (RXBUF_UINT32(72)); // Temperature histogram value 1 from external charger / Temperaturhistogramm Wert 1 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_EXT_1_WERT", STAT_TEMP_HIST_EXT_1_WERT, ""); unsigned long STAT_TEMP_HIST_EXT_2_WERT = (RXBUF_UINT32(76)); // Temperature histogram value 2 from the external charger / Temperaturhistogramm Wert 2 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_EXT_2_WERT", STAT_TEMP_HIST_EXT_2_WERT, ""); unsigned long STAT_TEMP_HIST_EXT_3_WERT = (RXBUF_UINT32(80)); // Temperature histogram value 3 from the external charger / Temperaturhistogramm Wert 3 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_EXT_3_WERT", STAT_TEMP_HIST_EXT_3_WERT, ""); unsigned long STAT_TEMP_HIST_EXT_4_WERT = (RXBUF_UINT32(84)); // Temperature histogram value 4 from the external charger / Temperaturhistogramm Wert 4 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_EXT_4_WERT", STAT_TEMP_HIST_EXT_4_WERT, ""); unsigned long STAT_TEMP_HIST_EXT_5_WERT = (RXBUF_UINT32(88)); // Temperature histogram value 5 from the external charger / Temperaturhistogramm Wert 5 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_EXT_5_WERT", STAT_TEMP_HIST_EXT_5_WERT, ""); unsigned long STAT_TEMP_HIST_EXT_6_WERT = (RXBUF_UINT32(92)); // Temperature histogram value 6 from the external charger / Temperaturhistogramm Wert 6 vom externen Ladegerät ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "HISTOGRAMM_LADEKOORDINATOR", "STAT_TEMP_HIST_EXT_6_WERT", STAT_TEMP_HIST_EXT_6_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_INVERTER_HISTOGRAMM: { // 0xDF4D if (datalen < 5) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_INVERTER_HISTOGRAMM", 5); break; } unsigned char STAT_INVERTER_IGBT_LEBENSZEIT_WERT = (RXBUF_UCHAR(0)-10.0); // Total IGBT lifetime consumption / Summierter Lebensdauerverbrauch IGBT ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "INVERTER_HISTOGRAMM", "STAT_INVERTER_IGBT_LEBENSZEIT_WERT", STAT_INVERTER_IGBT_LEBENSZEIT_WERT, "\"%\""); unsigned char STAT_INVERTER_IGBT_LEBENSZEIT_KONST_KUEHLUNG_WERT = (RXBUF_UCHAR(1)-10.0); // Total IGBT service life consumption for a constant coolant temperature of 70 ° C / Summierter // Lebensdauerverbrauch IGBT für konstante Kühlmitteltemperatur von 70°C ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "INVERTER_HISTOGRAMM", "STAT_INVERTER_IGBT_LEBENSZEIT_KONST_KUEHLUNG_WERT", STAT_INVERTER_IGBT_LEBENSZEIT_KONST_KUEHLUNG_WERT, "\"%\""); unsigned char STAT_INVERTER_DIODE_LEBENSZEIT_WERT = (RXBUF_UCHAR(2)-10.0); // Total diode lifetime consumption / Summierter Lebensdauerverbrauch Diode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "INVERTER_HISTOGRAMM", "STAT_INVERTER_DIODE_LEBENSZEIT_WERT", STAT_INVERTER_DIODE_LEBENSZEIT_WERT, "\"%\""); unsigned char STAT_INVERTER_DIODE_LEBENSZEIT_KONST_KUEHLUNG_WERT = (RXBUF_UCHAR(3)-10.0); // Total service life consumption diode for constant coolant temperature of 70 ° C / Summierter // Lebensdauerverbrauch Diode für konstante Kühlmitteltemperatur von 70°C ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "INVERTER_HISTOGRAMM", "STAT_INVERTER_DIODE_LEBENSZEIT_KONST_KUEHLUNG_WERT", STAT_INVERTER_DIODE_LEBENSZEIT_KONST_KUEHLUNG_WERT, "\"%\""); unsigned char STAT_INVERTER_RESET_LEBENSZEIT_WERT = (RXBUF_UCHAR(4)); // Number of residual overflows that occurred / Anzahl der aufgetretenen Überläufe des Residuums ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "INVERTER_HISTOGRAMM", "STAT_INVERTER_RESET_LEBENSZEIT_WERT", STAT_INVERTER_RESET_LEBENSZEIT_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_INVERTER_RBM_INFO: { // 0xDF58 if (datalen < 48) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_INVERTER_RBM_INFO", 48); break; } unsigned long STAT_SAE_DTC1_WERT = (RXBUF_UINT32(0)); // SAE DTC 1 / SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC1_WERT", STAT_SAE_DTC1_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM1_WERT = (RXBUF_UINT(4)); // Counter for the SAE DTC 1 / Zähler für den SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_NUM1_WERT", STAT_SAE_DTC_NUM1_WERT, ""); unsigned short STAT_SAE_DTC_DEN1_WERT = (RXBUF_UINT(6)); // Denominator for the SAE DTC 1 / Nenner für den SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_DEN1_WERT", STAT_SAE_DTC_DEN1_WERT, ""); unsigned long STAT_SAE_DTC2_WERT = (RXBUF_UINT32(8)); // SAE DTC 2 / SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC2_WERT", STAT_SAE_DTC2_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM2_WERT = (RXBUF_UINT(12)); // Counter for the SAE DTC 2 / Zähler für den SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_NUM2_WERT", STAT_SAE_DTC_NUM2_WERT, ""); unsigned short STAT_SAE_DTC_DEN2_WERT = (RXBUF_UINT(14)); // Denominator for the SAE DTC 2 / Nenner für den SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_DEN2_WERT", STAT_SAE_DTC_DEN2_WERT, ""); unsigned long STAT_SAE_DTC3_WERT = (RXBUF_UINT32(16)); // SAE DTC 3 / SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC3_WERT", STAT_SAE_DTC3_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM3_WERT = (RXBUF_UINT(20)); // Counter for the SAE DTC 3 / Zähler für den SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_NUM3_WERT", STAT_SAE_DTC_NUM3_WERT, ""); unsigned short STAT_SAE_DTC_DEN3_WERT = (RXBUF_UINT(22)); // Denominator for the SAE DTC 3 / Nenner für den SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_DEN3_WERT", STAT_SAE_DTC_DEN3_WERT, ""); unsigned long STAT_SAE_DTC4_WERT = (RXBUF_UINT32(24)); // SAE DTC 4 / SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC4_WERT", STAT_SAE_DTC4_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM4_WERT = (RXBUF_UINT(28)); // Counter for the SAE DTC 4 / Zähler für den SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_NUM4_WERT", STAT_SAE_DTC_NUM4_WERT, ""); unsigned short STAT_SAE_DTC_DEN4_WERT = (RXBUF_UINT(30)); // Denominator for the SAE DTC 4 / Nenner für den SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_DEN4_WERT", STAT_SAE_DTC_DEN4_WERT, ""); unsigned long STAT_SAE_DTC5_WERT = (RXBUF_UINT32(32)); // SAE DTC 5 / SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC5_WERT", STAT_SAE_DTC5_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM5_WERT = (RXBUF_UINT(36)); // Counter for the SAE DTC 5 / Zähler für den SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_NUM5_WERT", STAT_SAE_DTC_NUM5_WERT, ""); unsigned short STAT_SAE_DTC_DEN5_WERT = (RXBUF_UINT(38)); // Denominator for the SAE DTC 5 / Nenner für den SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_DEN5_WERT", STAT_SAE_DTC_DEN5_WERT, ""); unsigned long STAT_SAE_DTC6_WERT = (RXBUF_UINT32(40)); // SAE DTC 6 / SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC6_WERT", STAT_SAE_DTC6_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM6_WERT = (RXBUF_UINT(44)); // Counter for the SAE DTC 6 / Zähler für den SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_NUM6_WERT", STAT_SAE_DTC_NUM6_WERT, ""); unsigned short STAT_SAE_DTC_DEN6_WERT = (RXBUF_UINT(46)); // Denominator for the SAE DTC 6 / Nenner für den SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "INVERTER_RBM_INFO", "STAT_SAE_DTC_DEN6_WERT", STAT_SAE_DTC_DEN6_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_DCDC_RBM_INFO: { // 0xDF59 if (datalen < 64) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_DCDC_RBM_INFO", 64); break; } unsigned long STAT_SAE_DTC1_WERT_0XDF59 = (RXBUF_UINT32(0)); // SAE DTC 1 / SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC1_WERT_0XDF59", STAT_SAE_DTC1_WERT_0XDF59, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM1_WERT_0XDF59 = (RXBUF_UINT(4)); // Counter for the SAE DTC 1 / Zähler für den SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM1_WERT_0XDF59", STAT_SAE_DTC_NUM1_WERT_0XDF59, ""); unsigned short STAT_SAE_DTC_DEN1_WERT_0XDF59 = (RXBUF_UINT(6)); // Denominator for the SAE DTC 1 / Nenner für den SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN1_WERT_0XDF59", STAT_SAE_DTC_DEN1_WERT_0XDF59, ""); unsigned long STAT_SAE_DTC2_WERT_0XDF59 = (RXBUF_UINT32(8)); // SAE DTC 2 / SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC2_WERT_0XDF59", STAT_SAE_DTC2_WERT_0XDF59, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM2_WERT_0XDF59 = (RXBUF_UINT(12)); // Counter for the SAE DTC 2 / Zähler für den SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM2_WERT_0XDF59", STAT_SAE_DTC_NUM2_WERT_0XDF59, ""); unsigned short STAT_SAE_DTC_DEN2_WERT_0XDF59 = (RXBUF_UINT(14)); // Denominator for the SAE DTC 2 / Nenner für den SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN2_WERT_0XDF59", STAT_SAE_DTC_DEN2_WERT_0XDF59, ""); unsigned long STAT_SAE_DTC3_WERT_0XDF59 = (RXBUF_UINT32(16)); // SAE DTC 3 / SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC3_WERT_0XDF59", STAT_SAE_DTC3_WERT_0XDF59, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM3_WERT_0XDF59 = (RXBUF_UINT(20)); // Counter for the SAE DTC 3 / Zähler für den SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM3_WERT_0XDF59", STAT_SAE_DTC_NUM3_WERT_0XDF59, ""); unsigned short STAT_SAE_DTC_DEN3_WERT_0XDF59 = (RXBUF_UINT(22)); // Denominator for the SAE DTC 3 / Nenner für den SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN3_WERT_0XDF59", STAT_SAE_DTC_DEN3_WERT_0XDF59, ""); unsigned long STAT_SAE_DTC4_WERT_0XDF59 = (RXBUF_UINT32(24)); // SAE DTC 4 / SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC4_WERT_0XDF59", STAT_SAE_DTC4_WERT_0XDF59, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM4_WERT_0XDF59 = (RXBUF_UINT(28)); // Counter for the SAE DTC 4 / Zähler für den SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM4_WERT_0XDF59", STAT_SAE_DTC_NUM4_WERT_0XDF59, ""); unsigned short STAT_SAE_DTC_DEN4_WERT_0XDF59 = (RXBUF_UINT(30)); // Denominator for the SAE DTC 4 / Nenner für den SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN4_WERT_0XDF59", STAT_SAE_DTC_DEN4_WERT_0XDF59, ""); unsigned long STAT_SAE_DTC5_WERT_0XDF59 = (RXBUF_UINT32(32)); // SAE DTC 5 / SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC5_WERT_0XDF59", STAT_SAE_DTC5_WERT_0XDF59, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM5_WERT_0XDF59 = (RXBUF_UINT(36)); // Counter for the SAE DTC 5 / Zähler für den SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM5_WERT_0XDF59", STAT_SAE_DTC_NUM5_WERT_0XDF59, ""); unsigned short STAT_SAE_DTC_DEN5_WERT_0XDF59 = (RXBUF_UINT(38)); // Denominator for the SAE DTC 5 / Nenner für den SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN5_WERT_0XDF59", STAT_SAE_DTC_DEN5_WERT_0XDF59, ""); unsigned long STAT_SAE_DTC6_WERT_0XDF59 = (RXBUF_UINT32(40)); // SAE DTC 6 / SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC6_WERT_0XDF59", STAT_SAE_DTC6_WERT_0XDF59, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM6_WERT_0XDF59 = (RXBUF_UINT(44)); // Counter for the SAE DTC 6 / Zähler für den SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM6_WERT_0XDF59", STAT_SAE_DTC_NUM6_WERT_0XDF59, ""); unsigned short STAT_SAE_DTC_DEN6_WERT_0XDF59 = (RXBUF_UINT(46)); // Denominator for the SAE DTC 6 / Nenner für den SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN6_WERT_0XDF59", STAT_SAE_DTC_DEN6_WERT_0XDF59, ""); unsigned long STAT_SAE_DTC7_WERT = (RXBUF_UINT32(48)); // SAE DTC 7 / SAE DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC7_WERT", STAT_SAE_DTC7_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM7_WERT = (RXBUF_UINT(52)); // Counter for the SAE DTC 7 / Zähler für den SAE DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM7_WERT", STAT_SAE_DTC_NUM7_WERT, ""); unsigned short STAT_SAE_DTC_DEN7_WERT = (RXBUF_UINT(54)); // Denominator for the SAE DTC 7 / Nenner für den SAE DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN7_WERT", STAT_SAE_DTC_DEN7_WERT, ""); unsigned long STAT_SAE_DTC8_WERT = (RXBUF_UINT32(56)); // SAE DTC 8 / SAE DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC8_WERT", STAT_SAE_DTC8_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM8_WERT = (RXBUF_UINT(60)); // Counter for the SAE DTC 8 / Zähler für den SAE DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_NUM8_WERT", STAT_SAE_DTC_NUM8_WERT, ""); unsigned short STAT_SAE_DTC_DEN8_WERT = (RXBUF_UINT(62)); // Denominator for the SAE DTC 8 / Nenner für den SAE DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_RBM_INFO", "STAT_SAE_DTC_DEN8_WERT", STAT_SAE_DTC_DEN8_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_LADEGERAET_RBM_INFO: { // 0xDF5A if (datalen < 192) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_LADEGERAET_RBM_INFO", 192); break; } unsigned long STAT_SAE_DTC1_WERT_0XDF5A = (RXBUF_UINT32(0)); // SAE DTC 1 / SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC1_WERT_0XDF5A", STAT_SAE_DTC1_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM1_WERT_0XDF5A = (RXBUF_UINT(4)); // Counter for the SAE DTC 1 / Zähler für den SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM1_WERT_0XDF5A", STAT_SAE_DTC_NUM1_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN1_WERT_0XDF5A = (RXBUF_UINT(6)); // Denominator for the SAE DTC 1 / Nenner für den SAE DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN1_WERT_0XDF5A", STAT_SAE_DTC_DEN1_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC2_WERT_0XDF5A = (RXBUF_UINT32(8)); // SAE DTC 2 / SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC2_WERT_0XDF5A", STAT_SAE_DTC2_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM2_WERT_0XDF5A = (RXBUF_UINT(12)); // Counter for the SAE DTC 2 / Zähler für den SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM2_WERT_0XDF5A", STAT_SAE_DTC_NUM2_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN2_WERT_0XDF5A = (RXBUF_UINT(14)); // Denominator for the SAE DTC 2 / Nenner für den SAE DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN2_WERT_0XDF5A", STAT_SAE_DTC_DEN2_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC3_WERT_0XDF5A = (RXBUF_UINT32(16)); // SAE DTC 3 / SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC3_WERT_0XDF5A", STAT_SAE_DTC3_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM3_WERT_0XDF5A = (RXBUF_UINT(20)); // Counter for the SAE DTC 3 / Zähler für den SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM3_WERT_0XDF5A", STAT_SAE_DTC_NUM3_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN3_WERT_0XDF5A = (RXBUF_UINT(22)); // Denominator for the SAE DTC 3 / Nenner für den SAE DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN3_WERT_0XDF5A", STAT_SAE_DTC_DEN3_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC4_WERT_0XDF5A = (RXBUF_UINT32(24)); // SAE DTC 4 / SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC4_WERT_0XDF5A", STAT_SAE_DTC4_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM4_WERT_0XDF5A = (RXBUF_UINT(28)); // Counter for the SAE DTC 4 / Zähler für den SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM4_WERT_0XDF5A", STAT_SAE_DTC_NUM4_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN4_WERT_0XDF5A = (RXBUF_UINT(30)); // Denominator for the SAE DTC 4 / Nenner für den SAE DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN4_WERT_0XDF5A", STAT_SAE_DTC_DEN4_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC5_WERT_0XDF5A = (RXBUF_UINT32(32)); // SAE DTC 5 / SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC5_WERT_0XDF5A", STAT_SAE_DTC5_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM5_WERT_0XDF5A = (RXBUF_UINT(36)); // Counter for the SAE DTC 5 / Zähler für den SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM5_WERT_0XDF5A", STAT_SAE_DTC_NUM5_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN5_WERT_0XDF5A = (RXBUF_UINT(38)); // Denominator for the SAE DTC 5 / Nenner für den SAE DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN5_WERT_0XDF5A", STAT_SAE_DTC_DEN5_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC6_WERT_0XDF5A = (RXBUF_UINT32(40)); // SAE DTC 6 / SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC6_WERT_0XDF5A", STAT_SAE_DTC6_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM6_WERT_0XDF5A = (RXBUF_UINT(44)); // Counter for the SAE DTC 6 / Zähler für den SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM6_WERT_0XDF5A", STAT_SAE_DTC_NUM6_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN6_WERT_0XDF5A = (RXBUF_UINT(46)); // Denominator for the SAE DTC 6 / Nenner für den SAE DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN6_WERT_0XDF5A", STAT_SAE_DTC_DEN6_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC7_WERT_0XDF5A = (RXBUF_UINT32(48)); // SAE DTC 7 / SAE DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC7_WERT_0XDF5A", STAT_SAE_DTC7_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM7_WERT_0XDF5A = (RXBUF_UINT(52)); // Counter for the SAE DTC 7 / Zähler für den SAE DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM7_WERT_0XDF5A", STAT_SAE_DTC_NUM7_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN7_WERT_0XDF5A = (RXBUF_UINT(54)); // Denominator for the SAE DTC 7 / Nenner für den SAE DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN7_WERT_0XDF5A", STAT_SAE_DTC_DEN7_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC8_WERT_0XDF5A = (RXBUF_UINT32(56)); // SAE DTC 8 / SAE DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC8_WERT_0XDF5A", STAT_SAE_DTC8_WERT_0XDF5A, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM8_WERT_0XDF5A = (RXBUF_UINT(60)); // Counter for the SAE DTC 8 / Zähler für den SAE DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM8_WERT_0XDF5A", STAT_SAE_DTC_NUM8_WERT_0XDF5A, ""); unsigned short STAT_SAE_DTC_DEN8_WERT_0XDF5A = (RXBUF_UINT(62)); // Denominator for the SAE DTC 8 / Nenner für den SAE DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN8_WERT_0XDF5A", STAT_SAE_DTC_DEN8_WERT_0XDF5A, ""); unsigned long STAT_SAE_DTC9_WERT = (RXBUF_UINT32(64)); // SAE DTC 9 / SAE DTC 9 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC9_WERT", STAT_SAE_DTC9_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM9_WERT = (RXBUF_UINT(68)); // Counter for the SAE DTC 9 / Zähler für den SAE DTC 9 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM9_WERT", STAT_SAE_DTC_NUM9_WERT, ""); unsigned short STAT_SAE_DTC_DEN9_WERT = (RXBUF_UINT(70)); // Denominator for the SAE DTC 9 / Nenner für den SAE DTC 9 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN9_WERT", STAT_SAE_DTC_DEN9_WERT, ""); unsigned long STAT_SAE_DTC10_WERT = (RXBUF_UINT32(72)); // SAE DTC 10 / SAE DTC 10 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC10_WERT", STAT_SAE_DTC10_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM10_WERT = (RXBUF_UINT(76)); // Counter for the SAE DTC 10 / Zähler für den SAE DTC 10 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM10_WERT", STAT_SAE_DTC_NUM10_WERT, ""); unsigned short STAT_SAE_DTC_DEN10_WERT = (RXBUF_UINT(78)); // Denominator for the SAE DTC 10 / Nenner für den SAE DTC 10 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN10_WERT", STAT_SAE_DTC_DEN10_WERT, ""); unsigned long STAT_SAE_DTC11_WERT = (RXBUF_UINT32(80)); // SAE DTC 11 / SAE DTC 11 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC11_WERT", STAT_SAE_DTC11_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM11_WERT = (RXBUF_UINT(84)); // Counter for the SAE DTC 11 / Zähler für den SAE DTC 11 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM11_WERT", STAT_SAE_DTC_NUM11_WERT, ""); unsigned short STAT_SAE_DTC_DEN11_WERT = (RXBUF_UINT(86)); // Denominator for the SAE DTC 11 / Nenner für den SAE DTC 11 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN11_WERT", STAT_SAE_DTC_DEN11_WERT, ""); unsigned long STAT_SAE_DTC12_WERT = (RXBUF_UINT32(88)); // SAE DTC 12 / SAE DTC 12 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC12_WERT", STAT_SAE_DTC12_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM12_WERT = (RXBUF_UINT(92)); // Counter for the SAE DTC 12 / Zähler für den SAE DTC 12 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM12_WERT", STAT_SAE_DTC_NUM12_WERT, ""); unsigned short STAT_SAE_DTC_DEN12_WERT = (RXBUF_UINT(94)); // Denominator for the SAE DTC 12 / Nenner für den SAE DTC 12 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN12_WERT", STAT_SAE_DTC_DEN12_WERT, ""); unsigned long STAT_SAE_DTC13_WERT = (RXBUF_UINT32(96)); // SAE DTC 13 / SAE DTC 13 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC13_WERT", STAT_SAE_DTC13_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM13_WERT = (RXBUF_UINT(100)); // Counter for the SAE DTC 13 / Zähler für den SAE DTC 13 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM13_WERT", STAT_SAE_DTC_NUM13_WERT, ""); unsigned short STAT_SAE_DTC_DEN13_WERT = (RXBUF_UINT(102)); // Denominator for the SAE DTC 13 / Nenner für den SAE DTC 13 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN13_WERT", STAT_SAE_DTC_DEN13_WERT, ""); unsigned long STAT_SAE_DTC14_WERT = (RXBUF_UINT32(104)); // SAE DTC 14 / SAE DTC 14 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC14_WERT", STAT_SAE_DTC14_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM14_WERT = (RXBUF_UINT(108)); // Counter for the SAE DTC 14 / Zähler für den SAE DTC 14 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM14_WERT", STAT_SAE_DTC_NUM14_WERT, ""); unsigned short STAT_SAE_DTC_DEN14_WERT = (RXBUF_UINT(110)); // Denominator for the SAE DTC 14 / Nenner für den SAE DTC 14 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN14_WERT", STAT_SAE_DTC_DEN14_WERT, ""); unsigned long STAT_SAE_DTC15_WERT = (RXBUF_UINT32(112)); // SAE DTC 15 / SAE DTC 15 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC15_WERT", STAT_SAE_DTC15_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM15_WERT = (RXBUF_UINT(116)); // Counter for the SAE DTC 15 / Zähler für den SAE DTC 15 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM15_WERT", STAT_SAE_DTC_NUM15_WERT, ""); unsigned short STAT_SAE_DTC_DEN15_WERT = (RXBUF_UINT(118)); // Denominator for the SAE DTC 15 / Nenner für den SAE DTC 15 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN15_WERT", STAT_SAE_DTC_DEN15_WERT, ""); unsigned long STAT_SAE_DTC16_WERT = (RXBUF_UINT32(120)); // SAE DTC 16 / SAE DTC 16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC16_WERT", STAT_SAE_DTC16_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM16_WERT = (RXBUF_UINT(124)); // Counter for the SAE DTC 16 / Zähler für den SAE DTC 16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM16_WERT", STAT_SAE_DTC_NUM16_WERT, ""); unsigned short STAT_SAE_DTC_DEN16_WERT = (RXBUF_UINT(126)); // Denominator for the SAE DTC 16 / Nenner für den SAE DTC 16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN16_WERT", STAT_SAE_DTC_DEN16_WERT, ""); unsigned long STAT_SAE_DTC17_WERT = (RXBUF_UINT32(128)); // SAE DTC 17 / SAE DTC 17 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC17_WERT", STAT_SAE_DTC17_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM17_WERT = (RXBUF_UINT(132)); // Counter for the SAE DTC 17 / Zähler für den SAE DTC 17 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM17_WERT", STAT_SAE_DTC_NUM17_WERT, ""); unsigned short STAT_SAE_DTC_DEN17_WERT = (RXBUF_UINT(134)); // Denominator for the SAE DTC 17 / Nenner für den SAE DTC 17 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN17_WERT", STAT_SAE_DTC_DEN17_WERT, ""); unsigned long STAT_SAE_DTC18_WERT = (RXBUF_UINT32(136)); // SAE DTC 18 / SAE DTC 18 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC18_WERT", STAT_SAE_DTC18_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM18_WERT = (RXBUF_UINT(140)); // Counter for the SAE DTC 18 / Zähler für den SAE DTC 18 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM18_WERT", STAT_SAE_DTC_NUM18_WERT, ""); unsigned short STAT_SAE_DTC_DEN18_WERT = (RXBUF_UINT(142)); // Denominator for the SAE DTC 18 / Nenner für den SAE DTC 18 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN18_WERT", STAT_SAE_DTC_DEN18_WERT, ""); unsigned long STAT_SAE_DTC19_WERT = (RXBUF_UINT32(144)); // SAE DTC 19 / SAE DTC 19 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC19_WERT", STAT_SAE_DTC19_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM19_WERT = (RXBUF_UINT(148)); // Counter for the SAE DTC 19 / Zähler für den SAE DTC 19 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM19_WERT", STAT_SAE_DTC_NUM19_WERT, ""); unsigned short STAT_SAE_DTC_DEN19_WERT = (RXBUF_UINT(150)); // Denominator for the SAE DTC 19 / Nenner für den SAE DTC 19 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN19_WERT", STAT_SAE_DTC_DEN19_WERT, ""); unsigned long STAT_SAE_DTC20_WERT = (RXBUF_UINT32(152)); // SAE DTC 20 / SAE DTC 20 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC20_WERT", STAT_SAE_DTC20_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM20_WERT = (RXBUF_UINT(156)); // Counter for the SAE DTC 20 / Zähler für den SAE DTC 20 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM20_WERT", STAT_SAE_DTC_NUM20_WERT, ""); unsigned short STAT_SAE_DTC_DEN20_WERT = (RXBUF_UINT(158)); // Denominator for the SAE DTC 20 / Nenner für den SAE DTC 20 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN20_WERT", STAT_SAE_DTC_DEN20_WERT, ""); unsigned long STAT_SAE_DTC21_WERT = (RXBUF_UINT32(160)); // SAE DTC 21 / SAE DTC 21 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC21_WERT", STAT_SAE_DTC21_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM21_WERT = (RXBUF_UINT(164)); // Counter for the SAE DTC 21 / Zähler für den SAE DTC 21 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM21_WERT", STAT_SAE_DTC_NUM21_WERT, ""); unsigned short STAT_SAE_DTC_DEN21_WERT = (RXBUF_UINT(166)); // Denominator for the SAE DTC 21 / Nenner für den SAE DTC 21 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN21_WERT", STAT_SAE_DTC_DEN21_WERT, ""); unsigned long STAT_SAE_DTC22_WERT = (RXBUF_UINT32(168)); // SAE DTC 22 / SAE DTC 22 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC22_WERT", STAT_SAE_DTC22_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM22_WERT = (RXBUF_UINT(172)); // Counter for the SAE DTC 22 / Zähler für den SAE DTC 22 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM22_WERT", STAT_SAE_DTC_NUM22_WERT, ""); unsigned short STAT_SAE_DTC_DEN22_WERT = (RXBUF_UINT(174)); // Denominator for the SAE DTC 22 / Nenner für den SAE DTC 22 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN22_WERT", STAT_SAE_DTC_DEN22_WERT, ""); unsigned long STAT_SAE_DTC23_WERT = (RXBUF_UINT32(176)); // SAE DTC 23 / SAE DTC 23 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC23_WERT", STAT_SAE_DTC23_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM23_WERT = (RXBUF_UINT(180)); // Counter for the SAE DTC 23 / Zähler für den SAE DTC 23 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM23_WERT", STAT_SAE_DTC_NUM23_WERT, ""); unsigned short STAT_SAE_DTC_DEN23_WERT = (RXBUF_UINT(182)); // Denominator for the SAE DTC 23 / Nenner für den SAE DTC 23 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN23_WERT", STAT_SAE_DTC_DEN23_WERT, ""); unsigned long STAT_SAE_DTC24_WERT = (RXBUF_UINT32(184)); // SAE DTC 24 / SAE DTC 24 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC24_WERT", STAT_SAE_DTC24_WERT, "\"HEX\""); unsigned short STAT_SAE_DTC_NUM24_WERT = (RXBUF_UINT(188)); // Counter for the SAE DTC 24 / Zähler für den SAE DTC 24 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_NUM24_WERT", STAT_SAE_DTC_NUM24_WERT, ""); unsigned short STAT_SAE_DTC_DEN24_WERT = (RXBUF_UINT(190)); // Denominator for the SAE DTC 24 / Nenner für den SAE DTC 24 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEGERAET_RBM_INFO", "STAT_SAE_DTC_DEN24_WERT", STAT_SAE_DTC_DEN24_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_LIEFERANT_TRACE_NUMMER: { // 0xDF5B if (datalen < 29) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_LIEFERANT_TRACE_NUMMER", 29); break; } // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_LADEGERAET_TEMPERATUR_HISTOGRAMM: { // 0xDFB5 if (datalen < 72) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_LADEGERAET_TEMPERATUR_HISTOGRAMM", 72); break; } unsigned long STAT_TEMP_LLCHVFIL_1_WERT = (RXBUF_UINT32(0)); // Temperature histogram of LLCHVFIL sensor value 1 / Temperaturhistogramm von LLCHVFIL-Sensor Wert 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCHVFIL_1_WERT", STAT_TEMP_LLCHVFIL_1_WERT, ""); unsigned long STAT_TEMP_LLCHVFIL_2_WERT = (RXBUF_UINT32(4)); // Temperature histogram of LLCHVFIL sensor value 2 / Temperaturhistogramm von LLCHVFIL-Sensor Wert 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCHVFIL_2_WERT", STAT_TEMP_LLCHVFIL_2_WERT, ""); unsigned long STAT_TEMP_LLCHVFIL_3_WERT = (RXBUF_UINT32(8)); // Temperature histogram of LLCHVFIL sensor value 3 / Temperaturhistogramm von LLCHVFIL-Sensor Wert 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCHVFIL_3_WERT", STAT_TEMP_LLCHVFIL_3_WERT, ""); unsigned long STAT_TEMP_LLCHVFIL_4_WERT = (RXBUF_UINT32(12)); // Temperature histogram of LLCHVFIL sensor value 4 / Temperaturhistogramm von LLCHVFIL-Sensor Wert 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCHVFIL_4_WERT", STAT_TEMP_LLCHVFIL_4_WERT, ""); unsigned long STAT_TEMP_LLCHVFIL_5_WERT = (RXBUF_UINT32(16)); // Temperature histogram of LLCHVFIL sensor value 5 / Temperaturhistogramm von LLCHVFIL-Sensor Wert 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCHVFIL_5_WERT", STAT_TEMP_LLCHVFIL_5_WERT, ""); unsigned long STAT_TEMP_LLCHVFIL_6_WERT = (RXBUF_UINT32(20)); // Temperature histogram of LLCHVFIL sensor value 6 / Temperaturhistogramm von LLCHVFIL-Sensor Wert 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCHVFIL_6_WERT", STAT_TEMP_LLCHVFIL_6_WERT, ""); unsigned long STAT_TEMP_LLCTRAFIL_1_WERT = (RXBUF_UINT32(24)); // Temperature histogram from LLCTRAFIL sensor value 1 / Temperaturhistogramm von LLCTRAFIL-Sensor Wert 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCTRAFIL_1_WERT", STAT_TEMP_LLCTRAFIL_1_WERT, ""); unsigned long STAT_TEMP_LLCTRAFIL_2_WERT = (RXBUF_UINT32(28)); // Temperature histogram from LLCTRAFIL sensor value 2 / Temperaturhistogramm von LLCTRAFIL-Sensor Wert 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCTRAFIL_2_WERT", STAT_TEMP_LLCTRAFIL_2_WERT, ""); unsigned long STAT_TEMP_LLCTRAFIL_3_WERT = (RXBUF_UINT32(32)); // Temperature histogram from LLCTRAFIL sensor value 3 / Temperaturhistogramm von LLCTRAFIL-Sensor Wert 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCTRAFIL_3_WERT", STAT_TEMP_LLCTRAFIL_3_WERT, ""); unsigned long STAT_TEMP_LLCTRAFIL_4_WERT = (RXBUF_UINT32(36)); // Temperature histogram from LLCTRAFIL sensor value 4 / Temperaturhistogramm von LLCTRAFIL-Sensor Wert 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCTRAFIL_4_WERT", STAT_TEMP_LLCTRAFIL_4_WERT, ""); unsigned long STAT_TEMP_LLCTRAFIL_5_WERT = (RXBUF_UINT32(40)); // Temperature histogram from LLCTRAFIL sensor value 5 / Temperaturhistogramm von LLCTRAFIL-Sensor Wert 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCTRAFIL_5_WERT", STAT_TEMP_LLCTRAFIL_5_WERT, ""); unsigned long STAT_TEMP_LLCTRAFIL_6_WERT = (RXBUF_UINT32(44)); // Temperature histogram from LLCTRAFIL sensor value 6 / Temperaturhistogramm von LLCTRAFIL-Sensor Wert 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCTRAFIL_6_WERT", STAT_TEMP_LLCTRAFIL_6_WERT, ""); unsigned long STAT_TEMP_LLCZKFIL_1_WERT = (RXBUF_UINT32(48)); // Temperature histogram from LLCZKFIL sensor value 1 / Temperaturhistogramm von LLCZKFIL-Sensor Wert 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCZKFIL_1_WERT", STAT_TEMP_LLCZKFIL_1_WERT, ""); unsigned long STAT_TEMP_LLCZKFIL_2_WERT = (RXBUF_UINT32(52)); // Temperature histogram of LLCZKFIL sensor value 2 / Temperaturhistogramm von LLCZKFIL-Sensor Wert 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCZKFIL_2_WERT", STAT_TEMP_LLCZKFIL_2_WERT, ""); unsigned long STAT_TEMP_LLCZKFIL_3_WERT = (RXBUF_UINT32(56)); // Temperature histogram from LLCZKFIL sensor value 3 / Temperaturhistogramm von LLCZKFIL-Sensor Wert 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCZKFIL_3_WERT", STAT_TEMP_LLCZKFIL_3_WERT, ""); unsigned long STAT_TEMP_LLCZKFIL_4_WERT = (RXBUF_UINT32(60)); // Temperature histogram from LLCZKFIL sensor value 4 / Temperaturhistogramm von LLCZKFIL-Sensor Wert 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCZKFIL_4_WERT", STAT_TEMP_LLCZKFIL_4_WERT, ""); unsigned long STAT_TEMP_LLCZKFIL_5_WERT = (RXBUF_UINT32(64)); // Temperature histogram from LLCZKFIL sensor value 5 / Temperaturhistogramm von LLCZKFIL-Sensor Wert 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCZKFIL_5_WERT", STAT_TEMP_LLCZKFIL_5_WERT, ""); unsigned long STAT_TEMP_LLCZKFIL_6_WERT = (RXBUF_UINT32(68)); // Temperature histogram from LLCZKFIL sensor value 6 / Temperaturhistogramm von LLCZKFIL-Sensor Wert 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_TEMPERATUR_HISTOGRAMM", "STAT_TEMP_LLCZKFIL_6_WERT", STAT_TEMP_LLCZKFIL_6_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_LADEGERAET_HV_UEBERSTROM: { // 0xDFB7 if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_LADEGERAET_HV_UEBERSTROM", 4); break; } unsigned long STAT_ZAEHLER_HV_UEBERSTROM_WERT = (RXBUF_UINT32(0)); // Charger overcurrent meter based on HV DC current sensor raw value / Ladegerät Überstromzähler auf Basis HV // DC-Stromsensorrohwert ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEGERAET_HV_UEBERSTROM", "STAT_ZAEHLER_HV_UEBERSTROM_WERT", STAT_ZAEHLER_HV_UEBERSTROM_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_EMASCHINE_MAX_DREHZAHL: { // 0xDFCE if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_EMASCHINE_MAX_DREHZAHL", 4); break; } unsigned short STAT_DREHZAHL_BEREICH_1_WERT = (RXBUF_UINT(0)); // Absolute time in the critical electric machine speed range 1 (seconds) / Absolutzeit im kritischen E-Maschinen // Drehzahl Bereich 1 (Sekunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EMASCHINE_MAX_DREHZAHL", "STAT_DREHZAHL_BEREICH_1_WERT", STAT_DREHZAHL_BEREICH_1_WERT, "\"s\""); unsigned short STAT_DREHZAHL_BEREICH_2_WERT = (RXBUF_UINT(2)); // Absolute time in the critical electric machine speed range 2 (seconds) / Absolutzeit im kritischen E-Maschinen // Drehzahl Bereich 2 (Sekunden) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "EMASCHINE_MAX_DREHZAHL", "STAT_DREHZAHL_BEREICH_2_WERT", STAT_DREHZAHL_BEREICH_2_WERT, "\"s\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_LAST_HISTOGRAMM_EMASCHINE_LESEN: { // 0xDFD0 if (datalen < 240) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_LAST_HISTOGRAMM_EMASCHINE_LESEN", 240); break; } float STAT_DREHZAHL_DREHMOMENT_BEREICH_1_WERT = (RXBUF_UINT(0)*0.002f); // Speed torque range 1 / Drehzahl Drehmoment Bereich 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_1_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_1_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_2_WERT = (RXBUF_UINT(2)*0.002f); // Speed torque range 2 / Drehzahl Drehmoment Bereich 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_2_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_2_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_3_WERT = (RXBUF_UINT(4)*0.002f); // Speed torque range 3 / Drehzahl Drehmoment Bereich 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_3_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_3_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_4_WERT = (RXBUF_UINT(6)*0.002f); // Speed torque range 4 / Drehzahl Drehmoment Bereich 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_4_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_4_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_5_WERT = (RXBUF_UINT(8)*0.002f); // Speed torque range 5 / Drehzahl Drehmoment Bereich 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_5_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_5_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_6_WERT = (RXBUF_UINT(10)*0.002f); // Speed torque range 6 / Drehzahl Drehmoment Bereich 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_6_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_6_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_7_WERT = (RXBUF_UINT(12)*0.002f); // Speed torque range 7 / Drehzahl Drehmoment Bereich 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_7_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_7_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_8_WERT = (RXBUF_UINT(14)*0.002f); // Speed torque range 8 / Drehzahl Drehmoment Bereich 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_8_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_8_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_9_WERT = (RXBUF_UINT(16)*0.002f); // Speed torque range 9 / Drehzahl Drehmoment Bereich 9 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_9_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_9_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_10_WERT = (RXBUF_UINT(18)*0.002f); // Speed torque range 10 / Drehzahl Drehmoment Bereich 10 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_10_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_10_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_11_WERT = (RXBUF_UINT(20)*0.002f); // Speed torque range 11 / Drehzahl Drehmoment Bereich 11 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_11_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_11_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_12_WERT = (RXBUF_UINT(22)*0.002f); // Speed torque range 12 / Drehzahl Drehmoment Bereich 12 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_12_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_12_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_13_WERT = (RXBUF_UINT(24)*0.002f); // Speed torque range 13 / Drehzahl Drehmoment Bereich 13 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_13_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_13_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_14_WERT = (RXBUF_UINT(26)*0.002f); // Speed torque range 14 / Drehzahl Drehmoment Bereich 14 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_14_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_14_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_15_WERT = (RXBUF_UINT(28)*0.002f); // Speed torque range 15 / Drehzahl Drehmoment Bereich 15 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_15_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_15_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_16_WERT = (RXBUF_UINT(30)*0.002f); // Speed torque range 16 / Drehzahl Drehmoment Bereich 16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_16_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_16_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_17_WERT = (RXBUF_UINT(32)*0.002f); // Speed torque range 17 / Drehzahl Drehmoment Bereich 17 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_17_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_17_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_18_WERT = (RXBUF_UINT(34)*0.002f); // Speed torque range 18 / Drehzahl Drehmoment Bereich 18 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_18_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_18_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_19_WERT = (RXBUF_UINT(36)*0.002f); // Speed torque range 19 / Drehzahl Drehmoment Bereich 19 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_19_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_19_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_20_WERT = (RXBUF_UINT(38)*0.002f); // Speed torque range 20 / Drehzahl Drehmoment Bereich 20 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_20_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_20_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_21_WERT = (RXBUF_UINT(40)*0.002f); // Speed torque range 21 / Drehzahl Drehmoment Bereich 21 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_21_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_21_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_22_WERT = (RXBUF_UINT(42)*0.002f); // Speed torque range 22 / Drehzahl Drehmoment Bereich 22 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_22_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_22_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_23_WERT = (RXBUF_UINT(44)*0.002f); // Speed torque range 23 / Drehzahl Drehmoment Bereich 23 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_23_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_23_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_24_WERT = (RXBUF_UINT(46)*0.002f); // Speed torque range 24 / Drehzahl Drehmoment Bereich 24 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_24_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_24_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_25_WERT = (RXBUF_UINT(48)*0.002f); // Speed torque range 25 / Drehzahl Drehmoment Bereich 25 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_25_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_25_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_26_WERT = (RXBUF_UINT(50)*0.002f); // Speed torque range 26 / Drehzahl Drehmoment Bereich 26 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_26_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_26_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_27_WERT = (RXBUF_UINT(52)*0.002f); // Speed torque range 27 / Drehzahl Drehmoment Bereich 27 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_27_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_27_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_28_WERT = (RXBUF_UINT(54)*0.002f); // Speed torque range 28 / Drehzahl Drehmoment Bereich 28 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_28_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_28_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_29_WERT = (RXBUF_UINT(56)*0.002f); // Speed torque range 29 / Drehzahl Drehmoment Bereich 29 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_29_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_29_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_30_WERT = (RXBUF_UINT(58)*0.002f); // Speed torque range 30 / Drehzahl Drehmoment Bereich 30 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_30_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_30_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_31_WERT = (RXBUF_UINT(60)*0.002f); // Speed torque range 31 / Drehzahl Drehmoment Bereich 31 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_31_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_31_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_32_WERT = (RXBUF_UINT(62)*0.002f); // Speed torque range 32 / Drehzahl Drehmoment Bereich 32 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_32_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_32_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_33_WERT = (RXBUF_UINT(64)*0.002f); // Speed torque range 33 / Drehzahl Drehmoment Bereich 33 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_33_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_33_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_34_WERT = (RXBUF_UINT(66)*0.002f); // Speed torque range 34 / Drehzahl Drehmoment Bereich 34 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_34_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_34_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_35_WERT = (RXBUF_UINT(68)*0.002f); // Speed torque range 35 / Drehzahl Drehmoment Bereich 35 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_35_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_35_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_36_WERT = (RXBUF_UINT(70)*0.002f); // Speed torque range 36 / Drehzahl Drehmoment Bereich 36 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_36_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_36_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_37_WERT = (RXBUF_UINT(72)*0.002f); // Speed torque range 37 / Drehzahl Drehmoment Bereich 37 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_37_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_37_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_38_WERT = (RXBUF_UINT(74)*0.002f); // Speed torque range 38 / Drehzahl Drehmoment Bereich 38 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_38_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_38_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_39_WERT = (RXBUF_UINT(76)*0.002f); // Speed torque range 39 / Drehzahl Drehmoment Bereich 39 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_39_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_39_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_40_WERT = (RXBUF_UINT(78)*0.002f); // Speed torque range 40 / Drehzahl Drehmoment Bereich 40 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_40_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_40_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_41_WERT = (RXBUF_UINT(80)*0.002f); // Speed torque range 41 / Drehzahl Drehmoment Bereich 41 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_41_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_41_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_42_WERT = (RXBUF_UINT(82)*0.002f); // Speed torque range 42 / Drehzahl Drehmoment Bereich 42 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_42_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_42_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_43_WERT = (RXBUF_UINT(84)*0.002f); // Speed torque range 43 / Drehzahl Drehmoment Bereich 43 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_43_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_43_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_44_WERT = (RXBUF_UINT(86)*0.002f); // Speed torque range 44 / Drehzahl Drehmoment Bereich 44 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_44_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_44_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_45_WERT = (RXBUF_UINT(88)*0.002f); // Speed torque range 45 / Drehzahl Drehmoment Bereich 45 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_45_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_45_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_46_WERT = (RXBUF_UINT(90)*0.002f); // Speed torque range 46 / Drehzahl Drehmoment Bereich 46 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_46_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_46_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_47_WERT = (RXBUF_UINT(92)*0.002f); // Speed torque range 47 / Drehzahl Drehmoment Bereich 47 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_47_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_47_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_48_WERT = (RXBUF_UINT(94)*0.002f); // Speed torque range 48 / Drehzahl Drehmoment Bereich 48 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_48_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_48_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_49_WERT = (RXBUF_UINT(96)*0.002f); // Speed torque range 49 / Drehzahl Drehmoment Bereich 49 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_49_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_49_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_50_WERT = (RXBUF_UINT(98)*0.002f); // Speed torque range 50 / Drehzahl Drehmoment Bereich 50 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_50_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_50_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_51_WERT = (RXBUF_UINT(100)*0.002f); // Speed torque range 51 / Drehzahl Drehmoment Bereich 51 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_51_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_51_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_52_WERT = (RXBUF_UINT(102)*0.002f); // Speed torque range 52 / Drehzahl Drehmoment Bereich 52 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_52_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_52_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_53_WERT = (RXBUF_UINT(104)*0.002f); // Speed torque range 53 / Drehzahl Drehmoment Bereich 53 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_53_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_53_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_54_WERT = (RXBUF_UINT(106)*0.002f); // Speed torque range 54 / Drehzahl Drehmoment Bereich 54 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_54_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_54_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_55_WERT = (RXBUF_UINT(108)*0.002f); // Speed torque range 55 / Drehzahl Drehmoment Bereich 55 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_55_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_55_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_56_WERT = (RXBUF_UINT(110)*0.002f); // Speed torque range 56 / Drehzahl Drehmoment Bereich 56 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_56_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_56_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_57_WERT = (RXBUF_UINT(112)*0.002f); // Speed torque range 57 / Drehzahl Drehmoment Bereich 57 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_57_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_57_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_58_WERT = (RXBUF_UINT(114)*0.002f); // Speed torque range 58 / Drehzahl Drehmoment Bereich 58 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_58_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_58_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_59_WERT = (RXBUF_UINT(116)*0.002f); // Speed torque range 59 / Drehzahl Drehmoment Bereich 59 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_59_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_59_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_60_WERT = (RXBUF_UINT(118)*0.002f); // Speed torque range 60 / Drehzahl Drehmoment Bereich 60 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_60_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_60_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_61_WERT = (RXBUF_UINT(120)*0.002f); // Speed torque range 61 / Drehzahl Drehmoment Bereich 61 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_61_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_61_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_62_WERT = (RXBUF_UINT(122)*0.002f); // Speed torque range 62 / Drehzahl Drehmoment Bereich 62 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_62_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_62_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_63_WERT = (RXBUF_UINT(124)*0.002f); // Speed torque range 63 / Drehzahl Drehmoment Bereich 63 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_63_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_63_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_64_WERT = (RXBUF_UINT(126)*0.002f); // Speed torque range 64 / Drehzahl Drehmoment Bereich 64 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_64_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_64_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_65_WERT = (RXBUF_UINT(128)*0.002f); // Speed torque range 65 / Drehzahl Drehmoment Bereich 65 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_65_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_65_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_66_WERT = (RXBUF_UINT(130)*0.002f); // Speed torque range 66 / Drehzahl Drehmoment Bereich 66 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_66_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_66_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_67_WERT = (RXBUF_UINT(132)*0.002f); // Speed torque range 67 / Drehzahl Drehmoment Bereich 67 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_67_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_67_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_68_WERT = (RXBUF_UINT(134)*0.002f); // Speed torque range 68 / Drehzahl Drehmoment Bereich 68 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_68_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_68_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_69_WERT = (RXBUF_UINT(136)*0.002f); // Speed torque range 69 / Drehzahl Drehmoment Bereich 69 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_69_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_69_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_70_WERT = (RXBUF_UINT(138)*0.002f); // Speed torque range 70 / Drehzahl Drehmoment Bereich 70 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_70_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_70_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_71_WERT = (RXBUF_UINT(140)*0.002f); // Speed torque range 71 / Drehzahl Drehmoment Bereich 71 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_71_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_71_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_72_WERT = (RXBUF_UINT(142)*0.002f); // Speed torque range 72 / Drehzahl Drehmoment Bereich 72 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_72_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_72_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_73_WERT = (RXBUF_UINT(144)*0.002f); // Speed torque range 73 / Drehzahl Drehmoment Bereich 73 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_73_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_73_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_74_WERT = (RXBUF_UINT(146)*0.002f); // Speed torque range 74 / Drehzahl Drehmoment Bereich 74 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_74_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_74_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_75_WERT = (RXBUF_UINT(148)*0.002f); // Speed torque range 75 / Drehzahl Drehmoment Bereich 75 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_75_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_75_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_76_WERT = (RXBUF_UINT(150)*0.002f); // Speed torque range 76 / Drehzahl Drehmoment Bereich 76 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_76_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_76_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_77_WERT = (RXBUF_UINT(152)*0.002f); // Speed torque range 77 / Drehzahl Drehmoment Bereich 77 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_77_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_77_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_78_WERT = (RXBUF_UINT(154)*0.002f); // Speed torque range 78 / Drehzahl Drehmoment Bereich 78 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_78_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_78_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_79_WERT = (RXBUF_UINT(156)*0.002f); // Speed torque range 79 / Drehzahl Drehmoment Bereich 79 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_79_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_79_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_80_WERT = (RXBUF_UINT(158)*0.002f); // Speed torque range 80 / Drehzahl Drehmoment Bereich 80 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_80_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_80_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_81_WERT = (RXBUF_UINT(160)*0.002f); // Speed torque range 81 / Drehzahl Drehmoment Bereich 81 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_81_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_81_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_82_WERT = (RXBUF_UINT(162)*0.002f); // Speed torque range 82 / Drehzahl Drehmoment Bereich 82 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_82_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_82_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_83_WERT = (RXBUF_UINT(164)*0.002f); // Speed torque range 83 / Drehzahl Drehmoment Bereich 83 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_83_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_83_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_84_WERT = (RXBUF_UINT(166)*0.002f); // Speed torque range 84 / Drehzahl Drehmoment Bereich 84 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_84_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_84_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_85_WERT = (RXBUF_UINT(168)*0.002f); // Speed torque range 85 / Drehzahl Drehmoment Bereich 85 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_85_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_85_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_86_WERT = (RXBUF_UINT(170)*0.002f); // Speed torque range 86 / Drehzahl Drehmoment Bereich 86 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_86_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_86_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_87_WERT = (RXBUF_UINT(172)*0.002f); // Speed torque range 87 / Drehzahl Drehmoment Bereich 87 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_87_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_87_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_88_WERT = (RXBUF_UINT(174)*0.002f); // Speed torque range 88 / Drehzahl Drehmoment Bereich 88 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_88_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_88_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_89_WERT = (RXBUF_UINT(176)*0.002f); // Speed torque range 89 / Drehzahl Drehmoment Bereich 89 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_89_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_89_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_90_WERT = (RXBUF_UINT(178)*0.002f); // Speed torque range 90 / Drehzahl Drehmoment Bereich 90 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_90_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_90_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_91_WERT = (RXBUF_UINT(180)*0.002f); // Speed torque range 91 / Drehzahl Drehmoment Bereich 91 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_91_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_91_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_92_WERT = (RXBUF_UINT(182)*0.002f); // Speed torque range 92 / Drehzahl Drehmoment Bereich 92 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_92_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_92_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_93_WERT = (RXBUF_UINT(184)*0.002f); // Speed torque range 93 / Drehzahl Drehmoment Bereich 93 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_93_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_93_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_94_WERT = (RXBUF_UINT(186)*0.002f); // Speed torque range 94 / Drehzahl Drehmoment Bereich 94 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_94_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_94_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_95_WERT = (RXBUF_UINT(188)*0.002f); // Speed torque range 95 / Drehzahl Drehmoment Bereich 95 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_95_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_95_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_96_WERT = (RXBUF_UINT(190)*0.002f); // Speed torque range 96 / Drehzahl Drehmoment Bereich 96 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_96_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_96_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_97_WERT = (RXBUF_UINT(192)*0.002f); // Speed torque range 97 / Drehzahl Drehmoment Bereich 97 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_97_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_97_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_98_WERT = (RXBUF_UINT(194)*0.002f); // Speed torque range 98 / Drehzahl Drehmoment Bereich 98 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_98_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_98_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_99_WERT = (RXBUF_UINT(196)*0.002f); // Speed torque range 99 / Drehzahl Drehmoment Bereich 99 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_99_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_99_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_100_WERT = (RXBUF_UINT(198)*0.002f); // Speed torque range 100 / Drehzahl Drehmoment Bereich 100 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_100_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_100_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_101_WERT = (RXBUF_UINT(200)*0.002f); // Speed torque range 101 / Drehzahl Drehmoment Bereich 101 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_101_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_101_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_102_WERT = (RXBUF_UINT(202)*0.002f); // Speed torque range 102 / Drehzahl Drehmoment Bereich 102 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_102_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_102_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_103_WERT = (RXBUF_UINT(204)*0.002f); // Speed torque range 103 / Drehzahl Drehmoment Bereich 103 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_103_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_103_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_104_WERT = (RXBUF_UINT(206)*0.002f); // Speed torque range 104 / Drehzahl Drehmoment Bereich 104 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_104_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_104_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_105_WERT = (RXBUF_UINT(208)*0.002f); // Speed torque range 105 / Drehzahl Drehmoment Bereich 105 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_105_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_105_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_106_WERT = (RXBUF_UINT(210)*0.002f); // Speed torque range 106 / Drehzahl Drehmoment Bereich 106 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_106_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_106_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_107_WERT = (RXBUF_UINT(212)*0.002f); // Speed torque range 107 / Drehzahl Drehmoment Bereich 107 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_107_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_107_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_108_WERT = (RXBUF_UINT(214)*0.002f); // Speed torque range 108 / Drehzahl Drehmoment Bereich 108 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_108_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_108_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_109_WERT = (RXBUF_UINT(216)*0.002f); // Speed torque range 109 / Drehzahl Drehmoment Bereich 109 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_109_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_109_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_110_WERT = (RXBUF_UINT(218)*0.002f); // Speed torque range 110 / Drehzahl Drehmoment Bereich 110 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_110_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_110_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_111_WERT = (RXBUF_UINT(220)*0.002f); // Speed torque range 111 / Drehzahl Drehmoment Bereich 111 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_111_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_111_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_112_WERT = (RXBUF_UINT(222)*0.002f); // Speed torque range 112 / Drehzahl Drehmoment Bereich 112 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_112_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_112_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_113_WERT = (RXBUF_UINT(224)*0.002f); // Speed torque range 113 / Drehzahl Drehmoment Bereich 113 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_113_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_113_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_114_WERT = (RXBUF_UINT(226)*0.002f); // Speed torque range 114 / Drehzahl Drehmoment Bereich 114 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_114_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_114_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_115_WERT = (RXBUF_UINT(228)*0.002f); // Speed torque range 115 / Drehzahl Drehmoment Bereich 115 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_115_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_115_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_116_WERT = (RXBUF_UINT(230)*0.002f); // Speed torque range 116 / Drehzahl Drehmoment Bereich 116 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_116_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_116_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_117_WERT = (RXBUF_UINT(232)*0.002f); // Speed torque range 117 / Drehzahl Drehmoment Bereich 117 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_117_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_117_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_118_WERT = (RXBUF_UINT(234)*0.002f); // Speed torque range 118 / Drehzahl Drehmoment Bereich 118 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_118_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_118_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_119_WERT = (RXBUF_UINT(236)*0.002f); // Speed torque range 119 / Drehzahl Drehmoment Bereich 119 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_119_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_119_WERT, "\"%\""); float STAT_DREHZAHL_DREHMOMENT_BEREICH_120_WERT = (RXBUF_UINT(238)*0.002f); // Speed torque range 120 / Drehzahl Drehmoment Bereich 120 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LAST_HISTOGRAMM_EMASCHINE_LESEN", "STAT_DREHZAHL_DREHMOMENT_BEREICH_120_WERT", STAT_DREHZAHL_DREHMOMENT_BEREICH_120_WERT, "\"%\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_RATE_BASED_MONITORING: { // 0xE52F if (datalen < 994) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_RATE_BASED_MONITORING", 994); break; } unsigned short STAT_DTC_1_NUM_WERT = (RXBUF_UINT(3)); // DTC numerator 1 / Numerator von DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_1_NUM_WERT", STAT_DTC_1_NUM_WERT, ""); unsigned short STAT_DTC_1_DEN_WERT = (RXBUF_UINT(5)); // Denominator of DTC 1 / Denominator von DTC 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_1_DEN_WERT", STAT_DTC_1_DEN_WERT, ""); unsigned short STAT_DTC_2_NUM_WERT = (RXBUF_UINT(10)); // DTC numerator 2 / Numerator von DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_2_NUM_WERT", STAT_DTC_2_NUM_WERT, ""); unsigned short STAT_DTC_2_DEN_WERT = (RXBUF_UINT(12)); // Denominator of DTC 2 / Denominator von DTC 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_2_DEN_WERT", STAT_DTC_2_DEN_WERT, ""); unsigned short STAT_DTC_3_NUM_WERT = (RXBUF_UINT(17)); // DTC numerator 3 / Numerator von DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_3_NUM_WERT", STAT_DTC_3_NUM_WERT, ""); unsigned short STAT_DTC_3_DEN_WERT = (RXBUF_UINT(19)); // Denominator of DTC 3 / Denominator von DTC 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_3_DEN_WERT", STAT_DTC_3_DEN_WERT, ""); unsigned short STAT_DTC_4_NUM_WERT = (RXBUF_UINT(24)); // Numerator from DTC 4 / Numerator von DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_4_NUM_WERT", STAT_DTC_4_NUM_WERT, ""); unsigned short STAT_DTC_4_DEN_WERT = (RXBUF_UINT(26)); // Denominator of DTC 4 / Denominator von DTC 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_4_DEN_WERT", STAT_DTC_4_DEN_WERT, ""); unsigned short STAT_DTC_5_NUM_WERT = (RXBUF_UINT(31)); // Numerator from DTC 5 / Numerator von DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_5_NUM_WERT", STAT_DTC_5_NUM_WERT, ""); unsigned short STAT_DTC_5_DEN_WERT = (RXBUF_UINT(33)); // Denominator of DTC 5 / Denominator von DTC 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_5_DEN_WERT", STAT_DTC_5_DEN_WERT, ""); unsigned short STAT_DTC_6_NUM_WERT = (RXBUF_UINT(38)); // Numerator from DTC 6 / Numerator von DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_6_NUM_WERT", STAT_DTC_6_NUM_WERT, ""); unsigned short STAT_DTC_6_DEN_WERT = (RXBUF_UINT(40)); // Denominator of DTC 6 / Denominator von DTC 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_6_DEN_WERT", STAT_DTC_6_DEN_WERT, ""); unsigned short STAT_DTC_7_NUM_WERT = (RXBUF_UINT(45)); // Numerator from DTC 7 / Numerator von DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_7_NUM_WERT", STAT_DTC_7_NUM_WERT, ""); unsigned short STAT_DTC_7_DEN_WERT = (RXBUF_UINT(47)); // Denominator of DTC 7 / Denominator von DTC 7 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_7_DEN_WERT", STAT_DTC_7_DEN_WERT, ""); unsigned short STAT_DTC_8_NUM_WERT = (RXBUF_UINT(52)); // Numerator from DTC 8 / Numerator von DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_8_NUM_WERT", STAT_DTC_8_NUM_WERT, ""); unsigned short STAT_DTC_8_DEN_WERT = (RXBUF_UINT(54)); // Denominator of DTC 8 / Denominator von DTC 8 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_8_DEN_WERT", STAT_DTC_8_DEN_WERT, ""); unsigned short STAT_DTC_9_NUM_WERT = (RXBUF_UINT(59)); // Numerator from DTC 9 / Numerator von DTC 9 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_9_NUM_WERT", STAT_DTC_9_NUM_WERT, ""); unsigned short STAT_DTC_9_DEN_WERT = (RXBUF_UINT(61)); // Denominator of DTC 9 / Denominator von DTC 9 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_9_DEN_WERT", STAT_DTC_9_DEN_WERT, ""); unsigned short STAT_DTC_10_NUM_WERT = (RXBUF_UINT(66)); // Numerator from DTC 10 / Numerator von DTC 10 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_10_NUM_WERT", STAT_DTC_10_NUM_WERT, ""); unsigned short STAT_DTC_10_DEN_WERT = (RXBUF_UINT(68)); // Denominator of DTC 10 / Denominator von DTC 10 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_10_DEN_WERT", STAT_DTC_10_DEN_WERT, ""); unsigned short STAT_DTC_11_NUM_WERT = (RXBUF_UINT(73)); // Numerator from DTC 11 / Numerator von DTC 11 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_11_NUM_WERT", STAT_DTC_11_NUM_WERT, ""); unsigned short STAT_DTC_11_DEN_WERT = (RXBUF_UINT(75)); // Denominator of DTC 11 / Denominator von DTC 11 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_11_DEN_WERT", STAT_DTC_11_DEN_WERT, ""); unsigned short STAT_DTC_12_NUM_WERT = (RXBUF_UINT(80)); // Numerator from DTC 12 / Numerator von DTC 12 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_12_NUM_WERT", STAT_DTC_12_NUM_WERT, ""); unsigned short STAT_DTC_12_DEN_WERT = (RXBUF_UINT(82)); // Denominator of DTC 12 / Denominator von DTC 12 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_12_DEN_WERT", STAT_DTC_12_DEN_WERT, ""); unsigned short STAT_DTC_13_NUM_WERT = (RXBUF_UINT(87)); // Numerator from DTC 13 / Numerator von DTC 13 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_13_NUM_WERT", STAT_DTC_13_NUM_WERT, ""); unsigned short STAT_DTC_13_DEN_WERT = (RXBUF_UINT(89)); // Denominator of DTC 13 / Denominator von DTC 13 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_13_DEN_WERT", STAT_DTC_13_DEN_WERT, ""); unsigned short STAT_DTC_14_NUM_WERT = (RXBUF_UINT(94)); // Numerator from DTC 14 / Numerator von DTC 14 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_14_NUM_WERT", STAT_DTC_14_NUM_WERT, ""); unsigned short STAT_DTC_14_DEN_WERT = (RXBUF_UINT(96)); // Denominator of DTC 14 / Denominator von DTC 14 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_14_DEN_WERT", STAT_DTC_14_DEN_WERT, ""); unsigned short STAT_DTC_15_NUM_WERT = (RXBUF_UINT(101)); // Numerator from DTC 15 / Numerator von DTC 15 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_15_NUM_WERT", STAT_DTC_15_NUM_WERT, ""); unsigned short STAT_DTC_15_DEN_WERT = (RXBUF_UINT(103)); // Denominator of DTC 15 / Denominator von DTC 15 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_15_DEN_WERT", STAT_DTC_15_DEN_WERT, ""); unsigned short STAT_DTC_16_NUM_WERT = (RXBUF_UINT(108)); // Numerator from DTC 16 / Numerator von DTC 16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_16_NUM_WERT", STAT_DTC_16_NUM_WERT, ""); unsigned short STAT_DTC_16_DEN_WERT = (RXBUF_UINT(110)); // Denominator of DTC 16 / Denominator von DTC 16 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_16_DEN_WERT", STAT_DTC_16_DEN_WERT, ""); unsigned short STAT_DTC_17_NUM_WERT = (RXBUF_UINT(115)); // Numerator from DTC 17 / Numerator von DTC 17 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_17_NUM_WERT", STAT_DTC_17_NUM_WERT, ""); unsigned short STAT_DTC_17_DEN_WERT = (RXBUF_UINT(117)); // Denominator of DTC 17 / Denominator von DTC 17 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_17_DEN_WERT", STAT_DTC_17_DEN_WERT, ""); unsigned short STAT_DTC_18_NUM_WERT = (RXBUF_UINT(122)); // Numerator from DTC 18 / Numerator von DTC 18 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_18_NUM_WERT", STAT_DTC_18_NUM_WERT, ""); unsigned short STAT_DTC_18_DEN_WERT = (RXBUF_UINT(124)); // Denominator of DTC 18 / Denominator von DTC 18 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_18_DEN_WERT", STAT_DTC_18_DEN_WERT, ""); unsigned short STAT_DTC_19_NUM_WERT = (RXBUF_UINT(129)); // DTC 19 numerator / Numerator von DTC 19 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_19_NUM_WERT", STAT_DTC_19_NUM_WERT, ""); unsigned short STAT_DTC_19_DEN_WERT = (RXBUF_UINT(131)); // Denominator from DTC 19 / Denominator von DTC 19 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_19_DEN_WERT", STAT_DTC_19_DEN_WERT, ""); unsigned short STAT_DTC_20_NUM_WERT = (RXBUF_UINT(136)); // Numerator from DTC 20 / Numerator von DTC 20 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_20_NUM_WERT", STAT_DTC_20_NUM_WERT, ""); unsigned short STAT_DTC_20_DEN_WERT = (RXBUF_UINT(138)); // Denominator of DTC 20 / Denominator von DTC 20 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_20_DEN_WERT", STAT_DTC_20_DEN_WERT, ""); unsigned short STAT_DTC_21_NUM_WERT = (RXBUF_UINT(143)); // Numerator from DTC 21 / Numerator von DTC 21 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_21_NUM_WERT", STAT_DTC_21_NUM_WERT, ""); unsigned short STAT_DTC_21_DEN_WERT = (RXBUF_UINT(145)); // Denominator of DTC 21 / Denominator von DTC 21 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_21_DEN_WERT", STAT_DTC_21_DEN_WERT, ""); unsigned short STAT_DTC_22_NUM_WERT = (RXBUF_UINT(150)); // Numerator from DTC 22 / Numerator von DTC 22 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_22_NUM_WERT", STAT_DTC_22_NUM_WERT, ""); unsigned short STAT_DTC_22_DEN_WERT = (RXBUF_UINT(152)); // Denominator of DTC 22 / Denominator von DTC 22 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_22_DEN_WERT", STAT_DTC_22_DEN_WERT, ""); unsigned short STAT_DTC_23_NUM_WERT = (RXBUF_UINT(157)); // Numerator from DTC 23 / Numerator von DTC 23 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_23_NUM_WERT", STAT_DTC_23_NUM_WERT, ""); unsigned short STAT_DTC_23_DEN_WERT = (RXBUF_UINT(159)); // Denominator of DTC 23 / Denominator von DTC 23 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_23_DEN_WERT", STAT_DTC_23_DEN_WERT, ""); unsigned short STAT_DTC_24_NUM_WERT = (RXBUF_UINT(164)); // Numerator from DTC 24 / Numerator von DTC 24 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_24_NUM_WERT", STAT_DTC_24_NUM_WERT, ""); unsigned short STAT_DTC_24_DEN_WERT = (RXBUF_UINT(166)); // Denominator of DTC 24 / Denominator von DTC 24 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_24_DEN_WERT", STAT_DTC_24_DEN_WERT, ""); unsigned short STAT_DTC_25_NUM_WERT = (RXBUF_UINT(171)); // Numerator from DTC 25 / Numerator von DTC 25 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_25_NUM_WERT", STAT_DTC_25_NUM_WERT, ""); unsigned short STAT_DTC_25_DEN_WERT = (RXBUF_UINT(173)); // Denominator of DTC 25 / Denominator von DTC 25 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_25_DEN_WERT", STAT_DTC_25_DEN_WERT, ""); unsigned short STAT_DTC_26_NUM_WERT = (RXBUF_UINT(178)); // Numerator from DTC 26 / Numerator von DTC 26 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_26_NUM_WERT", STAT_DTC_26_NUM_WERT, ""); unsigned short STAT_DTC_26_DEN_WERT = (RXBUF_UINT(180)); // Denominator of DTC 26 / Denominator von DTC 26 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_26_DEN_WERT", STAT_DTC_26_DEN_WERT, ""); unsigned short STAT_DTC_27_NUM_WERT = (RXBUF_UINT(185)); // Numerator from DTC 27 / Numerator von DTC 27 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_27_NUM_WERT", STAT_DTC_27_NUM_WERT, ""); unsigned short STAT_DTC_27_DEN_WERT = (RXBUF_UINT(187)); // Denominator of DTC 27 / Denominator von DTC 27 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_27_DEN_WERT", STAT_DTC_27_DEN_WERT, ""); unsigned short STAT_DTC_28_NUM_WERT = (RXBUF_UINT(192)); // Numerator from DTC 28 / Numerator von DTC 28 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_28_NUM_WERT", STAT_DTC_28_NUM_WERT, ""); unsigned short STAT_DTC_28_DEN_WERT = (RXBUF_UINT(194)); // Denominator of DTC 28 / Denominator von DTC 28 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_28_DEN_WERT", STAT_DTC_28_DEN_WERT, ""); unsigned short STAT_DTC_29_NUM_WERT = (RXBUF_UINT(199)); // Numerator from DTC 29 / Numerator von DTC 29 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_29_NUM_WERT", STAT_DTC_29_NUM_WERT, ""); unsigned short STAT_DTC_29_DEN_WERT = (RXBUF_UINT(201)); // Denominator of DTC 29 / Denominator von DTC 29 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_29_DEN_WERT", STAT_DTC_29_DEN_WERT, ""); unsigned short STAT_DTC_30_NUM_WERT = (RXBUF_UINT(206)); // Numerator from DTC 30 / Numerator von DTC 30 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_30_NUM_WERT", STAT_DTC_30_NUM_WERT, ""); unsigned short STAT_DTC_30_DEN_WERT = (RXBUF_UINT(208)); // Denominator of DTC 30 / Denominator von DTC 30 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_30_DEN_WERT", STAT_DTC_30_DEN_WERT, ""); unsigned short STAT_DTC_31_NUM_WERT = (RXBUF_UINT(213)); // Numerator from DTC 31 / Numerator von DTC 31 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_31_NUM_WERT", STAT_DTC_31_NUM_WERT, ""); unsigned short STAT_DTC_31_DEN_WERT = (RXBUF_UINT(215)); // Denominator of DTC 31 / Denominator von DTC 31 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_31_DEN_WERT", STAT_DTC_31_DEN_WERT, ""); unsigned short STAT_DTC_32_NUM_WERT = (RXBUF_UINT(220)); // DTC 32 numerator / Numerator von DTC 32 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_32_NUM_WERT", STAT_DTC_32_NUM_WERT, ""); unsigned short STAT_DTC_32_DEN_WERT = (RXBUF_UINT(222)); // Denominator of DTC 32 / Denominator von DTC 32 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_32_DEN_WERT", STAT_DTC_32_DEN_WERT, ""); unsigned short STAT_DTC_33_NUM_WERT = (RXBUF_UINT(227)); // Numerator from DTC 33 / Numerator von DTC 33 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_33_NUM_WERT", STAT_DTC_33_NUM_WERT, ""); unsigned short STAT_DTC_33_DEN_WERT = (RXBUF_UINT(229)); // Denominator of DTC 33 / Denominator von DTC 33 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_33_DEN_WERT", STAT_DTC_33_DEN_WERT, ""); unsigned short STAT_DTC_34_NUM_WERT = (RXBUF_UINT(234)); // Numerator from DTC 34 / Numerator von DTC 34 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_34_NUM_WERT", STAT_DTC_34_NUM_WERT, ""); unsigned short STAT_DTC_34_DEN_WERT = (RXBUF_UINT(236)); // Denominator of DTC 34 / Denominator von DTC 34 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_34_DEN_WERT", STAT_DTC_34_DEN_WERT, ""); unsigned short STAT_DTC_35_NUM_WERT = (RXBUF_UINT(241)); // DTC 35 numerator / Numerator von DTC 35 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_35_NUM_WERT", STAT_DTC_35_NUM_WERT, ""); unsigned short STAT_DTC_35_DEN_WERT = (RXBUF_UINT(243)); // Denominator of DTC 35 / Denominator von DTC 35 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_35_DEN_WERT", STAT_DTC_35_DEN_WERT, ""); unsigned short STAT_DTC_36_NUM_WERT = (RXBUF_UINT(248)); // Numerator from DTC 36 / Numerator von DTC 36 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_36_NUM_WERT", STAT_DTC_36_NUM_WERT, ""); unsigned short STAT_DTC_36_DEN_WERT = (RXBUF_UINT(250)); // Denominator of DTC 36 / Denominator von DTC 36 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_36_DEN_WERT", STAT_DTC_36_DEN_WERT, ""); unsigned short STAT_DTC_37_NUM_WERT = (RXBUF_UINT(255)); // Numerator from DTC 37 / Numerator von DTC 37 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_37_NUM_WERT", STAT_DTC_37_NUM_WERT, ""); unsigned short STAT_DTC_37_DEN_WERT = (RXBUF_UINT(257)); // Denominator of DTC 37 / Denominator von DTC 37 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_37_DEN_WERT", STAT_DTC_37_DEN_WERT, ""); unsigned short STAT_DTC_38_NUM_WERT = (RXBUF_UINT(262)); // Numerator from DTC 38 / Numerator von DTC 38 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_38_NUM_WERT", STAT_DTC_38_NUM_WERT, ""); unsigned short STAT_DTC_38_DEN_WERT = (RXBUF_UINT(264)); // Denominator of DTC 38 / Denominator von DTC 38 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_38_DEN_WERT", STAT_DTC_38_DEN_WERT, ""); unsigned short STAT_DTC_39_NUM_WERT = (RXBUF_UINT(269)); // Numerator from DTC 39 / Numerator von DTC 39 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_39_NUM_WERT", STAT_DTC_39_NUM_WERT, ""); unsigned short STAT_DTC_39_DEN_WERT = (RXBUF_UINT(271)); // Denominator of DTC 39 / Denominator von DTC 39 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_39_DEN_WERT", STAT_DTC_39_DEN_WERT, ""); unsigned short STAT_DTC_40_NUM_WERT = (RXBUF_UINT(276)); // Numerator from DTC 40 / Numerator von DTC 40 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_40_NUM_WERT", STAT_DTC_40_NUM_WERT, ""); unsigned short STAT_DTC_40_DEN_WERT = (RXBUF_UINT(278)); // Denominator of DTC 40 / Denominator von DTC 40 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_40_DEN_WERT", STAT_DTC_40_DEN_WERT, ""); unsigned short STAT_DTC_41_NUM_WERT = (RXBUF_UINT(283)); // Numerator from DTC 41 / Numerator von DTC 41 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_41_NUM_WERT", STAT_DTC_41_NUM_WERT, ""); unsigned short STAT_DTC_41_DEN_WERT = (RXBUF_UINT(285)); // Denominator of DTC 41 / Denominator von DTC 41 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_41_DEN_WERT", STAT_DTC_41_DEN_WERT, ""); unsigned short STAT_DTC_42_NUM_WERT = (RXBUF_UINT(290)); // Numerator from DTC 42 / Numerator von DTC 42 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_42_NUM_WERT", STAT_DTC_42_NUM_WERT, ""); unsigned short STAT_DTC_42_DEN_WERT = (RXBUF_UINT(292)); // Denominator of DTC 42 / Denominator von DTC 42 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_42_DEN_WERT", STAT_DTC_42_DEN_WERT, ""); unsigned short STAT_DTC_43_NUM_WERT = (RXBUF_UINT(297)); // Numerator from DTC 43 / Numerator von DTC 43 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_43_NUM_WERT", STAT_DTC_43_NUM_WERT, ""); unsigned short STAT_DTC_43_DEN_WERT = (RXBUF_UINT(299)); // Denominator of DTC 43 / Denominator von DTC 43 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_43_DEN_WERT", STAT_DTC_43_DEN_WERT, ""); unsigned short STAT_DTC_44_NUM_WERT = (RXBUF_UINT(304)); // DTC 44 numerator / Numerator von DTC 44 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_44_NUM_WERT", STAT_DTC_44_NUM_WERT, ""); unsigned short STAT_DTC_44_DEN_WERT = (RXBUF_UINT(306)); // Denominator of DTC 44 / Denominator von DTC 44 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_44_DEN_WERT", STAT_DTC_44_DEN_WERT, ""); unsigned short STAT_DTC_45_NUM_WERT = (RXBUF_UINT(311)); // DTC 45 numerator / Numerator von DTC 45 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_45_NUM_WERT", STAT_DTC_45_NUM_WERT, ""); unsigned short STAT_DTC_45_DEN_WERT = (RXBUF_UINT(313)); // Denominator of DTC 45 / Denominator von DTC 45 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_45_DEN_WERT", STAT_DTC_45_DEN_WERT, ""); unsigned short STAT_DTC_46_NUM_WERT = (RXBUF_UINT(318)); // Numerator from DTC 46 / Numerator von DTC 46 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_46_NUM_WERT", STAT_DTC_46_NUM_WERT, ""); unsigned short STAT_DTC_46_DEN_WERT = (RXBUF_UINT(320)); // Denominator of DTC 46 / Denominator von DTC 46 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_46_DEN_WERT", STAT_DTC_46_DEN_WERT, ""); unsigned short STAT_DTC_47_NUM_WERT = (RXBUF_UINT(325)); // Numerator from DTC 47 / Numerator von DTC 47 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_47_NUM_WERT", STAT_DTC_47_NUM_WERT, ""); unsigned short STAT_DTC_47_DEN_WERT = (RXBUF_UINT(327)); // Denominator of DTC 47 / Denominator von DTC 47 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_47_DEN_WERT", STAT_DTC_47_DEN_WERT, ""); unsigned short STAT_DTC_48_NUM_WERT = (RXBUF_UINT(332)); // Numerator from DTC 48 / Numerator von DTC 48 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_48_NUM_WERT", STAT_DTC_48_NUM_WERT, ""); unsigned short STAT_DTC_48_DEN_WERT = (RXBUF_UINT(334)); // Denominator of DTC 48 / Denominator von DTC 48 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_48_DEN_WERT", STAT_DTC_48_DEN_WERT, ""); unsigned short STAT_DTC_49_NUM_WERT = (RXBUF_UINT(339)); // DTC 49 numerator / Numerator von DTC 49 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_49_NUM_WERT", STAT_DTC_49_NUM_WERT, ""); unsigned short STAT_DTC_49_DEN_WERT = (RXBUF_UINT(341)); // Denominator of DTC 49 / Denominator von DTC 49 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_49_DEN_WERT", STAT_DTC_49_DEN_WERT, ""); unsigned short STAT_DTC_50_NUM_WERT = (RXBUF_UINT(346)); // DTC 50 numerator / Numerator von DTC 50 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_50_NUM_WERT", STAT_DTC_50_NUM_WERT, ""); unsigned short STAT_DTC_50_DEN_WERT = (RXBUF_UINT(348)); // Denominator of DTC 50 / Denominator von DTC 50 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_50_DEN_WERT", STAT_DTC_50_DEN_WERT, ""); unsigned short STAT_DTC_51_NUM_WERT = (RXBUF_UINT(353)); // Numerator from DTC 51 / Numerator von DTC 51 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_51_NUM_WERT", STAT_DTC_51_NUM_WERT, ""); unsigned short STAT_DTC_51_DEN_WERT = (RXBUF_UINT(355)); // Denominator of DTC 51 / Denominator von DTC 51 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_51_DEN_WERT", STAT_DTC_51_DEN_WERT, ""); unsigned short STAT_DTC_52_NUM_WERT = (RXBUF_UINT(360)); // DTC 52 numerator / Numerator von DTC 52 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_52_NUM_WERT", STAT_DTC_52_NUM_WERT, ""); unsigned short STAT_DTC_52_DEN_WERT = (RXBUF_UINT(362)); // Denominator of DTC 52 / Denominator von DTC 52 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_52_DEN_WERT", STAT_DTC_52_DEN_WERT, ""); unsigned short STAT_DTC_53_NUM_WERT = (RXBUF_UINT(367)); // DTC 53 numerator / Numerator von DTC 53 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_53_NUM_WERT", STAT_DTC_53_NUM_WERT, ""); unsigned short STAT_DTC_53_DEN_WERT = (RXBUF_UINT(369)); // Denominator of DTC 53 / Denominator von DTC 53 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_53_DEN_WERT", STAT_DTC_53_DEN_WERT, ""); unsigned short STAT_DTC_54_NUM_WERT = (RXBUF_UINT(374)); // Numerator from DTC 54 / Numerator von DTC 54 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_54_NUM_WERT", STAT_DTC_54_NUM_WERT, ""); unsigned short STAT_DTC_54_DEN_WERT = (RXBUF_UINT(376)); // Denominator of DTC 54 / Denominator von DTC 54 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_54_DEN_WERT", STAT_DTC_54_DEN_WERT, ""); unsigned short STAT_DTC_55_NUM_WERT = (RXBUF_UINT(381)); // DTC 55 numerator / Numerator von DTC 55 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_55_NUM_WERT", STAT_DTC_55_NUM_WERT, ""); unsigned short STAT_DTC_55_DEN_WERT = (RXBUF_UINT(383)); // Denominator of DTC 55 / Denominator von DTC 55 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_55_DEN_WERT", STAT_DTC_55_DEN_WERT, ""); unsigned short STAT_DTC_56_NUM_WERT = (RXBUF_UINT(388)); // Numerator from DTC 56 / Numerator von DTC 56 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_56_NUM_WERT", STAT_DTC_56_NUM_WERT, ""); unsigned short STAT_DTC_56_DEN_WERT = (RXBUF_UINT(390)); // Denominator of DTC 56 / Denominator von DTC 56 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_56_DEN_WERT", STAT_DTC_56_DEN_WERT, ""); unsigned short STAT_DTC_57_NUM_WERT = (RXBUF_UINT(395)); // Numerator from DTC 57 / Numerator von DTC 57 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_57_NUM_WERT", STAT_DTC_57_NUM_WERT, ""); unsigned short STAT_DTC_57_DEN_WERT = (RXBUF_UINT(397)); // Denominator of DTC 57 / Denominator von DTC 57 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_57_DEN_WERT", STAT_DTC_57_DEN_WERT, ""); unsigned short STAT_DTC_58_NUM_WERT = (RXBUF_UINT(402)); // Numerator from DTC 58 / Numerator von DTC 58 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_58_NUM_WERT", STAT_DTC_58_NUM_WERT, ""); unsigned short STAT_DTC_58_DEN_WERT = (RXBUF_UINT(404)); // Denominator of DTC 58 / Denominator von DTC 58 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_58_DEN_WERT", STAT_DTC_58_DEN_WERT, ""); unsigned short STAT_DTC_59_NUM_WERT = (RXBUF_UINT(409)); // Numerator from DTC 59 / Numerator von DTC 59 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_59_NUM_WERT", STAT_DTC_59_NUM_WERT, ""); unsigned short STAT_DTC_59_DEN_WERT = (RXBUF_UINT(411)); // Denominator of DTC 59 / Denominator von DTC 59 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_59_DEN_WERT", STAT_DTC_59_DEN_WERT, ""); unsigned short STAT_DTC_60_NUM_WERT = (RXBUF_UINT(416)); // DTC 60 numerator / Numerator von DTC 60 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_60_NUM_WERT", STAT_DTC_60_NUM_WERT, ""); unsigned short STAT_DTC_60_DEN_WERT = (RXBUF_UINT(418)); // Denominator of DTC 60 / Denominator von DTC 60 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_60_DEN_WERT", STAT_DTC_60_DEN_WERT, ""); unsigned short STAT_DTC_61_NUM_WERT = (RXBUF_UINT(423)); // DTC 61 numerator / Numerator von DTC 61 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_61_NUM_WERT", STAT_DTC_61_NUM_WERT, ""); unsigned short STAT_DTC_61_DEN_WERT = (RXBUF_UINT(425)); // Denominator of DTC 61 / Denominator von DTC 61 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_61_DEN_WERT", STAT_DTC_61_DEN_WERT, ""); unsigned short STAT_DTC_62_NUM_WERT = (RXBUF_UINT(430)); // Numerator from DTC 62 / Numerator von DTC 62 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_62_NUM_WERT", STAT_DTC_62_NUM_WERT, ""); unsigned short STAT_DTC_62_DEN_WERT = (RXBUF_UINT(432)); // Denominator of DTC 62 / Denominator von DTC 62 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_62_DEN_WERT", STAT_DTC_62_DEN_WERT, ""); unsigned short STAT_DTC_63_NUM_WERT = (RXBUF_UINT(437)); // DTC 63 numerator / Numerator von DTC 63 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_63_NUM_WERT", STAT_DTC_63_NUM_WERT, ""); unsigned short STAT_DTC_63_DEN_WERT = (RXBUF_UINT(439)); // Denominator of DTC 63 / Denominator von DTC 63 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_63_DEN_WERT", STAT_DTC_63_DEN_WERT, ""); unsigned short STAT_DTC_64_NUM_WERT = (RXBUF_UINT(444)); // DTC 64 numerator / Numerator von DTC 64 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_64_NUM_WERT", STAT_DTC_64_NUM_WERT, ""); unsigned short STAT_DTC_64_DEN_WERT = (RXBUF_UINT(446)); // Denominator of DTC 64 / Denominator von DTC 64 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_64_DEN_WERT", STAT_DTC_64_DEN_WERT, ""); unsigned short STAT_DTC_65_NUM_WERT = (RXBUF_UINT(451)); // Numerator from DTC 65 / Numerator von DTC 65 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_65_NUM_WERT", STAT_DTC_65_NUM_WERT, ""); unsigned short STAT_DTC_65_DEN_WERT = (RXBUF_UINT(453)); // Denominator of DTC 65 / Denominator von DTC 65 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_65_DEN_WERT", STAT_DTC_65_DEN_WERT, ""); unsigned short STAT_DTC_66_NUM_WERT = (RXBUF_UINT(458)); // Numerator from DTC 66 / Numerator von DTC 66 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_66_NUM_WERT", STAT_DTC_66_NUM_WERT, ""); unsigned short STAT_DTC_66_DEN_WERT = (RXBUF_UINT(460)); // Denominator of DTC 66 / Denominator von DTC 66 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_66_DEN_WERT", STAT_DTC_66_DEN_WERT, ""); unsigned short STAT_DTC_67_NUM_WERT = (RXBUF_UINT(465)); // DTC 67 numerator / Numerator von DTC 67 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_67_NUM_WERT", STAT_DTC_67_NUM_WERT, ""); unsigned short STAT_DTC_67_DEN_WERT = (RXBUF_UINT(467)); // Denominator of DTC 67 / Denominator von DTC 67 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_67_DEN_WERT", STAT_DTC_67_DEN_WERT, ""); unsigned short STAT_DTC_68_NUM_WERT = (RXBUF_UINT(472)); // Numerator from DTC 68 / Numerator von DTC 68 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_68_NUM_WERT", STAT_DTC_68_NUM_WERT, ""); unsigned short STAT_DTC_68_DEN_WERT = (RXBUF_UINT(474)); // Denominator of DTC 68 / Denominator von DTC 68 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_68_DEN_WERT", STAT_DTC_68_DEN_WERT, ""); unsigned short STAT_DTC_69_NUM_WERT = (RXBUF_UINT(479)); // Numerator from DTC 69 / Numerator von DTC 69 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_69_NUM_WERT", STAT_DTC_69_NUM_WERT, ""); unsigned short STAT_DTC_69_DEN_WERT = (RXBUF_UINT(481)); // Denominator of DTC 69 / Denominator von DTC 69 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_69_DEN_WERT", STAT_DTC_69_DEN_WERT, ""); unsigned short STAT_DTC_70_NUM_WERT = (RXBUF_UINT(486)); // DTC 70 numerator / Numerator von DTC 70 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_70_NUM_WERT", STAT_DTC_70_NUM_WERT, ""); unsigned short STAT_DTC_70_DEN_WERT = (RXBUF_UINT(488)); // Denominator of DTC 70 / Denominator von DTC 70 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_70_DEN_WERT", STAT_DTC_70_DEN_WERT, ""); unsigned short STAT_DTC_71_NUM_WERT = (RXBUF_UINT(493)); // Numerator from DTC 71 / Numerator von DTC 71 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_71_NUM_WERT", STAT_DTC_71_NUM_WERT, ""); unsigned short STAT_DTC_71_DEN_WERT = (RXBUF_UINT(495)); // Denominator of DTC 71 / Denominator von DTC 71 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_71_DEN_WERT", STAT_DTC_71_DEN_WERT, ""); unsigned short STAT_DTC_72_NUM_WERT = (RXBUF_UINT(500)); // DTC 72 numerator / Numerator von DTC 72 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_72_NUM_WERT", STAT_DTC_72_NUM_WERT, ""); unsigned short STAT_DTC_72_DEN_WERT = (RXBUF_UINT(502)); // Denominator of DTC 72 / Denominator von DTC 72 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_72_DEN_WERT", STAT_DTC_72_DEN_WERT, ""); unsigned short STAT_DTC_73_NUM_WERT = (RXBUF_UINT(507)); // Numerator from DTC 73 / Numerator von DTC 73 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_73_NUM_WERT", STAT_DTC_73_NUM_WERT, ""); unsigned short STAT_DTC_73_DEN_WERT = (RXBUF_UINT(509)); // Denominator of DTC 73 / Denominator von DTC 73 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_73_DEN_WERT", STAT_DTC_73_DEN_WERT, ""); unsigned short STAT_DTC_74_NUM_WERT = (RXBUF_UINT(514)); // Numerator from DTC 74 / Numerator von DTC 74 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_74_NUM_WERT", STAT_DTC_74_NUM_WERT, ""); unsigned short STAT_DTC_74_DEN_WERT = (RXBUF_UINT(516)); // Denominator of DTC 74 / Denominator von DTC 74 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_74_DEN_WERT", STAT_DTC_74_DEN_WERT, ""); unsigned short STAT_DTC_75_NUM_WERT = (RXBUF_UINT(521)); // Numerator from DTC 75 / Numerator von DTC 75 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_75_NUM_WERT", STAT_DTC_75_NUM_WERT, ""); unsigned short STAT_DTC_75_DEN_WERT = (RXBUF_UINT(523)); // Denominator of DTC 75 / Denominator von DTC 75 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_75_DEN_WERT", STAT_DTC_75_DEN_WERT, ""); unsigned short STAT_DTC_76_NUM_WERT = (RXBUF_UINT(528)); // Numerator from DTC 76 / Numerator von DTC 76 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_76_NUM_WERT", STAT_DTC_76_NUM_WERT, ""); unsigned short STAT_DTC_76_DEN_WERT = (RXBUF_UINT(530)); // Denominator of DTC 76 / Denominator von DTC 76 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_76_DEN_WERT", STAT_DTC_76_DEN_WERT, ""); unsigned short STAT_DTC_77_NUM_WERT = (RXBUF_UINT(535)); // DTC 77 numerator / Numerator von DTC 77 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_77_NUM_WERT", STAT_DTC_77_NUM_WERT, ""); unsigned short STAT_DTC_77_DEN_WERT = (RXBUF_UINT(537)); // Denominator of DTC 77 / Denominator von DTC 77 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_77_DEN_WERT", STAT_DTC_77_DEN_WERT, ""); unsigned short STAT_DTC_78_NUM_WERT = (RXBUF_UINT(542)); // DTC 78 numerator / Numerator von DTC 78 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_78_NUM_WERT", STAT_DTC_78_NUM_WERT, ""); unsigned short STAT_DTC_78_DEN_WERT = (RXBUF_UINT(544)); // Denominator of DTC 78 / Denominator von DTC 78 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_78_DEN_WERT", STAT_DTC_78_DEN_WERT, ""); unsigned short STAT_DTC_79_NUM_WERT = (RXBUF_UINT(549)); // DTC 79 numerator / Numerator von DTC 79 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_79_NUM_WERT", STAT_DTC_79_NUM_WERT, ""); unsigned short STAT_DTC_79_DEN_WERT = (RXBUF_UINT(551)); // Denominator of DTC 79 / Denominator von DTC 79 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_79_DEN_WERT", STAT_DTC_79_DEN_WERT, ""); unsigned short STAT_DTC_80_NUM_WERT = (RXBUF_UINT(556)); // DTC 80 numerator / Numerator von DTC 80 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_80_NUM_WERT", STAT_DTC_80_NUM_WERT, ""); unsigned short STAT_DTC_80_DEN_WERT = (RXBUF_UINT(558)); // Denominator of DTC 80 / Denominator von DTC 80 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_80_DEN_WERT", STAT_DTC_80_DEN_WERT, ""); unsigned short STAT_DTC_81_NUM_WERT = (RXBUF_UINT(563)); // Numerator from DTC 81 / Numerator von DTC 81 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_81_NUM_WERT", STAT_DTC_81_NUM_WERT, ""); unsigned short STAT_DTC_81_DEN_WERT = (RXBUF_UINT(565)); // Denominator of DTC 81 / Denominator von DTC 81 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_81_DEN_WERT", STAT_DTC_81_DEN_WERT, ""); unsigned short STAT_DTC_82_NUM_WERT = (RXBUF_UINT(570)); // Numerator from DTC 82 / Numerator von DTC 82 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_82_NUM_WERT", STAT_DTC_82_NUM_WERT, ""); unsigned short STAT_DTC_82_DEN_WERT = (RXBUF_UINT(572)); // Denominator of DTC 82 / Denominator von DTC 82 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_82_DEN_WERT", STAT_DTC_82_DEN_WERT, ""); unsigned short STAT_DTC_83_NUM_WERT = (RXBUF_UINT(577)); // Numerator from DTC 83 / Numerator von DTC 83 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_83_NUM_WERT", STAT_DTC_83_NUM_WERT, ""); unsigned short STAT_DTC_83_DEN_WERT = (RXBUF_UINT(579)); // Denominator of DTC 83 / Denominator von DTC 83 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_83_DEN_WERT", STAT_DTC_83_DEN_WERT, ""); unsigned short STAT_DTC_84_NUM_WERT = (RXBUF_UINT(584)); // DTC 84 numerator / Numerator von DTC 84 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_84_NUM_WERT", STAT_DTC_84_NUM_WERT, ""); unsigned short STAT_DTC_84_DEN_WERT = (RXBUF_UINT(586)); // Denominator of DTC 84 / Denominator von DTC 84 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_84_DEN_WERT", STAT_DTC_84_DEN_WERT, ""); unsigned short STAT_DTC_85_NUM_WERT = (RXBUF_UINT(591)); // Numerator from DTC 85 / Numerator von DTC 85 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_85_NUM_WERT", STAT_DTC_85_NUM_WERT, ""); unsigned short STAT_DTC_85_DEN_WERT = (RXBUF_UINT(593)); // Denominator of DTC 85 / Denominator von DTC 85 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_85_DEN_WERT", STAT_DTC_85_DEN_WERT, ""); unsigned short STAT_DTC_86_NUM_WERT = (RXBUF_UINT(598)); // Numerator from DTC 86 / Numerator von DTC 86 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_86_NUM_WERT", STAT_DTC_86_NUM_WERT, ""); unsigned short STAT_DTC_86_DEN_WERT = (RXBUF_UINT(600)); // Denominator of DTC 86 / Denominator von DTC 86 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_86_DEN_WERT", STAT_DTC_86_DEN_WERT, ""); unsigned short STAT_DTC_87_NUM_WERT = (RXBUF_UINT(605)); // Numerator from DTC 87 / Numerator von DTC 87 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_87_NUM_WERT", STAT_DTC_87_NUM_WERT, ""); unsigned short STAT_DTC_87_DEN_WERT = (RXBUF_UINT(607)); // Denominator of DTC 87 / Denominator von DTC 87 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_87_DEN_WERT", STAT_DTC_87_DEN_WERT, ""); unsigned short STAT_DTC_88_NUM_WERT = (RXBUF_UINT(612)); // DTC 88 numerator / Numerator von DTC 88 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_88_NUM_WERT", STAT_DTC_88_NUM_WERT, ""); unsigned short STAT_DTC_88_DEN_WERT = (RXBUF_UINT(614)); // Denominator of DTC 88 / Denominator von DTC 88 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_88_DEN_WERT", STAT_DTC_88_DEN_WERT, ""); unsigned short STAT_DTC_89_NUM_WERT = (RXBUF_UINT(619)); // Numerator from DTC 89 / Numerator von DTC 89 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_89_NUM_WERT", STAT_DTC_89_NUM_WERT, ""); unsigned short STAT_DTC_89_DEN_WERT = (RXBUF_UINT(621)); // Denominator of DTC 89 / Denominator von DTC 89 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_89_DEN_WERT", STAT_DTC_89_DEN_WERT, ""); unsigned short STAT_DTC_90_NUM_WERT = (RXBUF_UINT(626)); // Numerator from DTC 90 / Numerator von DTC 90 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_90_NUM_WERT", STAT_DTC_90_NUM_WERT, ""); unsigned short STAT_DTC_90_DEN_WERT = (RXBUF_UINT(628)); // Denominator of DTC 90 / Denominator von DTC 90 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_90_DEN_WERT", STAT_DTC_90_DEN_WERT, ""); unsigned short STAT_DTC_91_NUM_WERT = (RXBUF_UINT(633)); // DTC 91 numerator / Numerator von DTC 91 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_91_NUM_WERT", STAT_DTC_91_NUM_WERT, ""); unsigned short STAT_DTC_91_DEN_WERT = (RXBUF_UINT(635)); // Denominator of DTC 91 / Denominator von DTC 91 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_91_DEN_WERT", STAT_DTC_91_DEN_WERT, ""); unsigned short STAT_DTC_92_NUM_WERT = (RXBUF_UINT(640)); // Numerator from DTC 92 / Numerator von DTC 92 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_92_NUM_WERT", STAT_DTC_92_NUM_WERT, ""); unsigned short STAT_DTC_92_DEN_WERT = (RXBUF_UINT(642)); // Denominator of DTC 92 / Denominator von DTC 92 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_92_DEN_WERT", STAT_DTC_92_DEN_WERT, ""); unsigned short STAT_DTC_93_NUM_WERT = (RXBUF_UINT(647)); // DTC 93 numerator / Numerator von DTC 93 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_93_NUM_WERT", STAT_DTC_93_NUM_WERT, ""); unsigned short STAT_DTC_93_DEN_WERT = (RXBUF_UINT(649)); // Denominator of DTC 93 / Denominator von DTC 93 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_93_DEN_WERT", STAT_DTC_93_DEN_WERT, ""); unsigned short STAT_DTC_94_NUM_WERT = (RXBUF_UINT(654)); // DTC 94 numerator / Numerator von DTC 94 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_94_NUM_WERT", STAT_DTC_94_NUM_WERT, ""); unsigned short STAT_DTC_94_DEN_WERT = (RXBUF_UINT(656)); // Denominator of DTC 94 / Denominator von DTC 94 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_94_DEN_WERT", STAT_DTC_94_DEN_WERT, ""); unsigned short STAT_DTC_95_NUM_WERT = (RXBUF_UINT(661)); // Numerator from DTC 95 / Numerator von DTC 95 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_95_NUM_WERT", STAT_DTC_95_NUM_WERT, ""); unsigned short STAT_DTC_95_DEN_WERT = (RXBUF_UINT(663)); // Denominator of DTC 95 / Denominator von DTC 95 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_95_DEN_WERT", STAT_DTC_95_DEN_WERT, ""); unsigned short STAT_DTC_96_NUM_WERT = (RXBUF_UINT(668)); // Numerator from DTC 96 / Numerator von DTC 96 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_96_NUM_WERT", STAT_DTC_96_NUM_WERT, ""); unsigned short STAT_DTC_96_DEN_WERT = (RXBUF_UINT(670)); // Denominator of DTC 96 / Denominator von DTC 96 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_96_DEN_WERT", STAT_DTC_96_DEN_WERT, ""); unsigned short STAT_DTC_97_NUM_WERT = (RXBUF_UINT(675)); // Numerator from DTC 97 / Numerator von DTC 97 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_97_NUM_WERT", STAT_DTC_97_NUM_WERT, ""); unsigned short STAT_DTC_97_DEN_WERT = (RXBUF_UINT(677)); // Denominator of DTC 97 / Denominator von DTC 97 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_97_DEN_WERT", STAT_DTC_97_DEN_WERT, ""); unsigned short STAT_DTC_98_NUM_WERT = (RXBUF_UINT(682)); // Numerator from DTC 98 / Numerator von DTC 98 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_98_NUM_WERT", STAT_DTC_98_NUM_WERT, ""); unsigned short STAT_DTC_98_DEN_WERT = (RXBUF_UINT(684)); // Denominator of DTC 98 / Denominator von DTC 98 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_98_DEN_WERT", STAT_DTC_98_DEN_WERT, ""); unsigned short STAT_DTC_99_NUM_WERT = (RXBUF_UINT(689)); // DTC 99 numerator / Numerator von DTC 99 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_99_NUM_WERT", STAT_DTC_99_NUM_WERT, ""); unsigned short STAT_DTC_99_DEN_WERT = (RXBUF_UINT(691)); // Denominator of DTC 99 / Denominator von DTC 99 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_99_DEN_WERT", STAT_DTC_99_DEN_WERT, ""); unsigned short STAT_DTC_100_NUM_WERT = (RXBUF_UINT(696)); // DTC 100 numerator / Numerator von DTC 100 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_100_NUM_WERT", STAT_DTC_100_NUM_WERT, ""); unsigned short STAT_DTC_100_DEN_WERT = (RXBUF_UINT(698)); // Denominator of DTC 100 / Denominator von DTC 100 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_100_DEN_WERT", STAT_DTC_100_DEN_WERT, ""); unsigned short STAT_DTC_101_NUM_WERT = (RXBUF_UINT(703)); // DTC 101 numerator / Numerator von DTC 101 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_101_NUM_WERT", STAT_DTC_101_NUM_WERT, ""); unsigned short STAT_DTC_101_DEN_WERT = (RXBUF_UINT(705)); // Denominator of DTC 101 / Denominator von DTC 101 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_101_DEN_WERT", STAT_DTC_101_DEN_WERT, ""); unsigned short STAT_DTC_102_NUM_WERT = (RXBUF_UINT(710)); // Numerator from DTC 102 / Numerator von DTC 102 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_102_NUM_WERT", STAT_DTC_102_NUM_WERT, ""); unsigned short STAT_DTC_102_DEN_WERT = (RXBUF_UINT(712)); // Denominator of DTC 102 / Denominator von DTC 102 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_102_DEN_WERT", STAT_DTC_102_DEN_WERT, ""); unsigned short STAT_DTC_103_NUM_WERT = (RXBUF_UINT(717)); // DTC 103 numerator / Numerator von DTC 103 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_103_NUM_WERT", STAT_DTC_103_NUM_WERT, ""); unsigned short STAT_DTC_103_DEN_WERT = (RXBUF_UINT(719)); // Denominator of DTC 103 / Denominator von DTC 103 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_103_DEN_WERT", STAT_DTC_103_DEN_WERT, ""); unsigned short STAT_DTC_104_NUM_WERT = (RXBUF_UINT(724)); // DTC 104 numerator / Numerator von DTC 104 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_104_NUM_WERT", STAT_DTC_104_NUM_WERT, ""); unsigned short STAT_DTC_104_DEN_WERT = (RXBUF_UINT(726)); // Denominator of DTC 104 / Denominator von DTC 104 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_104_DEN_WERT", STAT_DTC_104_DEN_WERT, ""); unsigned short STAT_DTC_105_NUM_WERT = (RXBUF_UINT(731)); // Numerator from DTC 105 / Numerator von DTC 105 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_105_NUM_WERT", STAT_DTC_105_NUM_WERT, ""); unsigned short STAT_DTC_105_DEN_WERT = (RXBUF_UINT(733)); // Denominator of DTC 105 / Denominator von DTC 105 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_105_DEN_WERT", STAT_DTC_105_DEN_WERT, ""); unsigned short STAT_DTC_106_NUM_WERT = (RXBUF_UINT(738)); // DTC 106 numerator / Numerator von DTC 106 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_106_NUM_WERT", STAT_DTC_106_NUM_WERT, ""); unsigned short STAT_DTC_106_DEN_WERT = (RXBUF_UINT(740)); // Denominator of DTC 106 / Denominator von DTC 106 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_106_DEN_WERT", STAT_DTC_106_DEN_WERT, ""); unsigned short STAT_DTC_107_NUM_WERT = (RXBUF_UINT(745)); // DTC 107 numerator / Numerator von DTC 107 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_107_NUM_WERT", STAT_DTC_107_NUM_WERT, ""); unsigned short STAT_DTC_107_DEN_WERT = (RXBUF_UINT(747)); // Denominator of DTC 107 / Denominator von DTC 107 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_107_DEN_WERT", STAT_DTC_107_DEN_WERT, ""); unsigned short STAT_DTC_108_NUM_WERT = (RXBUF_UINT(752)); // Numerator from DTC 108 / Numerator von DTC 108 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_108_NUM_WERT", STAT_DTC_108_NUM_WERT, ""); unsigned short STAT_DTC_108_DEN_WERT = (RXBUF_UINT(754)); // Denominator of DTC 108 / Denominator von DTC 108 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_108_DEN_WERT", STAT_DTC_108_DEN_WERT, ""); unsigned short STAT_DTC_109_NUM_WERT = (RXBUF_UINT(759)); // Numerator from DTC 109 / Numerator von DTC 109 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_109_NUM_WERT", STAT_DTC_109_NUM_WERT, ""); unsigned short STAT_DTC_109_DEN_WERT = (RXBUF_UINT(761)); // Denominator of DTC 109 / Denominator von DTC 109 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_109_DEN_WERT", STAT_DTC_109_DEN_WERT, ""); unsigned short STAT_DTC_110_NUM_WERT = (RXBUF_UINT(766)); // Numerator from DTC 110 / Numerator von DTC 110 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_110_NUM_WERT", STAT_DTC_110_NUM_WERT, ""); unsigned short STAT_DTC_110_DEN_WERT = (RXBUF_UINT(768)); // Denominator of DTC 110 / Denominator von DTC 110 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_110_DEN_WERT", STAT_DTC_110_DEN_WERT, ""); unsigned short STAT_DTC_111_NUM_WERT = (RXBUF_UINT(773)); // DTC 111 numerator / Numerator von DTC 111 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_111_NUM_WERT", STAT_DTC_111_NUM_WERT, ""); unsigned short STAT_DTC_111_DEN_WERT = (RXBUF_UINT(775)); // Denominator of DTC 111 / Denominator von DTC 111 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_111_DEN_WERT", STAT_DTC_111_DEN_WERT, ""); unsigned short STAT_DTC_112_NUM_WERT = (RXBUF_UINT(780)); // Numerator from DTC 112 / Numerator von DTC 112 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_112_NUM_WERT", STAT_DTC_112_NUM_WERT, ""); unsigned short STAT_DTC_112_DEN_WERT = (RXBUF_UINT(782)); // Denominator of DTC 112 / Denominator von DTC 112 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_112_DEN_WERT", STAT_DTC_112_DEN_WERT, ""); unsigned short STAT_DTC_113_NUM_WERT = (RXBUF_UINT(787)); // Numerator from DTC 113 / Numerator von DTC 113 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_113_NUM_WERT", STAT_DTC_113_NUM_WERT, ""); unsigned short STAT_DTC_113_DEN_WERT = (RXBUF_UINT(789)); // Denominator of DTC 113 / Denominator von DTC 113 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_113_DEN_WERT", STAT_DTC_113_DEN_WERT, ""); unsigned short STAT_DTC_114_NUM_WERT = (RXBUF_UINT(794)); // Numerator from DTC 114 / Numerator von DTC 114 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_114_NUM_WERT", STAT_DTC_114_NUM_WERT, ""); unsigned short STAT_DTC_114_DEN_WERT = (RXBUF_UINT(796)); // Denominator of DTC 114 / Denominator von DTC 114 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_114_DEN_WERT", STAT_DTC_114_DEN_WERT, ""); unsigned short STAT_DTC_115_NUM_WERT = (RXBUF_UINT(801)); // DTC 115 numerator / Numerator von DTC 115 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_115_NUM_WERT", STAT_DTC_115_NUM_WERT, ""); unsigned short STAT_DTC_115_DEN_WERT = (RXBUF_UINT(803)); // Denominator of DTC 115 / Denominator von DTC 115 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_115_DEN_WERT", STAT_DTC_115_DEN_WERT, ""); unsigned short STAT_DTC_116_NUM_WERT = (RXBUF_UINT(808)); // DTC 116 numerator / Numerator von DTC 116 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_116_NUM_WERT", STAT_DTC_116_NUM_WERT, ""); unsigned short STAT_DTC_116_DEN_WERT = (RXBUF_UINT(810)); // Denominator of DTC 116 / Denominator von DTC 116 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_116_DEN_WERT", STAT_DTC_116_DEN_WERT, ""); unsigned short STAT_DTC_117_NUM_WERT = (RXBUF_UINT(815)); // Numerator from DTC 117 / Numerator von DTC 117 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_117_NUM_WERT", STAT_DTC_117_NUM_WERT, ""); unsigned short STAT_DTC_117_DEN_WERT = (RXBUF_UINT(817)); // Denominator of DTC 117 / Denominator von DTC 117 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_117_DEN_WERT", STAT_DTC_117_DEN_WERT, ""); unsigned short STAT_DTC_118_NUM_WERT = (RXBUF_UINT(822)); // Numerator from DTC 118 / Numerator von DTC 118 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_118_NUM_WERT", STAT_DTC_118_NUM_WERT, ""); unsigned short STAT_DTC_118_DEN_WERT = (RXBUF_UINT(824)); // Denominator of DTC 118 / Denominator von DTC 118 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_118_DEN_WERT", STAT_DTC_118_DEN_WERT, ""); unsigned short STAT_DTC_119_NUM_WERT = (RXBUF_UINT(829)); // Numerator from DTC 119 / Numerator von DTC 119 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_119_NUM_WERT", STAT_DTC_119_NUM_WERT, ""); unsigned short STAT_DTC_119_DEN_WERT = (RXBUF_UINT(831)); // Denominator of DTC 119 / Denominator von DTC 119 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_119_DEN_WERT", STAT_DTC_119_DEN_WERT, ""); unsigned short STAT_DTC_120_NUM_WERT = (RXBUF_UINT(836)); // DTC 120 numerator / Numerator von DTC 120 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_120_NUM_WERT", STAT_DTC_120_NUM_WERT, ""); unsigned short STAT_DTC_120_DEN_WERT = (RXBUF_UINT(838)); // Denominator of DTC 120 / Denominator von DTC 120 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_120_DEN_WERT", STAT_DTC_120_DEN_WERT, ""); unsigned short STAT_DTC_121_NUM_WERT = (RXBUF_UINT(843)); // Numerator from DTC 121 / Numerator von DTC 121 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_121_NUM_WERT", STAT_DTC_121_NUM_WERT, ""); unsigned short STAT_DTC_121_DEN_WERT = (RXBUF_UINT(845)); // Denominator of DTC 121 / Denominator von DTC 121 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_121_DEN_WERT", STAT_DTC_121_DEN_WERT, ""); unsigned short STAT_DTC_122_NUM_WERT = (RXBUF_UINT(850)); // DTC 122 numerator / Numerator von DTC 122 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_122_NUM_WERT", STAT_DTC_122_NUM_WERT, ""); unsigned short STAT_DTC_122_DEN_WERT = (RXBUF_UINT(852)); // Denominator of DTC 122 / Denominator von DTC 122 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_122_DEN_WERT", STAT_DTC_122_DEN_WERT, ""); unsigned short STAT_DTC_123_NUM_WERT = (RXBUF_UINT(857)); // DTC 123 numerator / Numerator von DTC 123 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_123_NUM_WERT", STAT_DTC_123_NUM_WERT, ""); unsigned short STAT_DTC_123_DEN_WERT = (RXBUF_UINT(859)); // Denominator of DTC 123 / Denominator von DTC 123 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_123_DEN_WERT", STAT_DTC_123_DEN_WERT, ""); unsigned short STAT_DTC_124_NUM_WERT = (RXBUF_UINT(864)); // DTC 124 numerator / Numerator von DTC 124 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_124_NUM_WERT", STAT_DTC_124_NUM_WERT, ""); unsigned short STAT_DTC_124_DEN_WERT = (RXBUF_UINT(866)); // Denominator of DTC 124 / Denominator von DTC 124 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_124_DEN_WERT", STAT_DTC_124_DEN_WERT, ""); unsigned short STAT_DTC_125_NUM_WERT = (RXBUF_UINT(871)); // Numerator from DTC 125 / Numerator von DTC 125 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_125_NUM_WERT", STAT_DTC_125_NUM_WERT, ""); unsigned short STAT_DTC_125_DEN_WERT = (RXBUF_UINT(873)); // Denominator of DTC 125 / Denominator von DTC 125 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_125_DEN_WERT", STAT_DTC_125_DEN_WERT, ""); unsigned short STAT_DTC_126_NUM_WERT = (RXBUF_UINT(878)); // Numerator from DTC 126 / Numerator von DTC 126 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_126_NUM_WERT", STAT_DTC_126_NUM_WERT, ""); unsigned short STAT_DTC_126_DEN_WERT = (RXBUF_UINT(880)); // Denominator of DTC 126 / Denominator von DTC 126 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_126_DEN_WERT", STAT_DTC_126_DEN_WERT, ""); unsigned short STAT_DTC_127_NUM_WERT = (RXBUF_UINT(885)); // DTC 127 numerator / Numerator von DTC 127 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_127_NUM_WERT", STAT_DTC_127_NUM_WERT, ""); unsigned short STAT_DTC_127_DEN_WERT = (RXBUF_UINT(887)); // Denominator of DTC 127 / Denominator von DTC 127 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_127_DEN_WERT", STAT_DTC_127_DEN_WERT, ""); unsigned short STAT_DTC_128_NUM_WERT = (RXBUF_UINT(892)); // DTC 128 numerator / Numerator von DTC 128 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_128_NUM_WERT", STAT_DTC_128_NUM_WERT, ""); unsigned short STAT_DTC_128_DEN_WERT = (RXBUF_UINT(894)); // Denominator of DTC 128 / Denominator von DTC 128 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_128_DEN_WERT", STAT_DTC_128_DEN_WERT, ""); unsigned short STAT_DTC_129_NUM_WERT = (RXBUF_UINT(899)); // Numerator from DTC 129 / Numerator von DTC 129 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_129_NUM_WERT", STAT_DTC_129_NUM_WERT, ""); unsigned short STAT_DTC_129_DEN_WERT = (RXBUF_UINT(901)); // Denominator of DTC 129 / Denominator von DTC 129 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_129_DEN_WERT", STAT_DTC_129_DEN_WERT, ""); unsigned short STAT_DTC_130_NUM_WERT = (RXBUF_UINT(906)); // DTC 130 numerator / Numerator von DTC 130 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_130_NUM_WERT", STAT_DTC_130_NUM_WERT, ""); unsigned short STAT_DTC_130_DEN_WERT = (RXBUF_UINT(908)); // Denominator of DTC 130 / Denominator von DTC 130 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_130_DEN_WERT", STAT_DTC_130_DEN_WERT, ""); unsigned short STAT_DTC_131_NUM_WERT = (RXBUF_UINT(913)); // DTC 131 numerator / Numerator von DTC 131 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_131_NUM_WERT", STAT_DTC_131_NUM_WERT, ""); unsigned short STAT_DTC_131_DEN_WERT = (RXBUF_UINT(915)); // Denominator of DTC 131 / Denominator von DTC 131 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_131_DEN_WERT", STAT_DTC_131_DEN_WERT, ""); unsigned short STAT_DTC_132_NUM_WERT = (RXBUF_UINT(920)); // Numerator from DTC 132 / Numerator von DTC 132 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_132_NUM_WERT", STAT_DTC_132_NUM_WERT, ""); unsigned short STAT_DTC_132_DEN_WERT = (RXBUF_UINT(922)); // Denominator of DTC 132 / Denominator von DTC 132 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_132_DEN_WERT", STAT_DTC_132_DEN_WERT, ""); unsigned short STAT_DTC_133_NUM_WERT = (RXBUF_UINT(927)); // DTC 133 numerator / Numerator von DTC 133 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_133_NUM_WERT", STAT_DTC_133_NUM_WERT, ""); unsigned short STAT_DTC_133_DEN_WERT = (RXBUF_UINT(929)); // Denominator of DTC 133 / Denominator von DTC 133 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_133_DEN_WERT", STAT_DTC_133_DEN_WERT, ""); unsigned short STAT_DTC_134_NUM_WERT = (RXBUF_UINT(934)); // DTC 134 numerator / Numerator von DTC 134 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_134_NUM_WERT", STAT_DTC_134_NUM_WERT, ""); unsigned short STAT_DTC_134_DEN_WERT = (RXBUF_UINT(936)); // Denominator of DTC 134 / Denominator von DTC 134 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_134_DEN_WERT", STAT_DTC_134_DEN_WERT, ""); unsigned short STAT_DTC_135_NUM_WERT = (RXBUF_UINT(941)); // Numerator from DTC 135 / Numerator von DTC 135 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_135_NUM_WERT", STAT_DTC_135_NUM_WERT, ""); unsigned short STAT_DTC_135_DEN_WERT = (RXBUF_UINT(943)); // Denominator of DTC 135 / Denominator von DTC 135 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_135_DEN_WERT", STAT_DTC_135_DEN_WERT, ""); unsigned short STAT_DTC_136_NUM_WERT = (RXBUF_UINT(948)); // Numerator from DTC 136 / Numerator von DTC 136 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_136_NUM_WERT", STAT_DTC_136_NUM_WERT, ""); unsigned short STAT_DTC_136_DEN_WERT = (RXBUF_UINT(950)); // Denominator of DTC 136 / Denominator von DTC 136 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_136_DEN_WERT", STAT_DTC_136_DEN_WERT, ""); unsigned short STAT_DTC_137_NUM_WERT = (RXBUF_UINT(955)); // DTC 137 numerator / Numerator von DTC 137 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_137_NUM_WERT", STAT_DTC_137_NUM_WERT, ""); unsigned short STAT_DTC_137_DEN_WERT = (RXBUF_UINT(957)); // Denominator of DTC 137 / Denominator von DTC 137 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_137_DEN_WERT", STAT_DTC_137_DEN_WERT, ""); unsigned short STAT_DTC_138_NUM_WERT = (RXBUF_UINT(962)); // DTC 138 numerator / Numerator von DTC 138 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_138_NUM_WERT", STAT_DTC_138_NUM_WERT, ""); unsigned short STAT_DTC_138_DEN_WERT = (RXBUF_UINT(964)); // Denominator of DTC 138 / Denominator von DTC 138 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_138_DEN_WERT", STAT_DTC_138_DEN_WERT, ""); unsigned short STAT_DTC_139_NUM_WERT = (RXBUF_UINT(969)); // Numerator from DTC 139 / Numerator von DTC 139 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_139_NUM_WERT", STAT_DTC_139_NUM_WERT, ""); unsigned short STAT_DTC_139_DEN_WERT = (RXBUF_UINT(971)); // Denominator of DTC 139 / Denominator von DTC 139 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_139_DEN_WERT", STAT_DTC_139_DEN_WERT, ""); unsigned short STAT_DTC_140_NUM_WERT = (RXBUF_UINT(976)); // Numerator from DTC 140 / Numerator von DTC 140 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_140_NUM_WERT", STAT_DTC_140_NUM_WERT, ""); unsigned short STAT_DTC_140_DEN_WERT = (RXBUF_UINT(978)); // Denominator of DTC 140 / Denominator von DTC 140 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_140_DEN_WERT", STAT_DTC_140_DEN_WERT, ""); unsigned short STAT_DTC_141_NUM_WERT = (RXBUF_UINT(983)); // Numerator from DTC 141 / Numerator von DTC 141 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_141_NUM_WERT", STAT_DTC_141_NUM_WERT, ""); unsigned short STAT_DTC_141_DEN_WERT = (RXBUF_UINT(985)); // Denominator of DTC 141 / Denominator von DTC 141 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_141_DEN_WERT", STAT_DTC_141_DEN_WERT, ""); unsigned short STAT_DTC_142_NUM_WERT = (RXBUF_UINT(990)); // Numerator from DTC 142 / Numerator von DTC 142 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_142_NUM_WERT", STAT_DTC_142_NUM_WERT, ""); unsigned short STAT_DTC_142_DEN_WERT = (RXBUF_UINT(992)); // Denominator of DTC 142 / Denominator von DTC 142 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "RATE_BASED_MONITORING", "STAT_DTC_142_DEN_WERT", STAT_DTC_142_DEN_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_LADEKOORDINATOR_INTERFACE: { // 0xE5FE if (datalen < 125) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_LADEKOORDINATOR_INTERFACE", 125); break; } unsigned char STAT_TAR_OPMO_CHGE_WERT = (RXBUF_UCHAR(0)); // Set operating mode from HVPM to charging coordinator / Soll Betriebsart von HVPM an Ladekoordinator ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_OPMO_CHGE_WERT", STAT_TAR_OPMO_CHGE_WERT, ""); unsigned char STAT_AVL_OPMOCHGE_WERT = (RXBUF_UCHAR(1)); // Is the operating mode from LDK to HVPM / Ist Betriebsart von LDK an HVPM ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_OPMOCHGE_WERT", STAT_AVL_OPMOCHGE_WERT, ""); unsigned char STAT_TAR_OPMO_INTLE_WERT = (RXBUF_UCHAR(2)); // Set operating mode from LDK to internal loader / Soll Betriebsart von LDK an internen Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_OPMO_INTLE_WERT", STAT_TAR_OPMO_INTLE_WERT, ""); unsigned char STAT_AVL_OPMO_INTLE_WERT = (RXBUF_UCHAR(3)); // Is the operating mode of the internal loader on the LDK / Ist Betriebsart von internem Lader an LDK ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_OPMO_INTLE_WERT", STAT_AVL_OPMO_INTLE_WERT, ""); unsigned char STAT_TAR_OPMO_CF_CHGE_WERT = (RXBUF_UCHAR(4)); // Set operating mode from LDK to external loader / Soll Betriebsart von LDK an externen Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_OPMO_CF_CHGE_WERT", STAT_TAR_OPMO_CF_CHGE_WERT, ""); unsigned char STAT_AVL_OPMO_CF_CHGE_WERT = (RXBUF_UCHAR(5)); // Is the operating mode of the external charger on the LDK / Ist Betriebsart von externem Lader an LDK ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_OPMO_CF_CHGE_WERT", STAT_AVL_OPMO_CF_CHGE_WERT, ""); unsigned char STAT_TAR_CHG_MOD_CF_CHGE_WERT = (RXBUF_UCHAR(6)); // Target charging mode of the external charger (1- or multi-phase) / Soll-Lademodus des externer Laders (1- oder // mehrphasig) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_CHG_MOD_CF_CHGE_WERT", STAT_TAR_CHG_MOD_CF_CHGE_WERT, ""); unsigned char STAT_AVL_CHG_MOD_CF_CHGE_WERT = (RXBUF_UCHAR(7)); // Actual charging mode of the comfort charging electronics (1- or multi-phase) / Ist-Lademodus der Komfort // Ladeelektronik (1- oder mehrphasig) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_CHG_MOD_CF_CHGE_WERT", STAT_AVL_CHG_MOD_CF_CHGE_WERT, ""); unsigned long STAT_TAR_PWR_CHGNG_WERT = (RXBUF_UINT32(8)); // Target output from HVPM to LDK / Sollleistung von HVPM an LDK ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_PWR_CHGNG_WERT", STAT_TAR_PWR_CHGNG_WERT, "\"W\""); float STAT_AVL_PWR_CHGNG_WERT = (RXBUF_UINT32(12)*0.1f); // Actual performance from LDK to HVPM / Istleistung von LDK an HVPM ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_PWR_CHGNG_WERT", STAT_AVL_PWR_CHGNG_WERT, "\"W\""); float STAT_TAR_PWR_INTLE_WERT = (RXBUF_UINT32(16)*0.1f); // Target power from LDK to internal charger / Sollleistung von LDK an interen Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_PWR_INTLE_WERT", STAT_TAR_PWR_INTLE_WERT, "\"W\""); float STAT_AVL_PWR_INTLE_WERT = (RXBUF_UINT32(20)*0.1f); // Actual HV power of the internal charger / Ist-HV-Leistung des internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_PWR_INTLE_WERT", STAT_AVL_PWR_INTLE_WERT, "\"W\""); unsigned short STAT_TAR_PWR_CF_CHGE_WERT = (RXBUF_UINT(24)); // Target output from LDK to external charger / Sollleistung von LDK an exteren Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_PWR_CF_CHGE_WERT", STAT_TAR_PWR_CF_CHGE_WERT, "\"W\""); unsigned short STAT_AVL_PWR_CF_CHGE_WERT = (RXBUF_UINT(26)); // Actual HV output from external charger / Ist-HV-leistung von externem Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_PWR_CF_CHGE_WERT", STAT_AVL_PWR_CF_CHGE_WERT, "\"W\""); float STAT_SPEC_I_MAX_ALTC_CHGE_WERT = (RXBUF_UINT32(28)*0.1f); // HVPM specification of the maximum permissible AC conductor current (effective value) for all available network // phases / HVPM-Vorgabe des maximal zulässigen AC-Leiterstromes (Effektivwert) für alle verfügbaren Netzphasen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_I_MAX_ALTC_CHGE_WERT", STAT_SPEC_I_MAX_ALTC_CHGE_WERT, "\"A\""); float STAT_SPEC_I_MAX_ALTC_CF_CHGE_WERT = (RXBUF_UINT(32)*0.1f); // Specification of the maximum permissible AC conductor current (effective value) for all available mains phases // - external charger. / Vorgabe des maximal zulässigen AC-Leiterstromes (Effektivwert) für alle verfügbaren // Netzphasen - Externer Lader. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_I_MAX_ALTC_CF_CHGE_WERT", STAT_SPEC_I_MAX_ALTC_CF_CHGE_WERT, "\"A\""); float STAT_SPEC_I_MAX_DC_CHGE_WERT = (RXBUF_UINT32(34)*0.1f); // HVPM specification of the maximum permissible DC-HV current upper limit / HVPM-Vorgabe der maximal zulässigen // DC-HV-Stromobergrenze ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_I_MAX_DC_CHGE_WERT", STAT_SPEC_I_MAX_DC_CHGE_WERT, "\"A\""); float STAT_AVL_I_CHGE_WERT = (RXBUF_SINT(38)*0.1f-204.7); // Information about the current DC-HV current supplied by the LDK / Information über den aktuell von der LDK // abgegebenen DC-HV-Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_I_CHGE_WERT", STAT_AVL_I_CHGE_WERT, "\"A\""); float STAT_SPEC_I_MAX_DC_INTLE_WERT = (RXBUF_UINT32(40)*0.1f); // Specification of the maximum permissible DC-HV current upper limit - internal charger. / Vorgabe der maximal // zulässigen DC-HV-Stromobergrenze - Interner Lader. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_I_MAX_DC_INTLE_WERT", STAT_SPEC_I_MAX_DC_INTLE_WERT, "\"A\""); float STAT_AVL_I_INTLE_WERT = (RXBUF_UINT32(44)*0.1f); // Information about the DC-HV current currently being supplied by the KLE - internal charger / Information über // den aktuell von der KLE abgegebenen DC-HV-Strom - Interner Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_I_INTLE_WERT", STAT_AVL_I_INTLE_WERT, "\"A\""); float STAT_SPEC_I_MAX_DC_CF_CHGE_WERT = (RXBUF_UINT(48)*0.1f); // Specification of the maximum permissible DC-HV current upper limit - external charger. / Vorgabe der maximal // zulässigen DC-HV-Stromobergrenze - Externer Lader. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_I_MAX_DC_CF_CHGE_WERT", STAT_SPEC_I_MAX_DC_CF_CHGE_WERT, "\"A\""); float STAT_AVL_I_CF_CHGE_WERT = (RXBUF_SINT(50)*0.1f-204.7); // Information about the DC-HV current currently being supplied by the KLE - external charger / Information über // den aktuell von der KLE abgegebenen DC-HV-Strom - Externer Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_I_CF_CHGE_WERT", STAT_AVL_I_CF_CHGE_WERT, "\"A\""); float STAT_SPEC_U_MAX_CHG_CHGE_WERT = (RXBUF_UINT(52)*0.1f); // HVPM specification of the maximum permissible DC-HV voltage upper limit of the charging electronics. / // HVPM-Vorgabe der maximal zulässigen DC-HV-Spannungsobergrenze der Ladeelektronik. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_U_MAX_CHG_CHGE_WERT", STAT_SPEC_U_MAX_CHG_CHGE_WERT, "\"V\""); float STAT_AVL_U_CHGE_WERT = (RXBUF_UINT(54)*0.1f); // HV voltage measured by chargers (max from internal and external charger) / von Ladegeraeten gemessene // HV-Spannung (Max aus internem und externem Lader) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_U_CHGE_WERT", STAT_AVL_U_CHGE_WERT, "\"V\""); unsigned long STAT_SPEC_U_MAX_INTLE_WERT = (RXBUF_UINT32(56)); // Specification of the maximum permissible DC-HV voltage limit - internal charger. / Vorgabe der maximal // zulässigen DC-HV-Spannungsgrenze - Interner Lader. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_U_MAX_INTLE_WERT", STAT_SPEC_U_MAX_INTLE_WERT, "\"V\""); float STAT_AVL_U_INTLE_WERT = (RXBUF_UINT32(60)*0.1f); // Actual HV voltage from internal charger / Ist-HV-Spannung von internem Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_U_INTLE_WERT", STAT_AVL_U_INTLE_WERT, "\"V\""); float STAT_SPEC_U_MAX_CF_CHGE_WERT = (RXBUF_SINT(64)*0.25f); // Specification of the maximum permissible DC-HV voltage limit - external charger. / Vorgabe der maximal // zulässigen DC-HV-Spannungsgrenze - Externer Lader. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_SPEC_U_MAX_CF_CHGE_WERT", STAT_SPEC_U_MAX_CF_CHGE_WERT, "\"V\""); float STAT_AVL_U_CF_CHGE_WERT = (RXBUF_SINT(66)*0.1f); // Actual HV voltage from external charger / Ist-HV-Spannung von externem Lader ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_U_CF_CHGE_WERT", STAT_AVL_U_CF_CHGE_WERT, "\"V\""); unsigned char STAT_AVL_U_CHGE_ALTC_WR_1_WERT = (RXBUF_UCHAR(68)); // Smoothed and filtered AC voltage rms actual value between conductor 1 and neutral conductor (internal charger) // / Geglätteter und gefilterter AC-Spannungseffektiv-Istwert zwischen Leiter 1 und Nullleiter (Internes // Ladegeraet) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_U_CHGE_ALTC_WR_1_WERT", STAT_AVL_U_CHGE_ALTC_WR_1_WERT, "\"V\""); unsigned char STAT_AVL_U_1_CF_CHGE_ALTC_WERT = (RXBUF_UCHAR(69)); // Smoothed and filtered AC voltage rms actual value between conductor 1 and neutral conductor (external charger) // / Geglätteter und gefilterter AC-Spannungseffektiv-Istwert zwischen Leiter 1 und Nullleiter (externes // Ladegeraet) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_U_1_CF_CHGE_ALTC_WERT", STAT_AVL_U_1_CF_CHGE_ALTC_WERT, "\"V\""); unsigned char STAT_AVL_U_2_CF_CHGE_ALTC_WERT = (RXBUF_UCHAR(70)); // Smoothed and filtered AC voltage rms actual value between conductor 2 and neutral conductor (external charger) // / Geglätteter und gefilterter AC-Spannungseffektiv-Istwert zwischen Leiter 2 und Nullleiter (externes // Ladegeraet) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_U_2_CF_CHGE_ALTC_WERT", STAT_AVL_U_2_CF_CHGE_ALTC_WERT, "\"V\""); short STAT_AVL_TEMP_CHGE_WERT = (RXBUF_SINT(71)-48.0); // Current temperature of the charging electronics. / Aktuelle Temperatur der Ladeelektronik. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_TEMP_CHGE_WERT", STAT_AVL_TEMP_CHGE_WERT, "\"°C\""); short STAT_AVL_TEMP_INTLE_WERT = (RXBUF_SINT(73)); // Current temperature of the internal charger. / Aktuelle Temperatur des internen Laders. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_TEMP_INTLE_WERT", STAT_AVL_TEMP_INTLE_WERT, "\"°C\""); short STAT_AVL_TEMP_CF_CHGE_WERT = (RXBUF_SINT(75)-48.0); // Current temperature of the external charger. / Aktuelle Temperatur des externenLaders. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_TEMP_CF_CHGE_WERT", STAT_AVL_TEMP_CF_CHGE_WERT, "\"°C\""); unsigned long STAT_PWR_HV_STAT_AVLB_DER_WERT = (RXBUF_UINT32(77)); // Current derating performance of the charging electronics / Aktuelle Derating-Leistung der Ladeelektronik ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_PWR_HV_STAT_AVLB_DER_WERT", STAT_PWR_HV_STAT_AVLB_DER_WERT, "\"W\""); unsigned long STAT_PWR_HV_STAT_AVLB_INTLE_DER_WERT = (RXBUF_UINT32(81)); // Current derating power of the internal charger / Aktuelle Derating-Leistung des internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_PWR_HV_STAT_AVLB_INTLE_DER_WERT", STAT_PWR_HV_STAT_AVLB_INTLE_DER_WERT, "\"W\""); float STAT_PWR_HV_STAT_AVLB_CF_CHGE_DER_WERT = (RXBUF_UINT32(85)*10.0f); // Current derating upper limit of the ExtLe. / Aktuelle Derating-Leistungsobergrenze der ExtLe. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_PWR_HV_STAT_AVLB_CF_CHGE_DER_WERT", STAT_PWR_HV_STAT_AVLB_CF_CHGE_DER_WERT, "\"W\""); unsigned short STAT_REAS_FAILSAFE_CHGNG_WERT = (RXBUF_UINT(89)); // Information about the trigger for the Failsafe state / Information über den Auslöser für den Zustand Failsafe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_REAS_FAILSAFE_CHGNG_WERT", STAT_REAS_FAILSAFE_CHGNG_WERT, ""); unsigned short STAT_REAS_FAILSAFE_INTLE_WERT = (RXBUF_UINT(91)); // Information about the trigger for the failsafe state of the internal loader / Information über den Auslöser // für den Zustand Failsafe des internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_REAS_FAILSAFE_INTLE_WERT", STAT_REAS_FAILSAFE_INTLE_WERT, ""); unsigned short STAT_REAS_CON_VRFD_CF_CHGE_WERT = (RXBUF_UINT(93)); // Information about the trigger for the Failsafe state in the external loader. / Information über den Auslöser // für den Zustand Failsafe im externen Lader. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_REAS_CON_VRFD_CF_CHGE_WERT", STAT_REAS_CON_VRFD_CF_CHGE_WERT, ""); unsigned char STAT_REAS_DER_CHGNG_WERT = (RXBUF_UCHAR(95)); // Information about the cause of the derating of the charging electronics / Information über die Deratingursache // der Ladeelektronik ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_REAS_DER_CHGNG_WERT", STAT_REAS_DER_CHGNG_WERT, ""); unsigned char STAT_REAS_DER_INTLE_WERT = (RXBUF_UCHAR(96)); // Information about the cause of the derating of the internal charger / Information über die Deratingursache des // internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_REAS_DER_INTLE_WERT", STAT_REAS_DER_INTLE_WERT, ""); unsigned char STAT_REAS_DER_CF_CHGNG_WERT = (RXBUF_UCHAR(97)); // Information about the cause of the derating of the external charger / Information über die Deratingursache des // externen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_REAS_DER_CF_CHGNG_WERT", STAT_REAS_DER_CF_CHGNG_WERT, ""); unsigned char STAT_ST_ERR_CHGNG_WERT = (RXBUF_UCHAR(98)); // Information about error states of the charging electronics / Information über Fehlerzustände der // Ladeelektronik ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_ST_ERR_CHGNG_WERT", STAT_ST_ERR_CHGNG_WERT, ""); unsigned char STAT_ST_ERR_INTLE_WERT = (RXBUF_UCHAR(99)); // Information about error states of the internal loader / Information über Fehlerzustände des internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_ST_ERR_INTLE_WERT", STAT_ST_ERR_INTLE_WERT, ""); unsigned char STAT_ST_ERR_CF_CHGE_WERT = (RXBUF_UCHAR(100)); // Information about error states of the external charger / Information über Fehlerzustände des externer Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_ST_ERR_CF_CHGE_WERT", STAT_ST_ERR_CF_CHGE_WERT, ""); unsigned long STAT_FREQWR_CHGNG_WERT = (RXBUF_UINT32(101)); // Frequency AC network of the charging electronics / Frequenz AC-Netz der Ladeelektronik ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_FREQWR_CHGNG_WERT", STAT_FREQWR_CHGNG_WERT, "\"Hz\""); unsigned long STAT_FREQWR_INTLE_WERT = (RXBUF_UINT32(105)); // Frequency AC network of the internal charger / Frequenz AC-Netz des internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_FREQWR_INTLE_WERT", STAT_FREQWR_INTLE_WERT, "\"Hz\""); float STAT_FREQWR_1_CF_CHGE_ALTC_WERT = (RXBUF_UINT32(109)*0.25f); // Smoothed and filtered AC grid frequency between conductor 1 and neutral of the external charger. / Geglättete // und gefilterte AC-Netzfrequenz zwischen Leiter 1 und Nulleiter des externen Laders. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_FREQWR_1_CF_CHGE_ALTC_WERT", STAT_FREQWR_1_CF_CHGE_ALTC_WERT, "\"Hz\""); float STAT_FREQWR_2_CF_CHGE_ALTC_WERT = (RXBUF_UINT32(113)*0.25f); // Smoothed and filtered AC grid frequency between conductor 2 and neutral of the external charger. / Geglättete // und gefilterte AC-Netzfrequenz zwischen Leiter 2 und Nulleiter des externen Laders. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_FREQWR_2_CF_CHGE_ALTC_WERT", STAT_FREQWR_2_CF_CHGE_ALTC_WERT, "\"Hz\""); unsigned long STAT_AVL_EFFY_CHGNG_CYC_WERT = (RXBUF_UINT32(117)); // Efficiency of the charging electronics / Effizienz der Ladeelektronik ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_EFFY_CHGNG_CYC_WERT", STAT_AVL_EFFY_CHGNG_CYC_WERT, "\"%\""); unsigned char STAT_AVL_EFFY_INTLE_CYC_WERT = (RXBUF_UCHAR(121)); // Internal loader efficiency / Effizienz des internen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_EFFY_INTLE_CYC_WERT", STAT_AVL_EFFY_INTLE_CYC_WERT, "\"%\""); unsigned char STAT_AVL_EFFY_CF_CHGNG_CYC_WERT = (RXBUF_UCHAR(122)); // External charger efficiency / Effizienz des externen Laders ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_EFFY_CF_CHGNG_CYC_WERT", STAT_AVL_EFFY_CF_CHGNG_CYC_WERT, "\"%\""); unsigned char STAT_TAR_CHGNG_TYP_WERT = (RXBUF_UCHAR(123)); // Default charging type by HVPM (conductive, inductive) / Vorgabe-Ladetyp durch HVPM (konduktiv, induktiv) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_TAR_CHGNG_TYP_WERT", STAT_TAR_CHGNG_TYP_WERT, ""); unsigned char STAT_AVL_CHGNG_TYP_WERT = (RXBUF_UCHAR(124)); // Actual charging type feedback through LDK (conductive, inductive) / Ist-Ladetyp Rückmeldung durch LDK // (konduktiv, induktiv) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "LADEKOORDINATOR_INTERFACE", "STAT_AVL_CHGNG_TYP_WERT", STAT_AVL_CHGNG_TYP_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_DCDC_MESSGROESSEN_KOMPLETT: { // 0xE5FF if (datalen < 115) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_DCDC_MESSGROESSEN_KOMPLETT", 115); break; } unsigned long STAT_AVL_CUTIL_DCDC_CNV_WERT = (RXBUF_UINT32(0)); // Load DCDC / Auslastung DCDC ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_AVL_CUTIL_DCDC_CNV_WERT", STAT_AVL_CUTIL_DCDC_CNV_WERT, "\"%\""); float STAT_AVL_I_HV_DCDC_WERT = (RXBUF_SINT32(4)*0.1f); // Instantaneous HV current of the DC / DC converter / Momentaner HV-Strom des DC/DC-Wandlers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_AVL_I_HV_DCDC_WERT", STAT_AVL_I_HV_DCDC_WERT, "\"A\""); unsigned long STAT_AVL_I_LV_DCDC_WERT = (RXBUF_UINT32(8)); // DCDC converter: ACTUAL current LV side at the B + bolt / DCDC Wandler: IST-Strom LV-Seite am B+ Bolzen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_AVL_I_LV_DCDC_WERT", STAT_AVL_I_LV_DCDC_WERT, "\"A\""); unsigned char STAT_AVL_OPMO_DCDC_CNV_WERT = (RXBUF_UCHAR(12)); // Actual operating mode of the DCDC converter / Ist-Betriebsart des DCDC-Wandlers ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_AVL_OPMO_DCDC_CNV_WERT", STAT_AVL_OPMO_DCDC_CNV_WERT, ""); unsigned long STAT_AVL_U_DCDC_CNV_HV_WERT = (RXBUF_UINT32(13)); // HV voltage in the DC / DC converter / HV Spannung im DC/DC-Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_AVL_U_DCDC_CNV_HV_WERT", STAT_AVL_U_DCDC_CNV_HV_WERT, "\"V\""); float STAT_AVL_U_LV_DCDC_CNV_WERT = (RXBUF_UINT32(17)*0.1f); // DCDC converter: ACTUAL voltage LV side at B + bolt / DCDC Wandler: IST-Spannung LV-Seite am B+ Bolzen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_AVL_U_LV_DCDC_CNV_WERT", STAT_AVL_U_LV_DCDC_CNV_WERT, "\"V\""); unsigned long STAT_SPEC_PWR_DCDC_CNV_MAX_WERT = (RXBUF_UINT32(21)); // Commanded maximum HV power / Kommandierte maximale HV-Leistung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_SPEC_PWR_DCDC_CNV_MAX_WERT", STAT_SPEC_PWR_DCDC_CNV_MAX_WERT, "\"W\""); unsigned long STAT_ST_DCDC_CNV_DIAG_WERT = (RXBUF_UINT32(25)); // Status of which current limit / which derating of the DCDC converter is active / Status welche // Stromgrenze/welches Derating des DCDC-Wandlers aktiv ist ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_ST_DCDC_CNV_DIAG_WERT", STAT_ST_DCDC_CNV_DIAG_WERT, ""); unsigned short STAT_ST_ERR_DCDC_CNV_WERT = (RXBUF_UINT(29)); // Return of the active / inactive errors of the DC / DC converter - bit-coded / Rückgabe der aktiven/inaktiven // Fehler des DC/DC Wandlers - bitcodiert ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_ST_ERR_DCDC_CNV_WERT", STAT_ST_ERR_DCDC_CNV_WERT, ""); unsigned char STAT_TAR_OPMO_DCDC_CNV_WERT = (RXBUF_UCHAR(31)); // Target operating mode of the DC / DC converter: 1: Standby 2: Buck 5: AC emergency charging / Soll-Betriebsart // des DC/DC-Wandlers: 1: Standby 2: Buck 5: AC-Notladen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_TAR_OPMO_DCDC_CNV_WERT", STAT_TAR_OPMO_DCDC_CNV_WERT, ""); float STAT_TAR_U_LV_DCDC_CNV_WERT = (RXBUF_UINT32(32)*0.1f); // Target LV voltage of the DCDC converter in buck operation (maximum value) / Soll-LV-Spannung des DCDC-Wandlers // im Buck-Betrieb (Maximaler Wert) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_TAR_U_LV_DCDC_CNV_WERT", STAT_TAR_U_LV_DCDC_CNV_WERT, "\"V\""); unsigned long STAT_U_DCDC_CNV_HV_MIN_WERT = (RXBUF_UINT32(36)); // Minimum permissible HV voltage limit / Minimal zulässige HV-Spannungsgrenze ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_U_DCDC_CNV_HV_MIN_WERT", STAT_U_DCDC_CNV_HV_MIN_WERT, "\"V\""); unsigned char STAT_V_B_DCDC_HI_ENABLE_WERT = (RXBUF_UCHAR(40)); // DCDC-enabled signal (HW signal to activate the DCDC HW) / DCDC-enabled-Signal (HW-Signal zum aktivieren der // DCDC-HW) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_B_DCDC_HI_ENABLE_WERT", STAT_V_B_DCDC_HI_ENABLE_WERT, ""); unsigned short STAT_V_E_DCDC_BTS_STATUS_MC6_WERT = (RXBUF_UINT(41)); // Status of the component protection diagnostics on the MC6 (PIC) - bit-coded / Status der // Bauteilschutzdiagnosen auf dem MC6 (PIC) - bitcodiert ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_E_DCDC_BTS_STATUS_MC6_WERT", STAT_V_E_DCDC_BTS_STATUS_MC6_WERT, ""); unsigned short STAT_V_E_DCDC_CTRL_STATUS_MC6_PKR2_WERT = (RXBUF_UINT(43)); // Status of the DC / DC controller (from PIC) - bit-coded (only PKR2!) / Status des DC/DC-Controllers (von PIC) // - bitcodiert (nur PKR2!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_E_DCDC_CTRL_STATUS_MC6_PKR2_WERT", STAT_V_E_DCDC_CTRL_STATUS_MC6_PKR2_WERT, ""); unsigned long STAT_V_E_DCDC_HI_ST_OUT_WERT = (RXBUF_UINT32(45)); // The reason for the limit values of the DC / DC converter. / Die Ursache für die Begrenzungsgrößen des // DC/DC-Wandlers. ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_E_DCDC_HI_ST_OUT_WERT", STAT_V_E_DCDC_HI_ST_OUT_WERT, ""); unsigned long STAT_V_E_DCDC_MC0_CTRL_WERT = (RXBUF_UINT32(49)); // Status and control bits for the DCDC: Bit 0: Release signal (at 1) for frequency modulation operation in DCDC // Bit 1: KL15 status Bit 2: Status ELUP startup (1: active) (Bit 2 - only for PKR2!) / Status und Steuerungsbits // für den DCDC: Bit 0: Freigabesignal (bei 1) für den Frequenzmodulation-Betrieb im DCDC Bit 1: KL15-Status // Bit 2: Status ELUP Anlauf (1: aktiv) (Bit 2 - nur für PKR2!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_E_DCDC_MC0_CTRL_WERT", STAT_V_E_DCDC_MC0_CTRL_WERT, ""); unsigned short STAT_V_H_SPI_DCDC_0_SPI_DATA_E_STATUS_WERT = (RXBUF_UINT(53)); // Status of SPI communication from the point of view of MC0 / Status SPI-Kommunikation aus Sicht von MC0 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_H_SPI_DCDC_0_SPI_DATA_E_STATUS_WERT", STAT_V_H_SPI_DCDC_0_SPI_DATA_E_STATUS_WERT, ""); unsigned short STAT_V_H_SPI_DCDC_6_SPI_DATA_E_STATUS_WERT = (RXBUF_UINT(55)); // Status of SPI communication from the point of view of MC6 / Status SPI-Kommunikation aus Sicht von MC6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_H_SPI_DCDC_6_SPI_DATA_E_STATUS_WERT", STAT_V_H_SPI_DCDC_6_SPI_DATA_E_STATUS_WERT, ""); float STAT_V_I_DCDC_HV_MC6_WERT = (RXBUF_UINT32(57)*0.1f); // HV electricity / HV-Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_I_DCDC_HV_MC6_WERT", STAT_V_I_DCDC_HV_MC6_WERT, "\"A\""); float STAT_V_I_DCDC_TRA1_MC6_WERT = (RXBUF_UINT32(61)*0.1f); // Transformer electricity / Transformator Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_I_DCDC_TRA1_MC6_WERT", STAT_V_I_DCDC_TRA1_MC6_WERT, "\"A\""); float STAT_V_I_DCDC_TRA_FIL_WERT = (RXBUF_UINT32(65)*0.1f); // Filtered transformer electricity / Gefilterter Transformator Strom ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_I_DCDC_TRA_FIL_WERT", STAT_V_I_DCDC_TRA_FIL_WERT, "\"A\""); unsigned short STAT_V_S_DCDC_PWM_HTS1_WERT = (RXBUF_UINT(69)); // Duty cycle buck converter 1 (only for non-PKR2 software!) Push-pull converter phase shift between HSS1 and // HSS2 (only PKR2!) / Einschaltdauer Tiefsetzsteller 1 (nur für non-PKR2 Software!) Gegentaktwandler // Phasenverschiebung zwischen HSS1 und HSS2 (nur PKR2!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_S_DCDC_PWM_HTS1_WERT", STAT_V_S_DCDC_PWM_HTS1_WERT, ""); unsigned short STAT_V_S_DCDC_PWM_HTS2_WERT = (RXBUF_UINT(71)); // Switch-on time buck converter 2 (only for non-PKR2 software!) Switch-on time rectifier (only PKR2!) / // Einschaltzeit Tiefsetzsteller 2 (nur für non-PKR2 Software!) Einschaltzeit Gleichrichter (nur PKR2!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_S_DCDC_PWM_HTS2_WERT", STAT_V_S_DCDC_PWM_HTS2_WERT, ""); unsigned short STAT_V_S_DCDC_SW_VERSION_WERT = (RXBUF_UINT(73)); // DCDC SW version / DCDC SW-Version ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_S_DCDC_SW_VERSION_WERT", STAT_V_S_DCDC_SW_VERSION_WERT, ""); unsigned long STAT_V_T_DCDC_BO_WERT = (RXBUF_UINT32(75)); // Temperature DCDC board / Temperatur DCDC Board ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_T_DCDC_BO_WERT", STAT_V_T_DCDC_BO_WERT, "\"°C\""); unsigned long STAT_V_T_DCDC_GR_MC6_WERT = (RXBUF_UINT32(79)); // Temperature rectifier / Temperatur Gleichrichter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_T_DCDC_GR_MC6_WERT", STAT_V_T_DCDC_GR_MC6_WERT, "\"°C\""); unsigned long STAT_V_T_DCDC_GTW_MC6_WERT = (RXBUF_UINT32(83)); // Temperature push-pull converter / Temperatur Gegentaktwandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_T_DCDC_GTW_MC6_WERT", STAT_V_T_DCDC_GTW_MC6_WERT, "\"°C\""); unsigned long STAT_V_U_DCDC_GT_MC6_PKR2_WERT = (RXBUF_UINT32(87)); // Gate driver supply voltage (only PKR2!) / Gatetreiber-Versorgungsspannung (nur PKR2!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_U_DCDC_GT_MC6_PKR2_WERT", STAT_V_U_DCDC_GT_MC6_PKR2_WERT, "\"V\""); float STAT_V_U_DCDC_LV_WERT = (RXBUF_UINT32(91)*0.1f); // LV actual voltage / LV Ist-Spannung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_U_DCDC_LV_WERT", STAT_V_U_DCDC_LV_WERT, "\"V\""); float STAT_V_U_DCDC_LV_CAL_WERT = (RXBUF_UINT32(95)*0.1f); // Raw signal LV voltage measurement DCDC converter / Rohsignal LV Spannungsmessung DCDC Wandler ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_U_DCDC_LV_CAL_WERT", STAT_V_U_DCDC_LV_CAL_WERT, "\"V\""); float STAT_V_U_DCDC_LV_SOLL_WERT = (RXBUF_UINT32(99)*0.1f); // LV target voltage specification / LV-Soll-Spannung-Vorgabe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_U_DCDC_LV_SOLL_WERT", STAT_V_U_DCDC_LV_SOLL_WERT, "\"V\""); unsigned long STAT_V_I_DCDC_TS1_MC6_RUKO_WERT = (RXBUF_UINT32(103)); // Buck converter phase 1 current (only for non-PKR2 software!) / Tiefsetzsteller Phase1 Strom (nur für non-PKR2 // Software!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_I_DCDC_TS1_MC6_RUKO_WERT", STAT_V_I_DCDC_TS1_MC6_RUKO_WERT, "\"A\""); unsigned long STAT_V_I_DCDC_TS2_MC6_RUKO_WERT = (RXBUF_UINT32(107)); // Buck converter phase 2 current (only for non-PKR2 software!) / Tiefsetzsteller Phase 2 Strom (nur für non-PKR2 // Software!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_I_DCDC_TS2_MC6_RUKO_WERT", STAT_V_I_DCDC_TS2_MC6_RUKO_WERT, "\"A\""); unsigned long STAT_V_T_DCDC_TS_MC6_RUKO_WERT = (RXBUF_UINT32(111)); // Step-down converter temperature (only for non-PKR2 software!) / Tiefsetzsteller Temperatur (nur für non-PKR2 // Software!) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "EME", "DCDC_MESSGROESSEN_KOMPLETT", "STAT_V_T_DCDC_TS_MC6_RUKO_WERT", STAT_V_T_DCDC_TS_MC6_RUKO_WERT, "\"°C\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_RESETINFO_LESEN: { // 0xF011 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_EME_AE_FREILAUF_MODUS: { // 0xF050 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_EME_AE_FREILAUF_MODUS", 1); break; } char STAT_STATUS = (RXBUF_SCHAR(0)); // Free running status: 0 = inactive; 1 = active / Status Freilauf: 0=inaktiv; 1=aktiv ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "EME", "AE_FREILAUF_MODUS", "STAT_STATUS", STAT_STATUS, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; }