OVMS3/OVMS.V3/components/vehicle_bmwi3/ecu_definitions/ecu_eme_code.cpp

5539 lines
368 KiB
C++

//
// 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;
}