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

3935 lines
252 KiB
C++

//
// Warning: don't edit - generated by generate_ecu_code.pl processing ../dev/dsc_i1.json: DSC 29: Dynamic stability controller
// This generated code makes it easier to process CANBUS messages from the DSC ecu in a BMW i3
//
case I3_PID_DSC_FS_LOESCHEN_PERMANENT: { // 0x1060
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FEHLERSPEICHER_ENDE_WERKSABLAUF: { // 0x1061
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_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", "DSC", "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_DSC_START_ADAPTIVDATEN_RUECKSETZEN: { // 0xA051
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_START_ADAPTIVDATEN_RUECKSETZEN", 1);
break;
}
unsigned char STAT_ROUTINE_STATUS = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "START_ADAPTIVDATEN_RUECKSETZEN", "STAT_ROUTINE_STATUS", STAT_ROUTINE_STATUS, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STEUERN_AX_AY_ABGLEICH: { // 0xA052
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STEUERN_AX_AY_ABGLEICH", 1);
break;
}
unsigned char STAT_ROUTINE_STATUS_0XA052 = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STEUERN_AX_AY_ABGLEICH", "STAT_ROUTINE_STATUS_0XA052", STAT_ROUTINE_STATUS_0XA052, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_START_ADAPTIVDATEN_WERKSMODUS: { // 0xA053
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_START_ADAPTIVDATEN_WERKSMODUS", 1);
break;
}
unsigned char STAT_ROUTINE_STATUS_0XA053 = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "START_ADAPTIVDATEN_WERKSMODUS", "STAT_ROUTINE_STATUS_0XA053", STAT_ROUTINE_STATUS_0XA053, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STEUERN_ADAPTIVDATEN_SLW_RESET: { // 0xA05B
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STEUERN_ADAPTIVDATEN_SLW_RESET", 2);
break;
}
unsigned char STAT_ROUTINE_STATUS_0XA05B = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STEUERN_ADAPTIVDATEN_SLW_RESET", "STAT_ROUTINE_STATUS_0XA05B", STAT_ROUTINE_STATUS_0XA05B, "\"0-n\"");
unsigned char STAT_DATEN_SCHREIBEN_AKTIV_NR = (RXBUF_UCHAR(1));
// Information as to whether the adaptive data is being written. / Information ob der Schreibvorgang der
// Adaptivdaten läuft.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STEUERN_ADAPTIVDATEN_SLW_RESET", "STAT_DATEN_SCHREIBEN_AKTIV_NR", STAT_DATEN_SCHREIBEN_AKTIV_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RPA_RESET_STATISTIK: { // 0xA068
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DSC_DRUCKSENSOREN_KALIBRIERUNG: { // 0xA070
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RPA_RESET_STANDARDISIERUNG: { // 0xA074
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DAC_RESET: { // 0xA087
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DAC_AUSLOESUNG: { // 0xA088
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_IPB_LED: { // 0xA123
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_IPB_LED", 1);
break;
}
unsigned char STAT_IPB_LED_ZUSTAND = (RXBUF_UCHAR(0));
// 0- LED off, 1-LED on / 0- LED aus, 1-LED an
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "IPB_LED", "STAT_IPB_LED_ZUSTAND", STAT_IPB_LED_ZUSTAND, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FLM_RESET: { // 0xA130
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FLM_RESET", 1);
break;
}
unsigned char STAT_FLM_RESET = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "FLM_RESET", "STAT_FLM_RESET", STAT_FLM_RESET, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EXTERNE_ANFORDERUNG_GKU_IPB_ZAEHLER_RUECKSETZEN: { // 0xA1AA
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EXTERNE_ANFORDERUNG_EPB_ZAEHLER_RUECKSETZEN: { // 0xA1BE
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DSC_PUMPENFUNKTIONSTEST: { // 0xA222
if (datalen < 7) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_DSC_PUMPENFUNKTIONSTEST", 7);
break;
}
unsigned char STAT_ROUTINE_STATUS_0XA222 = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "DSC_PUMPENFUNKTIONSTEST", "STAT_ROUTINE_STATUS_0XA222", STAT_ROUTINE_STATUS_0XA222, "\"0-n\"");
float STAT_PUMPENLEISTUNG_LEERLAUF_WERT = (RXBUF_UINT(1)/100.0f);
// Pump output during circulation (idling without resistance, no active brake pressure build-up) / Pumpenleistung
// während Kreisförderung (Leerlauf ohne Wiederstand, kein aktiver Bremsdruckaufbau)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_PUMPENFUNKTIONSTEST", "STAT_PUMPENLEISTUNG_LEERLAUF_WERT", STAT_PUMPENLEISTUNG_LEERLAUF_WERT, "\"%\"");
float STAT_PUMPENLEISTUNG_KREIS_1_WERT = (RXBUF_UINT(3)/100.0f);
// Pump output during load against the isolating valve in the primary brake circuit / Pumpenleistung während
// Belastung gegen das Trennventil im primären Bremskreis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_PUMPENFUNKTIONSTEST", "STAT_PUMPENLEISTUNG_KREIS_1_WERT", STAT_PUMPENLEISTUNG_KREIS_1_WERT, "\"%\"");
float STAT_PUMPENLEISTUNG_KREIS_2_WERT = (RXBUF_UINT(5)/100.0f);
// Pump output during load against the isolating valve in the secondary brake circuit / Pumpenleistung während
// Belastung gegen das Trennventil im sekundären Bremskreis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_PUMPENFUNKTIONSTEST", "STAT_PUMPENLEISTUNG_KREIS_2_WERT", STAT_PUMPENLEISTUNG_KREIS_2_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STEUERN_ANTI_POWER_HOP_FUNKTION_ZAEHLER_RUECKSETZEN: { // 0xA2A2
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STEUERN_EEPROM_SCHREIBEN: { // 0xAB5B
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STEUERN_EEPROM_SCHREIBEN", 2);
break;
}
unsigned char STAT_ROUTINE_STATUS_0XAB5B = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STEUERN_EEPROM_SCHREIBEN", "STAT_ROUTINE_STATUS_0XAB5B", STAT_ROUTINE_STATUS_0XAB5B, "\"0-n\"");
unsigned char STAT_EEPROM_SICHERN_NR = (RXBUF_UCHAR(1));
// Status of the EEPROM backup 0 = backup successful 1 = backup running / Status der EEPROM Sicherung
// 0=Sicherung erfolgreich 1= Sicherung läuft
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STEUERN_EEPROM_SCHREIBEN", "STAT_EEPROM_SICHERN_NR", STAT_EEPROM_SICHERN_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_START_ADAPTIVDATEN_WERKSMODUS_2: { // 0xABA3
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_START_ADAPTIVDATEN_WERKSMODUS_2", 1);
break;
}
unsigned char STAT_ROUTINE_STATUS_0XABA3 = (RXBUF_UCHAR(0));
// Execution status / Ausführungsstatus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "START_ADAPTIVDATEN_WERKSMODUS_2", "STAT_ROUTINE_STATUS_0XABA3", STAT_ROUTINE_STATUS_0XABA3, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_GMK_DATEN: { // 0xD09A
if (datalen < 9) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_GMK_DATEN", 9);
break;
}
unsigned char STAT_ZUSTAND_IST_GMK_WERT = (RXBUF_UCHAR(0));
// Actual status of the GMK function (depending on the qualifiers of the inputs) / Ist-Zustand der GMK-Funktion
// (abhängig von Qualifiern der Eingänge)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_ZUSTAND_IST_GMK_WERT", STAT_ZUSTAND_IST_GMK_WERT, "");
unsigned char STAT_ZUSTAND_SOLL_GMK_WERT = (RXBUF_UCHAR(1));
// Target state of the GMK function / Soll-Zustand der GMK-Funktion
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_ZUSTAND_SOLL_GMK_WERT", STAT_ZUSTAND_SOLL_GMK_WERT, "");
float STAT_MMOTOR_OFFSET_EPS_WERT = (RXBUF_SCHAR(2)/100.0f);
// Offset motor torque, which the EPS additively superimposes on its own motor torque / Offset-Motormoment, das
// die EPS dem eigenen Motormoment additiv überlagert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GMK_DATEN", "STAT_MMOTOR_OFFSET_EPS_WERT", STAT_MMOTOR_OFFSET_EPS_WERT, "\"Nm\"");
unsigned char STAT_OFFSET_EPS_QUALIFIER_WERT = (RXBUF_UCHAR(3));
// Setpoint qualifier for offset motor torque (2 = implement; 14 = do not implement) / Sollwert-Qualifier zum
// OffsetMotormoment (2 = umsetzen; 14 = nicht umsetzen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_OFFSET_EPS_QUALIFIER_WERT", STAT_OFFSET_EPS_QUALIFIER_WERT, "");
unsigned char STAT_FUNKTION_GMK_CODIERUNG_EIN = (RXBUF_UCHAR(4));
// GMK function (1 = coded in; 0 = coded out) / GMK-Funktion (1 = eincodiert; 0 = auscodiert)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_FUNKTION_GMK_CODIERUNG_EIN", STAT_FUNKTION_GMK_CODIERUNG_EIN, "\"0/1\"");
float STAT_MMOTOR_OFFSET_GMK_EPS_WERT = (RXBUF_SCHAR(5)/100.0f);
// Offset engine torque that the EPS has to provide due to the GMK function / Offset-Motormoment, welches die EPS
// aufgrund der GMK Funktion zu stellen hat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GMK_DATEN", "STAT_MMOTOR_OFFSET_GMK_EPS_WERT", STAT_MMOTOR_OFFSET_GMK_EPS_WERT, "\"Nm\"");
unsigned char STAT_LENKUNG_VERBAUT_FAHRZEUG_WERT = (RXBUF_UCHAR(6));
// Data record EPS without IAS (1..yes, 0..no) / Datensatz EPS ohne IAS (1..ja,0..nein)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_LENKUNG_VERBAUT_FAHRZEUG_WERT", STAT_LENKUNG_VERBAUT_FAHRZEUG_WERT, "");
unsigned char STAT_EPS_FAKT_MOM_SERVICE_QUALIFIER_WERT = (RXBUF_UCHAR(7));
// Service qualifier of the EPS for the implementation of the factors and the offset motor torque (everything OK
// if 32 or 33) / Service-Qualifier der EPS für Umsetzung der Faktoren und des Offset-Motormoments (alles i.O
// wenn 32 od 33)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_EPS_FAKT_MOM_SERVICE_QUALIFIER_WERT", STAT_EPS_FAKT_MOM_SERVICE_QUALIFIER_WERT, "");
unsigned char STAT_FUNKTION_GBR_KENNLINIE_NUMMER_WERT = (RXBUF_UCHAR(8));
// active GBR characteristic set / aktiver GBR Kennliniensatz
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GMK_DATEN", "STAT_FUNKTION_GBR_KENNLINIE_NUMMER_WERT", STAT_FUNKTION_GBR_KENNLINIE_NUMMER_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_BREMSPEDALWINKELSENSOR: { // 0xD0D2
if (datalen < 14) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_BREMSPEDALWINKELSENSOR", 14);
break;
}
float STAT_WEG_IST_SENSOR1_WERT = (RXBUF_SINT(0)/100.0f);
// Current pedal travel (based on WEG_NULLPUNKT_IST) / aktueller Pedalweg (bezogen auf WEG_NULLPUNKT_IST)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_IST_SENSOR1_WERT", STAT_WEG_IST_SENSOR1_WERT, "\"mm\"");
float STAT_WEG_NULLPUNKT_INIT_SENSOR1_WERT = (RXBUF_SINT(2)/100.0f);
// Initialization of the pedal zero point / Initialisierung Pedal Nullpunkt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_NULLPUNKT_INIT_SENSOR1_WERT", STAT_WEG_NULLPUNKT_INIT_SENSOR1_WERT, "\"mm\"");
float STAT_WEG_NULLPUNKT_IST_SENSOR1_WERT = (RXBUF_SINT(4)/100.0f);
// current pedal zero point / aktueller Pedal Nullpunkt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_NULLPUNKT_IST_SENSOR1_WERT", STAT_WEG_NULLPUNKT_IST_SENSOR1_WERT, "\"mm\"");
float STAT_WEG_LEERWEG_IST_SENSOR1_WERT = (RXBUF_SINT(6)/100.0f);
// Current pedal free travel (use of hydraulics based on WEG_NULLPUNKT_IST) / aktueller Pedal Leerweg (Einsatz
// Hydraulik bezogen auf WEG_NULLPUNKT_IST)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_LEERWEG_IST_SENSOR1_WERT", STAT_WEG_LEERWEG_IST_SENSOR1_WERT, "\"mm\"");
float STAT_WEG_NULLPUNKT_INIT_SENSOR2_WERT = (RXBUF_SINT(8)/100.0f);
// Initialization of the pedal zero point / Initialisierung Pedal Nullpunkt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_NULLPUNKT_INIT_SENSOR2_WERT", STAT_WEG_NULLPUNKT_INIT_SENSOR2_WERT, "\"mm\"");
float STAT_WEG_NULLPUNKT_IST_SENSOR2_WERT = (RXBUF_SINT(10)/100.0f);
// current pedal zero point / aktueller Pedal Nullpunkt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_NULLPUNKT_IST_SENSOR2_WERT", STAT_WEG_NULLPUNKT_IST_SENSOR2_WERT, "\"mm\"");
float STAT_WEG_LEERWEG_IST_SENSOR2_WERT = (RXBUF_SINT(12)/100.0f);
// Current pedal free travel (use of hydraulics based on WEG_NULLPUNKT_IST) / aktueller Pedal Leerweg (Einsatz
// Hydraulik bezogen auf WEG_NULLPUNKT_IST)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_BREMSPEDALWINKELSENSOR", "STAT_WEG_LEERWEG_IST_SENSOR2_WERT", STAT_WEG_LEERWEG_IST_SENSOR2_WERT, "\"mm\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_CBS_BREMSE_DETAILS: { // 0xD272
if (datalen < 62) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_CBS_BREMSE_DETAILS", 62);
break;
}
unsigned char STAT_VA_IDENT_WERT = (RXBUF_UCHAR(0));
// Identification as VA -> value = 0x02 / Identifikation als VA -> Wert = 0x02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_IDENT_WERT", STAT_VA_IDENT_WERT, "");
float STAT_VA_S_SIGNAL_WERT = (RXBUF_UINT(1)*100.0f);
// km reading with sensor signal / km-Stand bei Sensorsignal
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_SIGNAL_WERT", STAT_VA_S_SIGNAL_WERT, "\"km\"");
float STAT_VA_S_WECHSEL_WERT = (RXBUF_UINT(3)*100.0f);
// Km reading at the last pad change / km-Stand bei letztem Belagwechsel
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_WECHSEL_WERT", STAT_VA_S_WECHSEL_WERT, "\"km\"");
unsigned short STAT_VA_S_REST_ORIG_WERT = (RXBUF_UINT(5));
// Remaining distance without min- u. max restriction / Restlaufstrecke ohne min- u. max-Beschränkung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_REST_ORIG_WERT", STAT_VA_S_REST_ORIG_WERT, "\"km\"");
unsigned short STAT_VA_S_MIN_WERT = (RXBUF_UINT(7));
// minimum remaining distance / minimale Restlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_MIN_WERT", STAT_VA_S_MIN_WERT, "\"km\"");
unsigned short STAT_VA_S_MAX_WERT = (RXBUF_UINT(9));
// maximum remaining distance / maximale Restlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_MAX_WERT", STAT_VA_S_MAX_WERT, "\"km\"");
unsigned long STAT_VA_S_REST_WERT = (RXBUF_UINT32(11));
// Remaining distance / Restlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_REST_WERT", STAT_VA_S_REST_WERT, "\"km\"");
unsigned long STAT_VA_S_GESAMT_1_WERT = (RXBUF_UINT32(15));
// 1. Extrapolation of total running distance / 1. Hochrechnung Gesamtlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_GESAMT_1_WERT", STAT_VA_S_GESAMT_1_WERT, "\"km\"");
unsigned long STAT_VA_S_GESAMT_2_WERT = (RXBUF_UINT32(19));
// 2. Extrapolation of total running distance / 2. Hochrechnung Gesamtlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_GESAMT_2_WERT", STAT_VA_S_GESAMT_2_WERT, "\"km\"");
unsigned long STAT_VA_S_GESAMT_3_WERT = (RXBUF_UINT32(23));
// 3. Extrapolation of total running distance / 3. Hochrechnung Gesamtlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_S_GESAMT_3_WERT", STAT_VA_S_GESAMT_3_WERT, "\"km\"");
unsigned char STAT_VA_SZ_WERT = (RXBUF_UCHAR(27));
// Service counter / Servicezähler
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_VA_SZ_WERT", STAT_VA_SZ_WERT, "");
unsigned char BF_VA_FLAG_BVA = (RXBUF_UCHAR(28));
// Bitfield state of the BVA sensor / Bitfield Zustand BVA-Sensor
// BF_VA_FLAG_BVA is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
// STAT_VA_FLAG_BVA: Mask: 0x01 - BVA sensor status: 0 = BVA sensor not looped through, 1 = BVA sensor looped through
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "DSC", "CBS_BREMSE_DETAILS", "BF_VA_FLAG_BVA", (unsigned long)BF_VA_FLAG_BVA, "\"Bit\"");
unsigned char BF_VA_RESET_VERHINDERER_1 = (RXBUF_UCHAR(29));
// Bitfield reset prevention / Bitfield Resetverhinderer
// BF_VA_RESET_VERHINDERER_1 is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
// STAT_VA_DATUM_UHRZEIT_GUELTIG_BEI_RESET: Mask: 0x01 - Date_Uhrzeit_gueltig_bei_reset 1. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_KM_STAND_GUELTIG_BEI_RESET: Mask: 0x02 - KM_Stand_gueltig_bei_reset 2nd reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_VIN_GUELTIG_BEI_RESET: Mask: 0x04 - VIN_gueltig_bei_reset 3rd reset inhibitor: 0 = statement does not apply, 1 = statement applies
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "DSC", "CBS_BREMSE_DETAILS", "BF_VA_RESET_VERHINDERER_1", (unsigned long)BF_VA_RESET_VERHINDERER_1, "\"Bit\"");
unsigned char BF_VA_RESET_VERHINDERER_2 = (RXBUF_UCHAR(30));
// Bitfield reset prevention / Bitfield Resetverhinderer
// BF_VA_RESET_VERHINDERER_2 is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
// STAT_VA_BBV_SENSOR_NICHT_GEST_BEI_RESET: Mask: 0x01 - BBV_Sensor_nicht_angesteckt_bei_reset 4. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_BBV_SENSOR_FEHLER_BEI_RESET: Mask: 0x02 - BBV_Sensor_Fehler_bei_reset 5. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_VORDRUCK_BEI_RESET: Mask: 0x04 - Vordruck_bei_reset 6. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_EMF_ANGEZ_BEI_RESET: Mask: 0x08 - EMF_ drawn_bei_reset 7. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_KOMM_FEHLER_EMF_BEI_RESET: Mask: 0x10 - Communication error_mit_EMF_bei_reset 8. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_GESCHW_BEI_RESET: Mask: 0x20 - Velocity_bei_reset 9. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_VA_AKTIVER_DRUCKAUFBAU_BEI_RESET: Mask: 0x40 - Aktiver_Druckbildung_bei_reset 10. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "DSC", "CBS_BREMSE_DETAILS", "BF_VA_RESET_VERHINDERER_2", (unsigned long)BF_VA_RESET_VERHINDERER_2, "\"Bit\"");
unsigned char STAT_HA_IDENT_WERT = (RXBUF_UCHAR(31));
// Identification as HA -> value = 0x06 / Identifikation als HA -> Wert = 0x06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_IDENT_WERT", STAT_HA_IDENT_WERT, "");
float STAT_HA_S_SIGNAL_WERT = (RXBUF_UINT(32)*100.0f);
// km reading with sensor signal / km-Stand bei Sensorsignal
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_SIGNAL_WERT", STAT_HA_S_SIGNAL_WERT, "\"km\"");
float STAT_HA_S_WECHSEL_WERT = (RXBUF_UINT(34)*100.0f);
// Km reading at the last pad change / km-Stand bei letztem Belagwechsel
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_WECHSEL_WERT", STAT_HA_S_WECHSEL_WERT, "\"km\"");
unsigned short STAT_HA_S_REST_ORIG_WERT = (RXBUF_UINT(36));
// Remaining distance without min- u. max restriction / Restlaufstrecke ohne min- u. max-Beschränkung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_REST_ORIG_WERT", STAT_HA_S_REST_ORIG_WERT, "\"km\"");
unsigned short STAT_HA_S_MIN_WERT = (RXBUF_UINT(38));
// minimum remaining distance / minimale Restlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_MIN_WERT", STAT_HA_S_MIN_WERT, "\"km\"");
unsigned short STAT_HA_S_MAX_WERT = (RXBUF_UINT(40));
// maximum remaining distance / maximale Restlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_MAX_WERT", STAT_HA_S_MAX_WERT, "\"km\"");
unsigned long STAT_HA_S_REST_WERT = (RXBUF_UINT32(42));
// Remaining distance / Restlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_REST_WERT", STAT_HA_S_REST_WERT, "\"km\"");
unsigned long STAT_HA_S_GESAMT_1_WERT = (RXBUF_UINT32(46));
// 1. Extrapolation of total running distance / 1. Hochrechnung Gesamtlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_GESAMT_1_WERT", STAT_HA_S_GESAMT_1_WERT, "\"km\"");
unsigned long STAT_HA_S_GESAMT_2_WERT = (RXBUF_UINT32(50));
// 2. Extrapolation of total running distance / 2. Hochrechnung Gesamtlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_GESAMT_2_WERT", STAT_HA_S_GESAMT_2_WERT, "\"km\"");
unsigned long STAT_HA_S_GESAMT_3_WERT = (RXBUF_UINT32(54));
// 3. Extrapolation of total running distance / 3. Hochrechnung Gesamtlaufstrecke
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_S_GESAMT_3_WERT", STAT_HA_S_GESAMT_3_WERT, "\"km\"");
unsigned char STAT_HA_SZ_WERT = (RXBUF_UCHAR(58));
// Service counter / Servicezähler
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "CBS_BREMSE_DETAILS", "STAT_HA_SZ_WERT", STAT_HA_SZ_WERT, "");
unsigned char BF_HA_FLAG_BVA = (RXBUF_UCHAR(59));
// Bitfield state of the BVA sensor / Bitfield Zustand BVA-Sensor
// BF_HA_FLAG_BVA is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
// STAT_HA_FLAG_BVA: Mask: 0x01 - BVA sensor status: 0 = BVA sensor not looped through, 1 = BVA sensor looped through
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "DSC", "CBS_BREMSE_DETAILS", "BF_HA_FLAG_BVA", (unsigned long)BF_HA_FLAG_BVA, "\"Bit\"");
unsigned char BF_HA_RESET_VERHINDERER_1 = (RXBUF_UCHAR(60));
// Bitfield reset prevention / Bitfield Resetverhinderer
// BF_HA_RESET_VERHINDERER_1 is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
// STAT_HA_DATUM_UHRZEIT_GUELTIG_BEI_RESET: Mask: 0x01 - Date_Uhrzeit_gueltig_bei_reset 1. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_KM_STAND_GUELTIG_BEI_RESET: Mask: 0x02 - KM_Stand_gueltig_bei_reset 2nd reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_VIN_GUELTIG_BEI_RESET: Mask: 0x04 - VIN_gueltig_bei_reset 3rd reset inhibitor: 0 = statement does not apply, 1 = statement applies
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "DSC", "CBS_BREMSE_DETAILS", "BF_HA_RESET_VERHINDERER_1", (unsigned long)BF_HA_RESET_VERHINDERER_1, "\"Bit\"");
unsigned char BF_HA_RESET_VERHINDERER_2 = (RXBUF_UCHAR(61));
// Bitfield reset prevention / Bitfield Resetverhinderer
// BF_HA_RESET_VERHINDERER_2 is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
// STAT_HA_BBV_SENSOR_NICHT_GEST_BEI_RESET: Mask: 0x01 - BBV_Sensor_nicht_angesteckt_bei_reset 4. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_BBV_SENSOR_FEHLER_BEI_RESET: Mask: 0x02 - BBV_Sensor_Fehler_bei_reset 5. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_VORDRUCK_BEI_RESET: Mask: 0x04 - Vordruck_bei_reset 6. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_EMF_ANGEZ_BEI_RESET: Mask: 0x08 - EMF_ drawn_bei_reset 7. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_KOMM_FEHLER_EMF_BEI_RESET: Mask: 0x10 - Communication error_mit_EMF_bei_reset 8. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_GESCHW_BEI_RESET: Mask: 0x20 - Velocity_bei_reset 9. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
// STAT_HA_AKTIVER_DRUCKAUFBAU_BEI_RESET: Mask: 0x40 - Aktiver_Druckbildung_bei_reset 10. Reset inhibitor: 0 = statement does not apply, 1 = statement applies
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lx%s\n", "DSC", "CBS_BREMSE_DETAILS", "BF_HA_RESET_VERHINDERER_2", (unsigned long)BF_HA_RESET_VERHINDERER_2, "\"Bit\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FES_COORDINT_SW_FEHLER_INFO: { // 0xD62E
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FES_COORDINT_SW_FEHLER_INFO", 4);
break;
}
long STAT_FES_COORDINT_SW_FEHLER_INFO_WERT = (RXBUF_SINT32(0));
// FES COORDINT SW error / FES COORDINT SW Fehler
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "FES_COORDINT_SW_FEHLER_INFO", "STAT_FES_COORDINT_SW_FEHLER_INFO_WERT", STAT_FES_COORDINT_SW_FEHLER_INFO_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FLM_LESEN: { // 0xD6D6
if (datalen < 811) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FLM_LESEN", 811);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EMF_LERNDATEN_STATISTIK: { // 0xD804
if (datalen < 20) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EMF_LERNDATEN_STATISTIK", 20);
break;
}
unsigned short STAT_ZAEHLER_FESTELLEN_STEIGUNG20_WERT = (RXBUF_UINT(0));
// Number of fixes slope> 20% / Anzahl Feststellen Steigung > 20 %
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_ZAEHLER_FESTELLEN_STEIGUNG20_WERT", STAT_ZAEHLER_FESTELLEN_STEIGUNG20_WERT, "");
unsigned short STAT_ZAEHLER_NACHSPANNEN_ROLLUEBERWACHUNG_WERT = (RXBUF_UINT(2));
// Number of re-tensioning due to rollers recognized / Anzahl Nachspannen wegen Rollen erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_ZAEHLER_NACHSPANNEN_ROLLUEBERWACHUNG_WERT", STAT_ZAEHLER_NACHSPANNEN_ROLLUEBERWACHUNG_WERT, "");
unsigned short STAT_ZAEHLER_NACHSPANNEN_TEMPERATUR_WERT = (RXBUF_UINT(4));
// Number of re-tensioning due to brake disc temperature / Anzahl Nachspannen wegen Temperatur Bremsscheibe
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_ZAEHLER_NACHSPANNEN_TEMPERATUR_WERT", STAT_ZAEHLER_NACHSPANNEN_TEMPERATUR_WERT, "");
unsigned short STAT_ZAEHLER_AUTO_ADJUST_WERT = (RXBUF_UINT(6));
// Number of automatic adjustments / Anzahl automatische Justage
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_ZAEHLER_AUTO_ADJUST_WERT", STAT_ZAEHLER_AUTO_ADJUST_WERT, "");
unsigned short STAT_ZAEHLER_NACHSPANNEN_PRAEVENTIV_WERT = (RXBUF_UINT(8));
// Number of retightening as a preventive measure / Anzahl Nachspannen vorbeugend
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_ZAEHLER_NACHSPANNEN_PRAEVENTIV_WERT", STAT_ZAEHLER_NACHSPANNEN_PRAEVENTIV_WERT, "");
unsigned short STAT_RESERVE5_WERT = (RXBUF_UINT(10));
// unused / unbenutzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_RESERVE5_WERT", STAT_RESERVE5_WERT, "");
unsigned short STAT_RESERVE6_WERT = (RXBUF_UINT(12));
// unused / unbenutzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_RESERVE6_WERT", STAT_RESERVE6_WERT, "");
unsigned short STAT_RESERVE7_WERT = (RXBUF_UINT(14));
// unused / unbenutzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_RESERVE7_WERT", STAT_RESERVE7_WERT, "");
unsigned short STAT_RESERVE8_WERT = (RXBUF_UINT(16));
// unused / unbenutzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_RESERVE8_WERT", STAT_RESERVE8_WERT, "");
unsigned short STAT_RESERVE9_WERT = (RXBUF_UINT(18));
// unused / unbenutzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_STATISTIK", "STAT_RESERVE9_WERT", STAT_RESERVE9_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EMF_AKTUATOR_KOMBISATTEL: { // 0xD805
if (datalen < 15) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EMF_AKTUATOR_KOMBISATTEL", 15);
break;
}
float STAT_SPANNUNG_MOTOR_HL_WERT = (RXBUF_SINT(0)/1000.0f);
// Voltage rear left motor / Spannung Motor hinten links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_SPANNUNG_MOTOR_HL_WERT", STAT_SPANNUNG_MOTOR_HL_WERT, "\"V\"");
float STAT_STROM_MOTOR_HL_WERT = (RXBUF_SINT(2)/1000.0f);
// Electricity motor rear left / Strom Motor hinten links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_STROM_MOTOR_HL_WERT", STAT_STROM_MOTOR_HL_WERT, "\"A\"");
float STAT_TEMPERATUR_MOTOR_HL_WERT = (RXBUF_SINT(4)/10.0f);
// Engine temperature, rear left / Temperatur Motor hinten links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_TEMPERATUR_MOTOR_HL_WERT", STAT_TEMPERATUR_MOTOR_HL_WERT, "\"°C\"");
float STAT_SPANNUNG_MOTOR_HR_WERT = (RXBUF_SINT(6)/1000.0f);
// Voltage motor rear right / Spannung Motor hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_SPANNUNG_MOTOR_HR_WERT", STAT_SPANNUNG_MOTOR_HR_WERT, "\"V\"");
float STAT_STROM_MOTOR_HR_WERT = (RXBUF_SINT(8)/1000.0f);
// Electricity motor rear right / Strom Motor hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_STROM_MOTOR_HR_WERT", STAT_STROM_MOTOR_HR_WERT, "\"A\"");
float STAT_TEMPERATUR_MOTOR_HR_WERT = (RXBUF_SINT(10)/10.0f);
// Temperature engine rear right / Temperatur Motor hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_TEMPERATUR_MOTOR_HR_WERT", STAT_TEMPERATUR_MOTOR_HR_WERT, "\"°C\"");
unsigned char STAT_AKTUATOR_R = (RXBUF_UCHAR(12));
// Rear right brake shoes position / Position Bremsbacken hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_AKTUATOR_R", STAT_AKTUATOR_R, "\"0-n\"");
unsigned char STAT_AKTUATOR_L = (RXBUF_UCHAR(13));
// Rear right brake shoes position / Position Bremsbacken hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_AKTUATOR_L", STAT_AKTUATOR_L, "\"0-n\"");
unsigned char STAT_HU_MODE_STATUS = (RXBUF_UCHAR(14));
// Status mode general inspection / Status Modus Hauptuntersuchung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "EMF_AKTUATOR_KOMBISATTEL", "STAT_HU_MODE_STATUS", STAT_HU_MODE_STATUS, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EMF_LERNDATEN_TASTER: { // 0xD808
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EMF_LERNDATEN_TASTER", 8);
break;
}
unsigned long STAT_ZAEHLER_TASTER_FESTSTELLEN_WERT = (RXBUF_UINT32(0));
// Determine number of operations / Anzahl Bedienung Feststellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "EMF_LERNDATEN_TASTER", "STAT_ZAEHLER_TASTER_FESTSTELLEN_WERT", STAT_ZAEHLER_TASTER_FESTSTELLEN_WERT, "");
unsigned long STAT_ZAEHLER_TASTER_LOESEN_WERT = (RXBUF_UINT32(4));
// Solve number of operations / Anzahl Bedienungen Lösen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "EMF_LERNDATEN_TASTER", "STAT_ZAEHLER_TASTER_LOESEN_WERT", STAT_ZAEHLER_TASTER_LOESEN_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EMF_LERNDATEN_AKTUATOR: { // 0xD80A
if (datalen < 10) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EMF_LERNDATEN_AKTUATOR", 10);
break;
}
unsigned long STAT_ZAEHLER_AKTUATOR_FESTSTELLEN_WERT = (RXBUF_UINT32(0));
// Number of notices / Anzahl Feststellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "EMF_LERNDATEN_AKTUATOR", "STAT_ZAEHLER_AKTUATOR_FESTSTELLEN_WERT", STAT_ZAEHLER_AKTUATOR_FESTSTELLEN_WERT, "");
unsigned short STAT_ZAEHLER_AKTUATOR_NOTENTRIEGELN_WERT = (RXBUF_UINT(4));
// Number of emergency releases / Anzahl Notentriegelung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_AKTUATOR", "STAT_ZAEHLER_AKTUATOR_NOTENTRIEGELN_WERT", STAT_ZAEHLER_AKTUATOR_NOTENTRIEGELN_WERT, "");
unsigned short STAT_ZAEHLER_AKTUATOR_BOOST_WERT = (RXBUF_UINT(6));
// Number of readjustments / Anzahl Nachstellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_AKTUATOR", "STAT_ZAEHLER_AKTUATOR_BOOST_WERT", STAT_ZAEHLER_AKTUATOR_BOOST_WERT, "");
unsigned short STAT_ZAEHLER_AKTUATOR_UEBERLAST_WERT = (RXBUF_UINT(8));
// Number of overloads / Anzahl Überlast
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EMF_LERNDATEN_AKTUATOR", "STAT_ZAEHLER_AKTUATOR_UEBERLAST_WERT", STAT_ZAEHLER_AKTUATOR_UEBERLAST_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EMF_KLEMMEN_KOMBISATTEL: { // 0xD80C
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EMF_KLEMMEN_KOMBISATTEL", 8);
break;
}
float STAT_SPANNUNG_ELEKTRONIK_WERT = (RXBUF_UINT(0)/1000.0f);
// Voltage control unit / Spannung Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_KLEMMEN_KOMBISATTEL", "STAT_SPANNUNG_ELEKTRONIK_WERT", STAT_SPANNUNG_ELEKTRONIK_WERT, "\"V\"");
float STAT_SPANNUNG_AKUATOR_HL_WERT = (RXBUF_UINT(2)/1000.0f);
// Voltage actuator rear left / Spannung Aktuator hinten links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_KLEMMEN_KOMBISATTEL", "STAT_SPANNUNG_AKUATOR_HL_WERT", STAT_SPANNUNG_AKUATOR_HL_WERT, "\"V\"");
float STAT_SPANNUNG_AKUATOR_HR_WERT = (RXBUF_UINT(4)/1000.0f);
// Voltage actuator rear right / Spannung Aktuator hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_KLEMMEN_KOMBISATTEL", "STAT_SPANNUNG_AKUATOR_HR_WERT", STAT_SPANNUNG_AKUATOR_HR_WERT, "\"V\"");
float STAT_SPANNUNG_WECKLEITUNG_WERT = (RXBUF_UINT(6)/1000.0f);
// Voltage wake-up line / Spannung Weckleitung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_KLEMMEN_KOMBISATTEL", "STAT_SPANNUNG_WECKLEITUNG_WERT", STAT_SPANNUNG_WECKLEITUNG_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EMF_TASTER: { // 0xD80D
if (datalen < 12) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EMF_TASTER", 12);
break;
}
unsigned char STAT_TASTER_EMF = (RXBUF_UCHAR(0));
// Operating status / Bedienzustand
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF", STAT_TASTER_EMF, "\"0-n\"");
unsigned char STAT_TASTER_EMF_DIGITAL_WERT = (RXBUF_UCHAR(1));
// digital status button / digitaler Status Taster
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF_DIGITAL_WERT", STAT_TASTER_EMF_DIGITAL_WERT, "");
float STAT_TASTER_EMF_1_WERT = (RXBUF_UINT(2)/1000.0f);
// Voltage button line 1 / Spannung Taster Leitung 1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF_1_WERT", STAT_TASTER_EMF_1_WERT, "\"V\"");
float STAT_TASTER_EMF_2_WERT = (RXBUF_UINT(4)/1000.0f);
// Voltage button line 2 / Spannung Taster Leitung 2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF_2_WERT", STAT_TASTER_EMF_2_WERT, "\"V\"");
float STAT_TASTER_EMF_3_WERT = (RXBUF_UINT(6)/1000.0f);
// Voltage button line 3 / Spannung Taster Leitung 3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF_3_WERT", STAT_TASTER_EMF_3_WERT, "\"V\"");
float STAT_TASTER_EMF_4_WERT = (RXBUF_UINT(8)/1000.0f);
// Voltage button line 4 / Spannung Taster Leitung 4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF_4_WERT", STAT_TASTER_EMF_4_WERT, "\"V\"");
float STAT_TASTER_EMF_5_WERT = (RXBUF_UINT(10)/1000.0f);
// Voltage button line 5 / Spannung Taster Leitung 5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "EMF_TASTER", "STAT_TASTER_EMF_5_WERT", STAT_TASTER_EMF_5_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EXTERNE_ANFORDERUNG_GKU_IPB_ZAEHLER_LESEN: { // 0xD81A
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EXTERNE_ANFORDERUNG_GKU_IPB_ZAEHLER_LESEN", 2);
break;
}
unsigned short STAT_AKTUELLER_ZAEHLERSTAND_GKU_WERT = (RXBUF_UINT(0));
// Returns the number of IPB takeovers through external transmission requests / Gibt Anzahl der IPB-Uebernahmen
// durch externe Getriebe-Anforderungen zurueck
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EXTERNE_ANFORDERUNG_GKU_IPB_ZAEHLER_LESEN", "STAT_AKTUELLER_ZAEHLERSTAND_GKU_WERT", STAT_AKTUELLER_ZAEHLERSTAND_GKU_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_LESEN_ANTI_POWER_HOP_FUNKTION_ZAEHLER_LESEN: { // 0xD8EB
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_LESEN_ANTI_POWER_HOP_FUNKTION_ZAEHLER_LESEN", 2);
break;
}
unsigned short STAT_ZAEHLER_ANTI_POWER_HOP_FUNKTION_WERT = (RXBUF_UINT(0));
// Indicates how often the anti-power HOP function was active. / Gibt an, wie oft die Anti-Power-HOP-Funktion
// aktiv war.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_LESEN_ANTI_POWER_HOP_FUNKTION_ZAEHLER_LESEN", "STAT_ZAEHLER_ANTI_POWER_HOP_FUNKTION_WERT", STAT_ZAEHLER_ANTI_POWER_HOP_FUNKTION_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_MODUS_ROLLENPRUEFSTAND: { // 0xDB5B
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_MODUS_ROLLENPRUEFSTAND", 1);
break;
}
char STAT_ROLLENMODUS_NR = (RXBUF_SCHAR(0));
// Status query role mode active in the ICM / Statusabfrage Rollenmodus aktiv im ICM
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_MODUS_ROLLENPRUEFSTAND", "STAT_ROLLENMODUS_NR", STAT_ROLLENMODUS_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_GIERRATE: { // 0xDBD9
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_GIERRATE", 2);
break;
}
unsigned short STAT_GIERRATE_SENSOR_NR = (RXBUF_UINT(0));
// Plausibility check sensor / Plausibilisierung Sensor
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_GIERRATE", "STAT_GIERRATE_SENSOR_NR", STAT_GIERRATE_SENSOR_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_QUERBESCHLEUNIGUNG: { // 0xDBDA
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_QUERBESCHLEUNIGUNG", 2);
break;
}
unsigned short STAT_QUERBESCHLEUNIGUNG_SENSOR_NR = (RXBUF_UINT(0));
// Plausibility check sensor / Plausibilisierung Sensor
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_QUERBESCHLEUNIGUNG", "STAT_QUERBESCHLEUNIGUNG_SENSOR_NR", STAT_QUERBESCHLEUNIGUNG_SENSOR_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_LAENGSBESCHLEUNIGUNG: { // 0xDBDB
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_LAENGSBESCHLEUNIGUNG", 2);
break;
}
unsigned short STAT_LAENGSBESCHLEUNIGUNG_SENSOR1_NR = (RXBUF_UINT(0));
// Plausibility check sensor 1 / Plausibilisierung Sensor 1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_LAENGSBESCHLEUNIGUNG", "STAT_LAENGSBESCHLEUNIGUNG_SENSOR1_NR", STAT_LAENGSBESCHLEUNIGUNG_SENSOR1_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_BREMSBELAGSSENSOR: { // 0xDBDF
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_BREMSBELAGSSENSOR", 2);
break;
}
unsigned char STAT_PILLE_VA = (RXBUF_UCHAR(0));
// Brake pad pill front axle / Bremsbelagspille Vorderachse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "BREMSBELAGSSENSOR", "STAT_PILLE_VA", STAT_PILLE_VA, "\"0-n\"");
unsigned char STAT_PILLE_HA = (RXBUF_UCHAR(1));
// Brake pad pill rear axle / Bremsbelagspille Hinterachse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "BREMSBELAGSSENSOR", "STAT_PILLE_HA", STAT_PILLE_HA, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_REIFENPANNENANZEIGE: { // 0xDBE3
if (datalen < 10) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_REIFENPANNENANZEIGE", 10);
break;
}
unsigned char STAT_WARNUNG_AKTIV = (RXBUF_UCHAR(0));
// Warning (0 = inactive; 1 = active) / Warnung (0= inaktiv; 1= aktiv)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_WARNUNG_AKTIV", STAT_WARNUNG_AKTIV, "\"0/1\"");
unsigned char STAT_FUNKTION_AKTIV = (RXBUF_UCHAR(1));
// RPA system (0 = inactive; 1 = active) / RPA-System (0= inaktiv; 1= aktiv)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_FUNKTION_AKTIV", STAT_FUNKTION_AKTIV, "\"0/1\"");
unsigned char STAT_PLATTROLLEN_ERKANNT = (RXBUF_UCHAR(2));
// Flat tire (0 = not recognized; 1 = recognized) / Platte Reifen (0= nicht erkannt; 1= erkannt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_PLATTROLLEN_ERKANNT", STAT_PLATTROLLEN_ERKANNT, "\"0/1\"");
unsigned char STAT_3PLUS1_ERKANNT = (RXBUF_UCHAR(3));
// 3Plus1 constellation (0 = not recognized; 1 = recognized) / 3Plus1 Konstellation (0= nicht erkannt; 1=
// erkannt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_3PLUS1_ERKANNT", STAT_3PLUS1_ERKANNT, "\"0/1\"");
unsigned char STAT_NEUREIFEN_ERKANNT = (RXBUF_UCHAR(4));
// New tire constellation (0 = not recognized; 1 = recognized) / Neureifen Konstellation (0= nicht erkannt; 1=
// erkannt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_NEUREIFEN_ERKANNT", STAT_NEUREIFEN_ERKANNT, "\"0/1\"");
unsigned char STAT_NAEHERUNG_WARNGRENZE_WERT = (RXBUF_UCHAR(5));
// Current value approaching warning limit / aktueller Wert Näherung Warngrenze
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_NAEHERUNG_WARNGRENZE_WERT", STAT_NAEHERUNG_WARNGRENZE_WERT, "\"%\"");
unsigned char STAT_PANNEN_POSITION = (RXBUF_UCHAR(6));
// Pressure reduced wheel position / Position druckreduziertes Rad
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_PANNEN_POSITION", STAT_PANNEN_POSITION, "\"0-n\"");
unsigned char STAT_LERNSTATUS_BEREICH_0_100_WERT = (RXBUF_UCHAR(7));
// Learning progress speed range 0..100 km / h / Lernfortschritt Geschwindigkeitsbereich 0..100 km/h
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_LERNSTATUS_BEREICH_0_100_WERT", STAT_LERNSTATUS_BEREICH_0_100_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_100_190_WERT = (RXBUF_UCHAR(8));
// Learning progress speed range 100..190 km / h / Lernfortschritt Geschwindigkeitsbereich 100..190 km/h
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_LERNSTATUS_BEREICH_100_190_WERT", STAT_LERNSTATUS_BEREICH_100_190_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_UEBER_190_WERT = (RXBUF_UCHAR(9));
// Learning progress speed range> 190 km / h / Lernfortschritt Geschwindigkeitsbereich > 190 km/h
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "REIFENPANNENANZEIGE", "STAT_LERNSTATUS_BEREICH_UEBER_190_WERT", STAT_LERNSTATUS_BEREICH_UEBER_190_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_GESCHWINDIGKEIT_RAD: { // 0xDBE4
if (datalen < 19) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_GESCHWINDIGKEIT_RAD", 19);
break;
}
float STAT_GESCHWINDIGKEIT_RAD_VL_WERT = (RXBUF_SINT(0)/100.0f);
// Front left wheel speed / Radgeschwindigkeit vorne links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_GESCHWINDIGKEIT_RAD_VL_WERT", STAT_GESCHWINDIGKEIT_RAD_VL_WERT, "\"km/h\"");
float STAT_GESCHWINDIGKEIT_RAD_VR_WERT = (RXBUF_SINT(2)/100.0f);
// Front right wheel speed / Radgeschwindigkeit vorne rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_GESCHWINDIGKEIT_RAD_VR_WERT", STAT_GESCHWINDIGKEIT_RAD_VR_WERT, "\"km/h\"");
float STAT_GESCHWINDIGKEIT_RAD_HL_WERT = (RXBUF_SINT(4)/100.0f);
// Rear left wheel speed / Radgeschwindigkeit hinten links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_GESCHWINDIGKEIT_RAD_HL_WERT", STAT_GESCHWINDIGKEIT_RAD_HL_WERT, "\"km/h\"");
float STAT_GESCHWINDIGKEIT_RAD_HR_WERT = (RXBUF_SINT(6)/100.0f);
// Rear right wheel speed / Radgeschwindigkeit hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_GESCHWINDIGKEIT_RAD_HR_WERT", STAT_GESCHWINDIGKEIT_RAD_HR_WERT, "\"km/h\"");
float STAT_GESCHWINDIGKEIT_FZG_WERT = (RXBUF_SINT(8)/100.0f);
// Vehicle speed / Fahrzeuggeschwindigkeit
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_GESCHWINDIGKEIT_FZG_WERT", STAT_GESCHWINDIGKEIT_FZG_WERT, "\"km/h\"");
unsigned char STAT_DREHRICHTUNG_VL = (RXBUF_UCHAR(10));
// Wheel rotation direction front left / Raddrehrichtung vorne links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_DREHRICHTUNG_VL", STAT_DREHRICHTUNG_VL, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_VR = (RXBUF_UCHAR(11));
// Direction of wheel rotation front right / Raddrehrichtung vorne rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_DREHRICHTUNG_VR", STAT_DREHRICHTUNG_VR, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_HL = (RXBUF_UCHAR(12));
// Wheel rotation direction rear left / Raddrehrichtung hinten links
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_DREHRICHTUNG_HL", STAT_DREHRICHTUNG_HL, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_HR = (RXBUF_UCHAR(13));
// Wheel rotation direction rear right / Raddrehrichtung hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_DREHRICHTUNG_HR", STAT_DREHRICHTUNG_HR, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_REF = (RXBUF_UCHAR(14));
// Direction of travel / Fahrrichtung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_DREHRICHTUNG_REF", STAT_DREHRICHTUNG_REF, "\"0-n\"");
unsigned char STAT_SIGNALQUALITAET_VL_WERT = (RXBUF_UCHAR(15));
// Signal quality front left x &lt;10% = no signal; 10% &lt;= x &lt;= 50% weak signal; x&gt; 50% signal OK /
// Signalqualität vorne links x < 10 % = kein Signal; 10 % <= x <= 50 % schwaches Signal; x > 50 % Signal in
// Ordnung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_SIGNALQUALITAET_VL_WERT", STAT_SIGNALQUALITAET_VL_WERT, "\"%\"");
unsigned char STAT_SIGNALQUALITAET_VR_WERT = (RXBUF_UCHAR(16));
// Signal quality front right x &lt;10% = no signal; 10% &lt;= x &lt;= 50% weak signal; x&gt; 50% signal OK /
// Signalqualität vorne rechts x < 10 % = kein Signal; 10 % <= x <= 50 % schwaches Signal; x > 50 % Signal in
// Ordnung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_SIGNALQUALITAET_VR_WERT", STAT_SIGNALQUALITAET_VR_WERT, "\"%\"");
unsigned char STAT_SIGNALQUALITAET_HL_WERT = (RXBUF_UCHAR(17));
// Signal quality rear left x &lt;10% = no signal; 10% &lt;= x &lt;= 50% weak signal; x&gt; 50% signal OK /
// Signalqualität hinten links x < 10 % = kein Signal; 10 % <= x <= 50 % schwaches Signal; x > 50 % Signal in
// Ordnung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_SIGNALQUALITAET_HL_WERT", STAT_SIGNALQUALITAET_HL_WERT, "\"%\"");
unsigned char STAT_SIGNALQUALITAET_HR_WERT = (RXBUF_UCHAR(18));
// Signal quality rear right x &lt;10% = no signal; 10% &lt;= x &lt;= 50% weak signal; x&gt; 50% signal OK /
// Signalqualität hinten rechts x < 10 % = kein Signal; 10 % <= x <= 50 % schwaches Signal; x > 50 % Signal in
// Ordnung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "GESCHWINDIGKEIT_RAD", "STAT_SIGNALQUALITAET_HR_WERT", STAT_SIGNALQUALITAET_HR_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DSC_DRUCKSENSOREN: { // 0xDBE5
if (datalen < 12) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_DSC_DRUCKSENSOREN", 12);
break;
}
float STAT_DRUCK_KREIS1_WERT = (RXBUF_SINT(0)/10.0f);
// Pressure circuit 1 LG, 35up, LG-X: brake pressure; LU / LI: brake pressure (THZ tandem master brake cylinder)
// / Druck Kreis 1 LG, 35up, LG-X: Bremsvordruck; LU/LI: Bremsvordruck (THZ-Tandem-Hauptbremszylinder)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_DRUCKSENSOREN", "STAT_DRUCK_KREIS1_WERT", STAT_DRUCK_KREIS1_WERT, "\"bar\"");
float STAT_DRUCK_KREIS2_WERT = (RXBUF_SINT(2)/10.0f);
// Pressure circle 2 / Druck Kreis 2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_DRUCKSENSOREN", "STAT_DRUCK_KREIS2_WERT", STAT_DRUCK_KREIS2_WERT, "\"bar\"");
float STAT_DRUCK_VL_WERT = (RXBUF_SINT(4)/10.0f);
// Print front left LG, 35up, LG-X: Kreis1 (VA); I12 / F4xPHEV circle 1 (VL / HR); UKL / I01 not used / Druck
// vorne links LG, 35up, LG-X: Kreis1 (VA); I12/F4xPHEV Kreis1 (VL/HR); UKL/I01 unbelegt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_DRUCKSENSOREN", "STAT_DRUCK_VL_WERT", STAT_DRUCK_VL_WERT, "\"bar\"");
float STAT_DRUCK_VR_WERT = (RXBUF_SINT(6)/10.0f);
// Print front right LG, 35up, LG-X, LU / LI: unoccupied / Druck vorne rechts LG, 35up, LG-X, LU/LI: unbelegt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_DRUCKSENSOREN", "STAT_DRUCK_VR_WERT", STAT_DRUCK_VR_WERT, "\"bar\"");
float STAT_DRUCK_HL_WERT = (RXBUF_SINT(8)/10.0f);
// Print back left LG, 35up, LG-X: Kreis2 (HA); I12 / F4xPHEV circle 2 (VR / HL); UKL / I01 not used / Druck
// hinten links LG, 35up, LG-X: Kreis2 (HA); I12/F4xPHEV Kreis2 (VR/HL); UKL/I01 unbelegt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_DRUCKSENSOREN", "STAT_DRUCK_HL_WERT", STAT_DRUCK_HL_WERT, "\"bar\"");
float STAT_DRUCK_HR_WERT = (RXBUF_SINT(10)/10.0f);
// Print back right LG, 35up, LG-X, LU / LI: unoccupied / Druck hinten rechts LG, 35up, LG-X, LU/LI: unbelegt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_DRUCKSENSOREN", "STAT_DRUCK_HR_WERT", STAT_DRUCK_HR_WERT, "\"bar\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DSC_KLEMMEN: { // 0xDBE7
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_DSC_KLEMMEN", 8);
break;
}
float STAT_SPANNUNG_ELEKTRONIK_WERT_0XDBE7 = (RXBUF_UINT(0)/1000.0f);
// Electronics supply voltage / Spannung Elektronikversorgung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_KLEMMEN", "STAT_SPANNUNG_ELEKTRONIK_WERT_0XDBE7", STAT_SPANNUNG_ELEKTRONIK_WERT_0XDBE7, "\"V\"");
float STAT_SPANNUNG_PUMPE_WERT = (RXBUF_UINT(2)/1000.0f);
// Pump supply voltage / Spannung Pumpenversorgung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_KLEMMEN", "STAT_SPANNUNG_PUMPE_WERT", STAT_SPANNUNG_PUMPE_WERT, "\"V\"");
float STAT_SPANNUNG_VENTILE_WERT = (RXBUF_UINT(4)/1000.0f);
// Voltage valve supply / Spannung Ventilversorgung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_KLEMMEN", "STAT_SPANNUNG_VENTILE_WERT", STAT_SPANNUNG_VENTILE_WERT, "\"V\"");
float STAT_SPANNUNG_WECKLEITUNG_WERT_0XDBE7 = (RXBUF_UINT(6)/1000.0f);
// Voltage wake-up line / Spannung Weckleitung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "DSC_KLEMMEN", "STAT_SPANNUNG_WECKLEITUNG_WERT_0XDBE7", STAT_SPANNUNG_WECKLEITUNG_WERT_0XDBE7, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_VAKUUMSENSOR: { // 0xDBF4
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_VAKUUMSENSOR", 4);
break;
}
float STAT_DRUCK_IST_WERT = (RXBUF_SINT(0)/1000.0f);
// current pressure / aktueller Druck
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "VAKUUMSENSOR", "STAT_DRUCK_IST_WERT", STAT_DRUCK_IST_WERT, "\"bar\"");
float STAT_SPANNUNG_IST_WERT = (RXBUF_UINT(2)/1000.0f);
// current voltage / aktuelle Spannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "VAKUUMSENSOR", "STAT_SPANNUNG_IST_WERT", STAT_SPANNUNG_IST_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_BREMSPEDALWEGSENSOR: { // 0xDBF5
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_BREMSPEDALWEGSENSOR", 8);
break;
}
float STAT_WEG_IST_WERT = (RXBUF_SINT(0)/100.0f);
// Current pedal travel (based on WEG_NULLPUNKT_IST) / aktueller Pedalweg (bezogen auf WEG_NULLPUNKT_IST)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "BREMSPEDALWEGSENSOR", "STAT_WEG_IST_WERT", STAT_WEG_IST_WERT, "\"mm\"");
float STAT_WEG_NULLPUNKT_INIT_WERT = (RXBUF_SINT(2)/100.0f);
// Initialization of the pedal zero point / Initialisierung Pedal Nullpunkt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "BREMSPEDALWEGSENSOR", "STAT_WEG_NULLPUNKT_INIT_WERT", STAT_WEG_NULLPUNKT_INIT_WERT, "\"mm\"");
float STAT_WEG_NULLPUNKT_IST_WERT = (RXBUF_SINT(4)/100.0f);
// current pedal zero point / aktueller Pedal Nullpunkt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "BREMSPEDALWEGSENSOR", "STAT_WEG_NULLPUNKT_IST_WERT", STAT_WEG_NULLPUNKT_IST_WERT, "\"mm\"");
float STAT_WEG_LEERWEG_IST_WERT = (RXBUF_SINT(6)/100.0f);
// Current pedal free travel (use of hydraulics based on WEG_NULLPUNKT_IST) / aktueller Pedal Leerweg (Einsatz
// Hydraulik bezogen auf WEG_NULLPUNKT_IST)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "BREMSPEDALWEGSENSOR", "STAT_WEG_LEERWEG_IST_WERT", STAT_WEG_LEERWEG_IST_WERT, "\"mm\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_BREMSREKUPERATIONSMOMENT: { // 0xDBF6
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_BREMSREKUPERATIONSMOMENT", 4);
break;
}
short STAT_MOMENT_SOLL_WERT = (RXBUF_SINT(0));
// Brake regeneration setpoint / Sollwert Bremsrekuperation
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "BREMSREKUPERATIONSMOMENT", "STAT_MOMENT_SOLL_WERT", STAT_MOMENT_SOLL_WERT, "\"Nm\"");
short STAT_MOMENT_IST_WERT = (RXBUF_SINT(2));
// Actual value of brake regeneration / Istwert Bremsrekuperation
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "BREMSREKUPERATIONSMOMENT", "STAT_MOMENT_IST_WERT", STAT_MOMENT_IST_WERT, "\"Nm\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_ADAPTIVDATEN_ZUSTAND: { // 0xDC13
if (datalen < 11) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_ADAPTIVDATEN_ZUSTAND", 11);
break;
}
short STAT_ADAPTIVDATEN_RUECKSETZEN_NR = (RXBUF_SINT(2));
// Adaptive data basic setting set / Adaptivdaten Grundeinstellung gesetzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_ADAPTIVDATEN_ZUSTAND", "STAT_ADAPTIVDATEN_RUECKSETZEN_NR", STAT_ADAPTIVDATEN_RUECKSETZEN_NR, "\"0-n\"");
char STAT_AX_AY_ABGLEICH_NR = (RXBUF_SCHAR(5));
// Accelerometers are compared / Ablgeich Beschleunigungssensoren erfolgt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_ADAPTIVDATEN_ZUSTAND", "STAT_AX_AY_ABGLEICH_NR", STAT_AX_AY_ABGLEICH_NR, "\"0-n\"");
char STAT_ADAPTIVDATEN_WERKSMODUS_NR = (RXBUF_SCHAR(8));
// Adaptive data factory setting set / Adaptivdaten Werkseinstellung gesetzt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_ADAPTIVDATEN_ZUSTAND", "STAT_ADAPTIVDATEN_WERKSMODUS_NR", STAT_ADAPTIVDATEN_WERKSMODUS_NR, "\"0-n\"");
char STAT_ADAPTIVDATEN_LERNWERTE_AKTIV_NR = (RXBUF_SCHAR(10));
// Adaptive data in the learning area / Adaptivdaten im Lernbereich
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_ADAPTIVDATEN_ZUSTAND", "STAT_ADAPTIVDATEN_LERNWERTE_AKTIV_NR", STAT_ADAPTIVDATEN_LERNWERTE_AKTIV_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RPA_LERNDATEN_STATISTIK: { // 0xDC14
if (datalen < 55) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RPA_LERNDATEN_STATISTIK", 55);
break;
}
unsigned char STAT_RPA_VERSION_NR_1_WERT = (RXBUF_UCHAR(0));
// Major version number of RPA software / Hauptversionsnummer RPA-Software
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_RPA_VERSION_NR_1_WERT", STAT_RPA_VERSION_NR_1_WERT, "");
unsigned char STAT_RPA_VERSION_NR_2_WERT = (RXBUF_UCHAR(1));
// Min version number of RPA software / Unterversionsnummer RPA-Software
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_RPA_VERSION_NR_2_WERT", STAT_RPA_VERSION_NR_2_WERT, "");
unsigned long STAT_KM_LETZTE_STANDARDISIERUNG_WERT = (RXBUF_UINT32(2));
// Mileage last initialization / Kilometerstand letzte Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_STANDARDISIERUNG_WERT", STAT_KM_LETZTE_STANDARDISIERUNG_WERT, "\"km\"");
unsigned long STAT_KM_LETZTE_STANDARDISIERUNG_MINUS_1_WERT = (RXBUF_UINT32(6));
// Mileage penultimate initialization / Kilometerstand vorletzte Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_STANDARDISIERUNG_MINUS_1_WERT", STAT_KM_LETZTE_STANDARDISIERUNG_MINUS_1_WERT, "\"km\"");
unsigned long STAT_KM_LETZTE_STANDARDISIERUNG_MINUS_2_WERT = (RXBUF_UINT32(10));
// Mileage before-penultimate initialization / Kilometerstand vor-vorletzten Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_STANDARDISIERUNG_MINUS_2_WERT", STAT_KM_LETZTE_STANDARDISIERUNG_MINUS_2_WERT, "\"km\"");
unsigned short STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_WERT = (RXBUF_UINT(14));
// Number of days since the last initialization / Anzahl der Tage seit der letzten Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_WERT", STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_WERT, "\"d\"");
unsigned short STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_MINUS_1_WERT = (RXBUF_UINT(16));
// Number of days since the penultimate initialization / Anzahl der Tage seit der vorletzten Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_MINUS_1_WERT", STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_MINUS_1_WERT, "\"d\"");
unsigned short STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_MINUS_2_WERT = (RXBUF_UINT(18));
// Number of days since the next to last initialization / Anzahl der Tage seit der vor-vorletzten Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_MINUS_2_WERT", STAT_TAGE_SEIT_LETZTER_STANDARDISIERUNG_MINUS_2_WERT, "\"d\"");
unsigned long STAT_KM_LETZTE_PANNE_WERT = (RXBUF_UINT32(20));
// Mileage last detected flat tire / Kilometerstand letzte erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_PANNE_WERT", STAT_KM_LETZTE_PANNE_WERT, "\"km\"");
unsigned long STAT_KM_LETZTE_PANNE_MINUS_1_WERT = (RXBUF_UINT32(24));
// Mileage penultimate detected flat tire / Kilometerstand vorletzte erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_PANNE_MINUS_1_WERT", STAT_KM_LETZTE_PANNE_MINUS_1_WERT, "\"km\"");
unsigned long STAT_KM_LETZTE_PANNE_MINUS_2_WERT = (RXBUF_UINT32(28));
// Mileage before-penultimate detected flat tire / Kilometerstand vor-vorletzte erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_PANNE_MINUS_2_WERT", STAT_KM_LETZTE_PANNE_MINUS_2_WERT, "\"km\"");
unsigned short STAT_TAGE_SEIT_LETZTER_PANNE_WERT = (RXBUF_UINT(32));
// Days since the last flat tire detected / Tage seit der letzten erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_TAGE_SEIT_LETZTER_PANNE_WERT", STAT_TAGE_SEIT_LETZTER_PANNE_WERT, "\"d\"");
unsigned short STAT_TAGE_SEIT_LETZTER_PANNE_MINUS_1_WERT = (RXBUF_UINT(34));
// Days since the penultimate detected flat tire / Tage seit der vorletzten erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_TAGE_SEIT_LETZTER_PANNE_MINUS_1_WERT", STAT_TAGE_SEIT_LETZTER_PANNE_MINUS_1_WERT, "\"d\"");
unsigned short STAT_TAGE_SEIT_LETZTER_PANNE_MINUS_2_WERT = (RXBUF_UINT(36));
// Days since the penultimate one recognized flat tire / Tage seit der vor-vorletzten erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_TAGE_SEIT_LETZTER_PANNE_MINUS_2_WERT", STAT_TAGE_SEIT_LETZTER_PANNE_MINUS_2_WERT, "\"d\"");
unsigned char STAT_GESCHWINDIGKEIT_LETZTE_PANNE_WERT = (RXBUF_UCHAR(38));
// Vehicle speed during the last flat tire detected / Fahrzeuggeschwindigkeit während der letzten erkannten
// Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_GESCHWINDIGKEIT_LETZTE_PANNE_WERT", STAT_GESCHWINDIGKEIT_LETZTE_PANNE_WERT, "\"km/h\"");
unsigned char STAT_GESCHWINDIGKEIT_LETZTE_PANNE_MINUS_1_WERT = (RXBUF_UCHAR(39));
// Vehicle speed during the penultimate flat tire detected / Fahrzeuggeschwindigkeit während der vorletzten
// erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_GESCHWINDIGKEIT_LETZTE_PANNE_MINUS_1_WERT", STAT_GESCHWINDIGKEIT_LETZTE_PANNE_MINUS_1_WERT, "\"km/h\"");
unsigned char STAT_GESCHWINDIGKEIT_LETZTE_PANNE_MINUS_2_WERT = (RXBUF_UCHAR(40));
// Vehicle speed during the penultimate to last detected flat tire / Fahrzeuggeschwindigkeit während der
// vor-vorletzten erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_GESCHWINDIGKEIT_LETZTE_PANNE_MINUS_2_WERT", STAT_GESCHWINDIGKEIT_LETZTE_PANNE_MINUS_2_WERT, "\"km/h\"");
unsigned char STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_WERT = (RXBUF_UCHAR(41));
// Max. Vehicle speed after the last flat tire detected (first value is entered no earlier than 30 seconds after
// the flat tire was detected) / max. Fahrzeuggeschwindigkeit nach der letzten erkannten Reifenpanne (erster wert
// wird frühestens 30 Sekunden nach der Pannenerkennung eingetragen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_WERT", STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_WERT, "\"km/h\"");
unsigned char STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_MINUS_1_WERT = (RXBUF_UCHAR(42));
// Vehicle speed during the penultimate flat tire detected / Fahrzeuggeschwindigkeit während der vorletzten
// erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_MINUS_1_WERT", STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_MINUS_1_WERT, "\"km/h\"");
unsigned char STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_MINUS_2_WERT = (RXBUF_UCHAR(43));
// Vehicle speed during the penultimate to last detected flat tire / Fahrzeuggeschwindigkeit während der
// vor-vorletzten erkannten Reifenpanne
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_MINUS_2_WERT", STAT_GESCHWINDIGKEIT_MAX_LETZTE_PANNE_MINUS_2_WERT, "\"km/h\"");
unsigned long STAT_KM_LETZTE_3PLUS1_ERKENNUNG_WERT = (RXBUF_UINT32(44));
// Mileage last recognized 3plus constellation / Kilometerstand letzte erkannte 3plus-Konstellation
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_3PLUS1_ERKENNUNG_WERT", STAT_KM_LETZTE_3PLUS1_ERKENNUNG_WERT, "\"km\"");
unsigned long STAT_KM_LETZTE_NEUREIFEN_ERKENNUNG_WERT = (RXBUF_UINT32(48));
// Mileage last recognized new tire constellation / Kilometerstand letzte erkannte Neureifen-Konstellation
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_KM_LETZTE_NEUREIFEN_ERKENNUNG_WERT", STAT_KM_LETZTE_NEUREIFEN_ERKENNUNG_WERT, "\"km\"");
unsigned char STAT_NEUREIFEN_POSITON = (RXBUF_UCHAR(52));
// Position of the new tire at the last detection / Position des Neureifens bei der letzten Erkennung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_NEUREIFEN_POSITON", STAT_NEUREIFEN_POSITON, "\"0-n\"");
unsigned char STAT_URSACHE_WARNUNG_WERT = (RXBUF_UCHAR(53));
// Type of warning message (e.g. rapid loss of air pressure etc.) / Typ der Warnmeldung (z.B. schnelle
// Luftfruckverlust etc.)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_URSACHE_WARNUNG_WERT", STAT_URSACHE_WARNUNG_WERT, "");
unsigned char STAT_MAX_NAEHERUNG_WARNGRENZE_SEIT_LETZTER_STD_WERT = (RXBUF_UCHAR(54));
// The last initialization is the maximum approximation to the applied warning limit / Maximale Näherung zur
// applizierten Warngrenze siet der letzte Initialisierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STATISTIK", "STAT_MAX_NAEHERUNG_WARNGRENZE_SEIT_LETZTER_STD_WERT", STAT_MAX_NAEHERUNG_WARNGRENZE_SEIT_LETZTER_STD_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RPA_LERNDATEN_STD: { // 0xDC15
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RPA_LERNDATEN_STD", 24);
break;
}
unsigned char STAT_LERNSTATUS_BEREICH_0_WERT = (RXBUF_UCHAR(0));
// Learning progress speed range 0 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 0 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_0_WERT", STAT_LERNSTATUS_BEREICH_0_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_1_WERT = (RXBUF_UCHAR(1));
// Learning progress speed range 1 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 1 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_1_WERT", STAT_LERNSTATUS_BEREICH_1_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_2_WERT = (RXBUF_UCHAR(2));
// Learning progress speed range 2 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 2 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_2_WERT", STAT_LERNSTATUS_BEREICH_2_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_3_WERT = (RXBUF_UCHAR(3));
// Learning progress speed range 3 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 3 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_3_WERT", STAT_LERNSTATUS_BEREICH_3_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_4_WERT = (RXBUF_UCHAR(4));
// Learning progress speed range 4 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 4 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_4_WERT", STAT_LERNSTATUS_BEREICH_4_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_5_WERT = (RXBUF_UCHAR(5));
// Learning progress speed range 5 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 5 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_5_WERT", STAT_LERNSTATUS_BEREICH_5_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_6_WERT = (RXBUF_UCHAR(6));
// Learning progress speed range 6 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 6 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_6_WERT", STAT_LERNSTATUS_BEREICH_6_WERT, "\"%\"");
unsigned char STAT_LERNSTATUS_BEREICH_7_WERT = (RXBUF_UCHAR(7));
// Learning progress speed range 7 (100% = fully learned) / Lernfortschritt Geschwindigkeitsbereich 7 (100 % =
// vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_LERNSTATUS_BEREICH_7_WERT", STAT_LERNSTATUS_BEREICH_7_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_0_WERT = (RXBUF_UCHAR(8));
// Learning status curve compensation speed range 0 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 0 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_0_WERT", STAT_KURVENKOMPENSATION_0_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_1_WERT = (RXBUF_UCHAR(9));
// Learning status curve compensation speed range 1 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 1 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_1_WERT", STAT_KURVENKOMPENSATION_1_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_2_WERT = (RXBUF_UCHAR(10));
// Learning status curve compensation speed range 2 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 2 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_2_WERT", STAT_KURVENKOMPENSATION_2_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_3_WERT = (RXBUF_UCHAR(11));
// Learning status curve compensation speed range 3 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 3 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_3_WERT", STAT_KURVENKOMPENSATION_3_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_4_WERT = (RXBUF_UCHAR(12));
// Learning status curve compensation speed range 4 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 4 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_4_WERT", STAT_KURVENKOMPENSATION_4_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_5_WERT = (RXBUF_UCHAR(13));
// Learning status curve compensation speed range 5 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 5 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_5_WERT", STAT_KURVENKOMPENSATION_5_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_6_WERT = (RXBUF_UCHAR(14));
// Learning status curve compensation speed range 6 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 6 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_6_WERT", STAT_KURVENKOMPENSATION_6_WERT, "\"%\"");
unsigned char STAT_KURVENKOMPENSATION_7_WERT = (RXBUF_UCHAR(15));
// Learning status curve compensation speed range 7 (100% = fully learned) / Lernstatus Kurvenkompensation
// Geschwindigkeitsbereich 7 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_KURVENKOMPENSATION_7_WERT", STAT_KURVENKOMPENSATION_7_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_0_WERT = (RXBUF_UCHAR(16));
// Learning status torque compensation torque range 0 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 0 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_0_WERT", STAT_MOMENTENKOMPENSATION_0_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_1_WERT = (RXBUF_UCHAR(17));
// Learning status torque compensation torque range 1 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 1 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_1_WERT", STAT_MOMENTENKOMPENSATION_1_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_2_WERT = (RXBUF_UCHAR(18));
// Learning status torque compensation torque range 2 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 2 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_2_WERT", STAT_MOMENTENKOMPENSATION_2_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_3_WERT = (RXBUF_UCHAR(19));
// Learning status torque compensation torque range 3 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 3 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_3_WERT", STAT_MOMENTENKOMPENSATION_3_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_4_WERT = (RXBUF_UCHAR(20));
// Learning status torque compensation torque range 4 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 4 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_4_WERT", STAT_MOMENTENKOMPENSATION_4_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_5_WERT = (RXBUF_UCHAR(21));
// Learning status torque compensation torque range 5 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 5 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_5_WERT", STAT_MOMENTENKOMPENSATION_5_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_6_WERT = (RXBUF_UCHAR(22));
// Learning status torque compensation torque range 6 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 6 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_6_WERT", STAT_MOMENTENKOMPENSATION_6_WERT, "\"%\"");
unsigned char STAT_MOMENTENKOMPENSATION_7_WERT = (RXBUF_UCHAR(23));
// Learning status torque compensation torque range 7 (100% = fully learned) / Lernstatus Momentenkompensation
// Momentenbereich 7 (100 % = vollständig eingelernt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RPA_LERNDATEN_STD", "STAT_MOMENTENKOMPENSATION_7_WERT", STAT_MOMENTENKOMPENSATION_7_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_DSC_BREMSLICHTSCHALTER: { // 0xDC1E
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_DSC_BREMSLICHTSCHALTER", 1);
break;
}
unsigned char STAT_SCHALTER_BREMSLICHT_EIN = (RXBUF_UCHAR(0));
// Read out brake light switch 1 = on (lights up); 0 = off / Auslesen Bremslichtschalter 1= ein (leuchtet); 0=
// aus
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "DSC_BREMSLICHTSCHALTER", "STAT_SCHALTER_BREMSLICHT_EIN", STAT_SCHALTER_BREMSLICHT_EIN, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_BREMSFLUESSIGKEITSSCHALTER: { // 0xDC1F
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_BREMSFLUESSIGKEITSSCHALTER", 1);
break;
}
unsigned char STAT_BREMSFLUESSIGKEIT_NIVEAU_SCHALTER_EIN = (RXBUF_UCHAR(0));
// Reading level of brake fluid 1 = brake fluid available; 0 = brake fluid empty or interruption / Auslesen
// Niveau Bremsflüssigkeit 1 = Bremsflüssigkeit vorhanden; 0 = Bremsflüssigkeit leer oder Unterbrechung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "BREMSFLUESSIGKEITSSCHALTER", "STAT_BREMSFLUESSIGKEIT_NIVEAU_SCHALTER_EIN", STAT_BREMSFLUESSIGKEIT_NIVEAU_SCHALTER_EIN, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_GBRPLUS: { // 0xDC3A
if (datalen < 10) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_GBRPLUS", 10);
break;
}
float STAT_FAKTORU_EPS_WERT = (RXBUF_UCHAR(0)/100.0f);
// Factor by which the GBR influences the steering assistance of the EPS / Faktor, über den die GBR die
// Lenkunterstützung der EPS beeinflusst
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_GBRPLUS", "STAT_FAKTORU_EPS_WERT", STAT_FAKTORU_EPS_WERT, "");
float STAT_FAKTORARD_EPS_WERT = (RXBUF_UCHAR(1)/100.0f);
// Factor by which the GBR influences the damping of the EPS / Faktor, über den die GBR die Dämpfung der EPS
// beinflusst
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_GBRPLUS", "STAT_FAKTORARD_EPS_WERT", STAT_FAKTORARD_EPS_WERT, "");
float STAT_FAKTORARZ_EPS_WERT = (RXBUF_UCHAR(2)/100.0f);
// Factor by which the GBR influences the active return of the EPS / Faktor, über den die GBR den aktiven
// Rücklauf der EPS beeinflusst
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_GBRPLUS", "STAT_FAKTORARZ_EPS_WERT", STAT_FAKTORARZ_EPS_WERT, "");
float STAT_MMOTOR_OFFSET_EPS_WERT_0XDC3A = (RXBUF_SCHAR(3)/100.0f);
// Offset motor torque, which the EPS additively superimposes on its own motor torque / Offset-Motormoment, das
// die EPS dem eigenen Motormoment additiv überlagert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_GBRPLUS", "STAT_MMOTOR_OFFSET_EPS_WERT_0XDC3A", STAT_MMOTOR_OFFSET_EPS_WERT_0XDC3A, "");
unsigned char STAT_FAKTOR_EPS_QUALIFIER_WERT = (RXBUF_UCHAR(4));
// Target value qualifier for the 3 factors (2 = implement, 14 = do not implement) / Sollwert-Qualifier zu den 3
// Faktoren (2 = umsetzen, 14 = nicht umsetzen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_GBRPLUS", "STAT_FAKTOR_EPS_QUALIFIER_WERT", STAT_FAKTOR_EPS_QUALIFIER_WERT, "");
unsigned char STAT_OFFSET_EPS_QUALIFIER_WERT_0XDC3A = (RXBUF_UCHAR(5));
// Setpoint qualifier for offset motor torque (2 = implement; 14 = do not implement) / Sollwert-Qualifier zum
// OffsetMotormoment (2 = umsetzen; 14 = nicht umsetzen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_GBRPLUS", "STAT_OFFSET_EPS_QUALIFIER_WERT_0XDC3A", STAT_OFFSET_EPS_QUALIFIER_WERT_0XDC3A, "");
unsigned char STAT_FUNKTION_GBR_CODIERUNG_EIN = (RXBUF_UCHAR(6));
// GBR function (1 = coded in; 0 = coded out) / GBR-Funktion (1 = eincodiert; 0 = auscodiert)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_GBRPLUS", "STAT_FUNKTION_GBR_CODIERUNG_EIN", STAT_FUNKTION_GBR_CODIERUNG_EIN, "\"0/1\"");
unsigned char STAT_FUNKTION_GBR_KENNLINIE_NUMMER_WERT_0XDC3A = (RXBUF_UCHAR(7));
// active GBR characteristic set / aktiver GBR Kennliniensatz
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_GBRPLUS", "STAT_FUNKTION_GBR_KENNLINIE_NUMMER_WERT_0XDC3A", STAT_FUNKTION_GBR_KENNLINIE_NUMMER_WERT_0XDC3A, "");
unsigned char STAT_EPS_FAKT_MOM_SERVICE_QUALIFIER_WERT_0XDC3A = (RXBUF_UCHAR(8));
// Service qualifier of the EPS for the implementation of the factors and the offset motor torque (everything OK
// if 32 or 33) / Service-Qualifier der EPS für Umsetzung der Faktoren und des Offset-Motormoments (alles i.O
// wenn 32 od 33)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_GBRPLUS", "STAT_EPS_FAKT_MOM_SERVICE_QUALIFIER_WERT_0XDC3A", STAT_EPS_FAKT_MOM_SERVICE_QUALIFIER_WERT_0XDC3A, "");
unsigned char STAT_ZUSTAND_GRENZBEREICHSREUCKMELDUNG_WERT = (RXBUF_UCHAR(9));
// Actual state of the GBR function (depending on the qualifiers of the inputs) / Ist-Zustand der GBR-Funktion
// (abhängig von Qualifiern der Eingänge)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_GBRPLUS", "STAT_ZUSTAND_GRENZBEREICHSREUCKMELDUNG_WERT", STAT_ZUSTAND_GRENZBEREICHSREUCKMELDUNG_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_LLP: { // 0xDC42
if (datalen < 34) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_LLP", 34);
break;
}
unsigned char STAT_LLP_MANI_AKTIV = (RXBUF_UCHAR(0));
// Manual intervention (0 = not active; 1 = active) / Manueller Eingriff (0= nicht aktiv; 1 = aktiv)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_MANI_AKTIV", STAT_LLP_MANI_AKTIV, "\"0/1\"");
float STAT_LLP_MANI_WERT = (RXBUF_SCHAR(1)/10.0f);
// Manual value / Manueller Wert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_LLP", "STAT_LLP_MANI_WERT", STAT_LLP_MANI_WERT, "\"kW\"");
float STAT_LLP_CALC_WERT = (RXBUF_SCHAR(2)/10.0f);
// Calculated value / Berechneter Wert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_LLP", "STAT_LLP_CALC_WERT", STAT_LLP_CALC_WERT, "\"kW\"");
float STAT_LLP_PEL_IST_WERT = (RXBUF_SCHAR(3)/10.0f);
// Measured value / Gemessener Wert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_LLP", "STAT_LLP_PEL_IST_WERT", STAT_LLP_PEL_IST_WERT, "\"kW\"");
short STAT_LLP_FZS_WERT = (RXBUF_SINT(4));
// Power rack / Kraft Zahnstange
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FZS_WERT", STAT_LLP_FZS_WERT, "\"N\"");
short STAT_LLP_RITZELWINKEL_WERT = (RXBUF_SINT(6));
// Pinion angle / Ritzelwinkel
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_LLP", "STAT_LLP_RITZELWINKEL_WERT", STAT_LLP_RITZELWINKEL_WERT, "\"°\"");
char STAT_LLP_ANTEIL_HUB_WERT = (RXBUF_SCHAR(8));
// Standardized rack stroke / Normierter Zahnstangenhub
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_ANTEIL_HUB_WERT", STAT_LLP_ANTEIL_HUB_WERT, "\"%\"");
float STAT_LLP_V_ZS_WERT = (RXBUF_SINT(9)/1000.0f);
// Speed rack / Geschwindigkeit Zahnstange
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_LLP", "STAT_LLP_V_ZS_WERT", STAT_LLP_V_ZS_WERT, "\"m/s\"");
float STAT_LLP_FAHRERHANDMOMENT_WERT = (RXBUF_SINT(11)/100.0f);
// Torque steering wheel (driver) / Drehmoment Lenkrad (Fahrer)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FAHRERHANDMOMENT_WERT", STAT_LLP_FAHRERHANDMOMENT_WERT, "\"Nm\"");
unsigned char STAT_LLP_VX_ENTRY = (RXBUF_UCHAR(13));
// Incorrect speed / Geschwindigkeit fehlerhaft
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_VX_ENTRY", STAT_LLP_VX_ENTRY, "\"0/1\"");
unsigned char STAT_LLP_AX_KORR = (RXBUF_UCHAR(14));
// Longitudinal acceleration incorrect / Längsbeschleunigung fehlerhaft
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_AX_KORR", STAT_LLP_AX_KORR, "\"0/1\"");
unsigned char STAT_LLP_RETURN = (RXBUF_UCHAR(15));
// Turn recognized / Wenden erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_RETURN", STAT_LLP_RETURN, "\"0/1\"");
unsigned char STAT_LLP_STOP = (RXBUF_UCHAR(16));
// Parking detected / Parken erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_STOP", STAT_LLP_STOP, "\"0/1\"");
unsigned char STAT_LLP_EXTRAP_PEL = (RXBUF_UCHAR(17));
// Electric power extrapolated / Elektrische Leistung extrapoliert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_EXTRAP_PEL", STAT_LLP_EXTRAP_PEL, "\"0/1\"");
unsigned char STAT_LLP_EXTRAP_FZS = (RXBUF_UCHAR(18));
// Force rack extrapolated / Kraft Zahnstange extrapoliert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_EXTRAP_FZS", STAT_LLP_EXTRAP_FZS, "\"0/1\"");
unsigned char STAT_LLP_FZSREDUC_BRAKE = (RXBUF_UCHAR(19));
// Front axle unbraked / Vorderachse entbremst
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FZSREDUC_BRAKE", STAT_LLP_FZSREDUC_BRAKE, "\"0/1\"");
unsigned char STAT_LLP_PMA = (RXBUF_UCHAR(20));
// Parking maneuvering assistant recognized / Parkenmanöverassistent erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_PMA", STAT_LLP_PMA, "\"0/1\"");
unsigned char STAT_LLP_PDC = (RXBUF_UCHAR(21));
// Park Distance Control detected / Park Distance Control erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_PDC", STAT_LLP_PDC, "\"0/1\"");
unsigned char STAT_LLP_TEMP_A = (RXBUF_UCHAR(22));
// Outside temperature detected / Außentemperatur erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_TEMP_A", STAT_LLP_TEMP_A, "\"0/1\"");
unsigned char STAT_LLP_RAIN = (RXBUF_UCHAR(23));
// Rain recognized / Regen erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_RAIN", STAT_LLP_RAIN, "\"0/1\"");
unsigned char STAT_LLP_FLAG_AX = (RXBUF_UCHAR(24));
// Longitudinal acceleration active / Längsbeschleunigung aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_AX", STAT_LLP_FLAG_AX, "\"0/1\"");
unsigned char STAT_LLP_FLAG_STOP = (RXBUF_UCHAR(25));
// Parking active / Parken aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_STOP", STAT_LLP_FLAG_STOP, "\"0/1\"");
unsigned char STAT_LLP_FLAG_RAIN = (RXBUF_UCHAR(26));
// Rain active / Regen aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_RAIN", STAT_LLP_FLAG_RAIN, "\"0/1\"");
unsigned char STAT_LLP_FLAG_PMA = (RXBUF_UCHAR(27));
// Parking maneuver assistant active / Parkenmanöverassistent aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_PMA", STAT_LLP_FLAG_PMA, "\"0/1\"");
unsigned char STAT_LLP_FLAG_PDC = (RXBUF_UCHAR(28));
// Park Distance Control active / Park Distance Control aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_PDC", STAT_LLP_FLAG_PDC, "\"0/1\"");
unsigned char STAT_LLP_FLAG_RETURN = (RXBUF_UCHAR(29));
// Active turning / Wenden aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_RETURN", STAT_LLP_FLAG_RETURN, "\"0/1\"");
unsigned char STAT_LLP_FLAG_TEMP_A = (RXBUF_UCHAR(30));
// Outside temperature active / Außentemperatur aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_TEMP_A", STAT_LLP_FLAG_TEMP_A, "\"0/1\"");
unsigned char STAT_LLP_FLAG_EXTRAP_FZS = (RXBUF_UCHAR(31));
// Power rack active / Kraft Zahnstange aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_EXTRAP_FZS", STAT_LLP_FLAG_EXTRAP_FZS, "\"0/1\"");
unsigned char STAT_LLP_FLAG_EXTRAP_PEL = (RXBUF_UCHAR(32));
// Electric power active / Elektrische Leistung aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_EXTRAP_PEL", STAT_LLP_FLAG_EXTRAP_PEL, "\"0/1\"");
unsigned char STAT_LLP_FLAG_FZSREDUC_BRAKE = (RXBUF_UCHAR(33));
// Front axle active / Vorderachse aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_LLP", "STAT_LLP_FLAG_FZSREDUC_BRAKE", STAT_LLP_FLAG_FZSREDUC_BRAKE, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_ABS_FUNKTION: { // 0xDC6C
if (datalen < 3) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_ABS_FUNKTION", 3);
break;
}
unsigned char STAT_ABS_FUNKTION = (RXBUF_UCHAR(0));
// Status of the anti-lock braking system (ABS) function / Status Funktion Antiblockiersystem (ABS)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ABS_FUNKTION", "STAT_ABS_FUNKTION", STAT_ABS_FUNKTION, "\"0-n\"");
unsigned char STAT_ABS_FUNKTION_QUALIFIER_WERT = (RXBUF_UCHAR(1));
// Basic qualifier function anti-lock braking system (ABS) / Basis Qualifier Funktion Antiblockiersystem (ABS)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ABS_FUNKTION", "STAT_ABS_FUNKTION_QUALIFIER_WERT", STAT_ABS_FUNKTION_QUALIFIER_WERT, "\"HEX\"");
unsigned char STAT_ABS_FUNKTION_QUALIFIER_ERW_WERT = (RXBUF_UCHAR(2));
// Extended qualifier function anti-lock braking system (ABS) / Erweiterter Qualifier Funktion Antiblockiersystem
// (ABS)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ABS_FUNKTION", "STAT_ABS_FUNKTION_QUALIFIER_ERW_WERT", STAT_ABS_FUNKTION_QUALIFIER_ERW_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_ASC_FUNKTION: { // 0xDC6D
if (datalen < 3) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_ASC_FUNKTION", 3);
break;
}
unsigned char STAT_ASC_FUNKTION = (RXBUF_UCHAR(0));
// Status function traction control (ASC) / Status Funktion Antriebsschlupfregelung (ASC)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ASC_FUNKTION", "STAT_ASC_FUNKTION", STAT_ASC_FUNKTION, "\"0-n\"");
unsigned char STAT_ASC_FUNKTION_QUALIFIER_WERT = (RXBUF_UCHAR(1));
// Basic qualifier function traction control (ASC) / Basis Qualifier Funktion Antriebsschlupfregelung (ASC)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ASC_FUNKTION", "STAT_ASC_FUNKTION_QUALIFIER_WERT", STAT_ASC_FUNKTION_QUALIFIER_WERT, "\"HEX\"");
unsigned char STAT_ASC_FUNKTION_QUALIFIER_ERW_WERT = (RXBUF_UCHAR(2));
// Extended qualifier function traction control (ASC) / Erweiterter Qualifier Funktion Antriebsschlupfregelung
// (ASC)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ASC_FUNKTION", "STAT_ASC_FUNKTION_QUALIFIER_ERW_WERT", STAT_ASC_FUNKTION_QUALIFIER_ERW_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FDR_FUNKTION: { // 0xDC6E
if (datalen < 3) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FDR_FUNKTION", 3);
break;
}
unsigned char STAT_FDR_FUNKTION = (RXBUF_UCHAR(0));
// Status of the vehicle stabilization function (FDR) / Status Funktion Fahrzeugstabilisierung (FDR)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "FDR_FUNKTION", "STAT_FDR_FUNKTION", STAT_FDR_FUNKTION, "\"0-n\"");
unsigned char STAT_FDR_FUNKTION_QUALIFIER_WERT = (RXBUF_UCHAR(1));
// Basic qualifier function vehicle stabilization (FDR) / Basis Qualifier Funktion Fahrzeugstabilisierung (FDR)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "FDR_FUNKTION", "STAT_FDR_FUNKTION_QUALIFIER_WERT", STAT_FDR_FUNKTION_QUALIFIER_WERT, "\"HEX\"");
unsigned char STAT_FDR_FUNKTION_QUALIFIER_ERW_WERT = (RXBUF_UCHAR(2));
// Extended qualifier function vehicle stabilization (FDR) / Erweiterter Qualifier Funktion
// Fahrzeugstabilisierung (FDR)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "FDR_FUNKTION", "STAT_FDR_FUNKTION_QUALIFIER_ERW_WERT", STAT_FDR_FUNKTION_QUALIFIER_ERW_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_PBRK_FUNKTION: { // 0xDC6F
if (datalen < 3) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_PBRK_FUNKTION", 3);
break;
}
unsigned char STAT_PBRK_FUNKTION = (RXBUF_UCHAR(0));
// Status parking brake function (PBRK) / Status Funktion Parkbremse (PBRK)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "PBRK_FUNKTION", "STAT_PBRK_FUNKTION", STAT_PBRK_FUNKTION, "\"0-n\"");
unsigned char STAT_PBRK_FUNKTION_QUALIFIER_WERT = (RXBUF_UCHAR(1));
// Basic qualifier function parking brake (PBRK) / Basis Qualifier Funktion Parkbremse (PBRK)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "PBRK_FUNKTION", "STAT_PBRK_FUNKTION_QUALIFIER_WERT", STAT_PBRK_FUNKTION_QUALIFIER_WERT, "\"HEX\"");
unsigned char STAT_PBRK_FUNKTION_QUALIFIER_ERW_WERT = (RXBUF_UCHAR(2));
// Extended qualifier function parking brake (PBRK) / Erweiterter Qualifier Funktion Parkbremse (PBRK)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "PBRK_FUNKTION", "STAT_PBRK_FUNKTION_QUALIFIER_ERW_WERT", STAT_PBRK_FUNKTION_QUALIFIER_ERW_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_HDC_FUNKTION: { // 0xDC70
if (datalen < 3) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_HDC_FUNKTION", 3);
break;
}
unsigned char STAT_HDC_FUNKTION = (RXBUF_UCHAR(0));
// Status function hill descent assistant (HDC) / Status Funktion Bergabfahrassistent (HDC)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "HDC_FUNKTION", "STAT_HDC_FUNKTION", STAT_HDC_FUNKTION, "\"0-n\"");
unsigned char STAT_HDC_FUNKTION_QUALIFIER_WERT = (RXBUF_UCHAR(1));
// Basic qualifier function hill descent assistant (HDC) / Basis Qualifier Funktion Bergabfahrassistent (HDC)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "HDC_FUNKTION", "STAT_HDC_FUNKTION_QUALIFIER_WERT", STAT_HDC_FUNKTION_QUALIFIER_WERT, "\"HEX\"");
unsigned char STAT_HDC_FUNKTION_QUALIFIER_ERW_WERT = (RXBUF_UCHAR(2));
// Extended qualifier function Hill Descent Assistant (HDC) / Erweiterter Qualifier Funktion Bergabfahrassistent
// (HDC)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "HDC_FUNKTION", "STAT_HDC_FUNKTION_QUALIFIER_ERW_WERT", STAT_HDC_FUNKTION_QUALIFIER_ERW_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_MIRROR_AAEPS: { // 0xDC8F
if (datalen < 0) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_MIRROR_AAEPS", 0);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_MIRROR_EV: { // 0xDC90
if (datalen < 0) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_MIRROR_EV", 0);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_MIRROR_SBS: { // 0xDC91
if (datalen < 0) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_MIRROR_SBS", 0);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_MIRROR_TSC: { // 0xDC92
if (datalen < 0) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_MIRROR_TSC", 0);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_MIRROR_ZFM: { // 0xDC93
if (datalen < 0) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_MIRROR_ZFM", 0);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_RDC_VERSION: { // 0xDC94
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_RDC_VERSION", 2);
break;
}
unsigned short STAT_RDC_VERSION_WERT = (RXBUF_UINT(0));
// Displays the current software version of the RDC. / Zeigt die aktuelle Softwareversion vom RDC an.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_RDC_VERSION", "STAT_RDC_VERSION_WERT", STAT_RDC_VERSION_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_RDC_LESEN: { // 0xDC95
if (datalen < 25) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_RDC_LESEN", 25);
break;
}
unsigned char STAT_EIGENRAEDER_BEKANNT = (RXBUF_UCHAR(0));
// All eigenwheels are known: 0 = not known; 1 = known / Alle Eigenraeder sind bekannt: 0 = nicht bekannt; 1 =
// bekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_EIGENRAEDER_BEKANNT", STAT_EIGENRAEDER_BEKANNT, "\"0-n\"");
unsigned char STAT_RADPOS_ER_BEKANNT = (RXBUF_UCHAR(1));
// The wheel positions of all own wheels are known: 0 = not known; 1 = known / Radpositionen aller Eigenraeder
// sind bekannt: 0 = nicht bekannt; 1 = bekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_RADPOS_ER_BEKANNT", STAT_RADPOS_ER_BEKANNT, "\"0-n\"");
unsigned char STAT_RADPOS_UEBERPRUEFT_BESTAETIGT = (RXBUF_UCHAR(2));
// All wheel positions are checked and confirmed: 0 = not confirmed; 1 = confirmed / Alle Radpositionen sind
// ueberprueft und bestaetigt: 0 = nicht bestätigt; 1 = bestätigt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_RADPOS_UEBERPRUEFT_BESTAETIGT", STAT_RADPOS_UEBERPRUEFT_BESTAETIGT, "\"0-n\"");
unsigned char STAT_DTC_INACTIVE = (RXBUF_UCHAR(3));
// Active DTC error with warning lamp in the error memory: 0 = DTC inactive; 1 = DTC active / Aktiver DTC Fehler
// mit Warnlampe im Fehlerspeicher vorhanden: 0 = DTC inaktiv; 1 = DTC aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_DTC_INACTIVE", STAT_DTC_INACTIVE, "\"0-n\"");
unsigned char STAT_KAL_ANFORDERUNG_AKTIV = (RXBUF_UCHAR(4));
// Calibration request pending: 0 = calibration request inactive; 1 = calibration request active /
// Kalibrieranforderung steht an: 0 = Kalibrieranforderung inaktiv; 1 = Kalibrieranforderung aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_KAL_ANFORDERUNG_AKTIV", STAT_KAL_ANFORDERUNG_AKTIV, "\"0-n\"");
unsigned char STAT_RAD_ZUORDNUNG_TIMEOUT = (RXBUF_UCHAR(5));
// Wheel assignment could not be completed: 0 = no timeout; 1 = timeout / Radzuordnung konnte nicht abgeschlossen
// werden: 0 = kein Timeout; 1 = Timeout
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_RAD_ZUORDNUNG_TIMEOUT", STAT_RAD_ZUORDNUNG_TIMEOUT, "\"0-n\"");
unsigned char STAT_BANDMODE_AKTIV = (RXBUF_UCHAR(6));
// Query whether belt mode is activated in the RDC: 0 = belt mode inactive; 1 = band mode active / Abfrage ob
// Bandmode im RDC aktiviert ist: 0 = Bandmode inaktiv ; 1 = Bandmode aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_BANDMODE_AKTIV", STAT_BANDMODE_AKTIV, "\"0-n\"");
unsigned char STAT_ER_ERKENNUNG_FAHRT = (RXBUF_UCHAR(7));
// Own wheel recognition was started while driving: 0 = not started 1 = started / Eigenraderkennung waehrend der
// Fahrt wurde gestartet: 0 = nicht gestartet 1 = gestartet
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_ER_ERKENNUNG_FAHRT", STAT_ER_ERKENNUNG_FAHRT, "\"0-n\"");
unsigned char STAT_TEST_EIGENRAD_FAHRT = (RXBUF_UCHAR(8));
// Test own wheel detection while driving was started: 0 = not started, 1 = started / Test-Eigenraderkennung in
// Fahrt wurde gestartet: 0 = nicht gestartet , 1 = gestartet
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_TEST_EIGENRAD_FAHRT", STAT_TEST_EIGENRAD_FAHRT, "\"0-n\"");
unsigned char STAT_TEST_EIGENRAD_STAND = (RXBUF_UCHAR(9));
// Test own wheel recognition was started while stationary: 0 = not started, 1 = started / Test-Eigenraderkennung
// im Stand wurde gestartet: 0 = nicht gestartet, 1 = gestartet
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_TEST_EIGENRAD_STAND", STAT_TEST_EIGENRAD_STAND, "\"0-n\"");
unsigned char STAT_ER_FAHRT_VTHRS_AKTIV = (RXBUF_UCHAR(10));
// Speed threshold for own wheel recognition activated when driving: 0 = inactive, 1 = active /
// Geschwindigkeitsschwelle fuer Eigenraderkennung bei Fahrt aktiviert : 0 = inaktiv , 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_ER_FAHRT_VTHRS_AKTIV", STAT_ER_FAHRT_VTHRS_AKTIV, "\"0-n\"");
unsigned char STAT_BM_TIMEOUT_ACTIVE = (RXBUF_UCHAR(11));
// Belt mode timeout is running: 0 = inactive, 1 = active / Bandmode Timeout laeuft : 0 = inaktiv , 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_BM_TIMEOUT_ACTIVE", STAT_BM_TIMEOUT_ACTIVE, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_UNSPEZIFISCH_AKTIV = (RXBUF_UCHAR(12));
// Hard warning unspecific, active: 0 = inactive; 1 = active / Harte Warnung unspezifisch, aktiv: 0 = inaktiv ; 1
// = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_HARTE_WARNUNG_UNSPEZIFISCH_AKTIV", STAT_HARTE_WARNUNG_UNSPEZIFISCH_AKTIV, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_VL_AKTIV = (RXBUF_UCHAR(13));
// Hard warning front left, active: 0 = inactive; 1 = active / Harte Warnung vorne links, aktiv: 0 = inaktiv ; 1
// = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_HARTE_WARNUNG_VL_AKTIV", STAT_HARTE_WARNUNG_VL_AKTIV, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_VR_AKTIV = (RXBUF_UCHAR(14));
// Hard warning front right, active: 0 = inactive; 1 = active / Harte Warnung vorne rechts, aktiv: 0 = inaktiv ;
// 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_HARTE_WARNUNG_VR_AKTIV", STAT_HARTE_WARNUNG_VR_AKTIV, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_HL_AKTIV = (RXBUF_UCHAR(15));
// Hard rear left warning, active: 0 = inactive; 1 = active / Harte Warnung hinten links, aktiv: 0 = inaktiv ; 1
// = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_HARTE_WARNUNG_HL_AKTIV", STAT_HARTE_WARNUNG_HL_AKTIV, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_HR_AKTIV = (RXBUF_UCHAR(16));
// Hard rear right warning, active: 0 = inactive; 1 = active / Harte Warnung hinten rechts, aktiv: 0 = inaktiv ;
// 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_HARTE_WARNUNG_HR_AKTIV", STAT_HARTE_WARNUNG_HR_AKTIV, "\"0-n\"");
unsigned char STAT_KL_15_EIN = (RXBUF_UCHAR(17));
// Terminal 15 ON: 0 = OFF, 1 = ON / Klemme 15 EIN : 0 = AUS, 1 = EIN
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_KL_15_EIN", STAT_KL_15_EIN, "\"0-n\"");
unsigned char STAT_MOTOR_LAEUFT_EIN = (RXBUF_UCHAR(18));
// Engine running: 0 = off; 1 = ON / Motor läuft : 0 = Aus ; 1 = EIN
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_MOTOR_LAEUFT_EIN", STAT_MOTOR_LAEUFT_EIN, "\"0-n\"");
unsigned char STAT_FZG_FAEHRT = (RXBUF_UCHAR(19));
// Signal vehicle is moving: 0 = stationary, 1 = moving / Signal Fahrzeug fährt : 0 = steht , 1 = fährt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_FZG_FAEHRT", STAT_FZG_FAEHRT, "\"0-n\"");
unsigned char STAT_ERKENNUNG_ALLE_RE = (RXBUF_UCHAR(20));
// All wheel electronics recognized: 0 = not recognized 1 = recognized / Alle Radelektroniken erkannt : 0 = nicht
// erkannt 1 = erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_ERKENNUNG_ALLE_RE", STAT_ERKENNUNG_ALLE_RE, "\"0-n\"");
unsigned char STAT_ERKENNUNG_ZUVIELE_RE = (RXBUF_UCHAR(21));
// Too many wheel electronics recognized: 0 = not recognized, 1 = recognized / Zu viele Radelektroniken erkannt :
// 0 = nicht erkannt , 1 = erkannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_ERKENNUNG_ZUVIELE_RE", STAT_ERKENNUNG_ZUVIELE_RE, "\"0-n\"");
unsigned char STAT_STOERSENDER = (RXBUF_UCHAR(22));
// Radio interference present: 0 = inactive, 1 = active / Funkstoerung vorhanden : 0 = inaktiv , 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_STOERSENDER", STAT_STOERSENDER, "\"0-n\"");
unsigned short STAT_FREQUENZ_WERT = (RXBUF_UINT(23));
// Returns the current RF frequency. The frequency depends on the coding. (315 or 433). Specification in MHz /
// Gibt die aktuelle RF-Frequenz zurück. Die Frequenz ist abhaengig von der Codierung. (315 oder 433). Angabe in
// MHz
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_RDC_LESEN", "STAT_FREQUENZ_WERT", STAT_FREQUENZ_WERT, "\"MHz\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_INAKTIVEREIGNIS: { // 0xDC96
if (datalen < 87) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_INAKTIVEREIGNIS", 87);
break;
}
long STAT_1_KILOMETERSTAND_WERT = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_1_KILOMETERSTAND_WERT", STAT_1_KILOMETERSTAND_WERT, "\"km\"");
unsigned long STAT_1_SYSTEMFLAGS_WERT = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_1_SYSTEMFLAGS_WERT", STAT_1_SYSTEMFLAGS_WERT, "\"HEX\"");
unsigned short STAT_1_INTERNER_FEHLERCODE_WERT = (RXBUF_UINT(26));
// SG internal error code / SG-interner Fehlercode
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_1_INTERNER_FEHLERCODE_WERT", STAT_1_INTERNER_FEHLERCODE_WERT, "\"HEX\"");
unsigned char STAT_1_ZAEHLER_INAKTIV = (RXBUF_UCHAR(28));
// Counter for inactive events / Zähler für Inaktiv-Ereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_1_ZAEHLER_INAKTIV", STAT_1_ZAEHLER_INAKTIV, "\"0-n\"");
long STAT_2_KILOMETERSTAND_WERT = (RXBUF_SINT32(47));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_2_KILOMETERSTAND_WERT", STAT_2_KILOMETERSTAND_WERT, "\"km\"");
unsigned long STAT_2_SYSTEMFLAGS_WERT = (RXBUF_UINT32(51));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_2_SYSTEMFLAGS_WERT", STAT_2_SYSTEMFLAGS_WERT, "\"HEX\"");
unsigned short STAT_2_INTERNER_FEHLERCODE_WERT = (RXBUF_UINT(55));
// SG internal error code / SG-interner Fehlercode
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_2_INTERNER_FEHLERCODE_WERT", STAT_2_INTERNER_FEHLERCODE_WERT, "\"HEX\"");
unsigned char STAT_2_ZAEHLER_INAKTIV = (RXBUF_UCHAR(57));
// Counter for inactive events / Zähler für Inaktiv-Ereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_2_ZAEHLER_INAKTIV", STAT_2_ZAEHLER_INAKTIV, "\"0-n\"");
long STAT_3_KILOMETERSTAND_WERT = (RXBUF_SINT32(76));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_3_KILOMETERSTAND_WERT", STAT_3_KILOMETERSTAND_WERT, "\"km\"");
unsigned long STAT_3_SYSTEMFLAGS_WERT = (RXBUF_UINT32(80));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_3_SYSTEMFLAGS_WERT", STAT_3_SYSTEMFLAGS_WERT, "\"HEX\"");
unsigned short STAT_3_INTERNER_FEHLERCODE_WERT = (RXBUF_UINT(84));
// SG internal error code / SG-interner Fehlercode
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_3_INTERNER_FEHLERCODE_WERT", STAT_3_INTERNER_FEHLERCODE_WERT, "\"HEX\"");
unsigned char STAT_3_ZAEHLER_INAKTIV = (RXBUF_UCHAR(86));
// Counter for inactive events / Zähler für Inaktiv-Ereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_INAKTIVEREIGNIS", "STAT_3_ZAEHLER_INAKTIV", STAT_3_ZAEHLER_INAKTIV, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_KALIBRIEREREIGNIS: { // 0xDC97
if (datalen < 144) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_KALIBRIEREREIGNIS", 144);
break;
}
unsigned char STAT_1_PLAUSI_DRUCK = (RXBUF_UCHAR(0));
// Filled pressures passed yes or no / Eingefüllte Drücke bestanden ja oder nein
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_PLAUSI_DRUCK", STAT_1_PLAUSI_DRUCK, "\"0-n\"");
unsigned char STAT_1_KALIBRIERUNG = (RXBUF_UCHAR(1));
// Status byte about success / failure of calibration / Statusbyte über Erfolg- Misserfolg der Kalibrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_KALIBRIERUNG", STAT_1_KALIBRIERUNG, "\"0-n\"");
long STAT_1_KILOMETERSTAND_WERT_0XDC97 = (RXBUF_SINT32(20));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_KILOMETERSTAND_WERT_0XDC97", STAT_1_KILOMETERSTAND_WERT_0XDC97, "\"km\"");
unsigned long STAT_1_SYSTEMFLAGS_WERT_0XDC97 = (RXBUF_UINT32(24));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_SYSTEMFLAGS_WERT_0XDC97", STAT_1_SYSTEMFLAGS_WERT_0XDC97, "\"HEX\"");
char STAT_1_BEFUELL_AUSSENTEMPERATUR_WERT = (RXBUF_SCHAR(28));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELL_AUSSENTEMPERATUR_WERT", STAT_1_BEFUELL_AUSSENTEMPERATUR_WERT, "\"°\"");
float STAT_1_BEFUELL_AUSSENDRUCK_WERT = (RXBUF_SINT(29)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELL_AUSSENDRUCK_WERT", STAT_1_BEFUELL_AUSSENDRUCK_WERT, "\"bar\"");
unsigned char STAT_1_RADPOSITION_RE0 = (RXBUF_UCHAR(31));
// Wheel position wheel electronics RE0 / Radposition Radelektronik RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_RADPOSITION_RE0", STAT_1_RADPOSITION_RE0, "\"0-n\"");
float STAT_1_BEFUELLDRUCK_RE0_WERT = (RXBUF_SINT(32)/1000.0f);
// Filling pressure value wheel electronics RE0 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE0
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLDRUCK_RE0_WERT", STAT_1_BEFUELLDRUCK_RE0_WERT, "\"bar\"");
char STAT_1_BEFUELLTEMPERATUR_RE0_WERT = (RXBUF_SCHAR(34));
// Filling temperature value wheel electronics RE0 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE0
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLTEMPERATUR_RE0_WERT", STAT_1_BEFUELLTEMPERATUR_RE0_WERT, "\"°C\"");
unsigned char STAT_1_RADPOSITION_RE1 = (RXBUF_UCHAR(35));
// Wheel position wheel electronics RE1 / Radposition Radelektronik RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_RADPOSITION_RE1", STAT_1_RADPOSITION_RE1, "\"0-n\"");
float STAT_1_BEFUELLDRUCK_RE1_WERT = (RXBUF_SINT(36)/1000.0f);
// Filling pressure value wheel electronics RE1 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE1
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLDRUCK_RE1_WERT", STAT_1_BEFUELLDRUCK_RE1_WERT, "\"bar\"");
char STAT_1_BEFUELLTEMPERATUR_RE1_WERT = (RXBUF_SCHAR(38));
// Filling temperature value wheel electronics RE1 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE1
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLTEMPERATUR_RE1_WERT", STAT_1_BEFUELLTEMPERATUR_RE1_WERT, "\"°C\"");
unsigned char STAT_1_RADPOSITION_RE2 = (RXBUF_UCHAR(39));
// Wheel position wheel electronics RE2 / Radposition Radelektronik RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_RADPOSITION_RE2", STAT_1_RADPOSITION_RE2, "\"0-n\"");
float STAT_1_BEFUELLDRUCK_RE2_WERT = (RXBUF_SINT(40)/1000.0f);
// Filling pressure value wheel electronics RE2 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE2
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLDRUCK_RE2_WERT", STAT_1_BEFUELLDRUCK_RE2_WERT, "\"bar\"");
char STAT_1_BEFUELLTEMPERATUR_RE2_WERT = (RXBUF_SCHAR(42));
// Filling temperature value wheel electronics RE2 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE2
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLTEMPERATUR_RE2_WERT", STAT_1_BEFUELLTEMPERATUR_RE2_WERT, "\"°C\"");
unsigned char STAT_1_RADPOSITION_RE3 = (RXBUF_UCHAR(43));
// Wheel position wheel electronics RE3 / Radposition Radelektronik RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_RADPOSITION_RE3", STAT_1_RADPOSITION_RE3, "\"0-n\"");
float STAT_1_BEFUELLDRUCK_RE3_WERT = (RXBUF_SINT(44)/1000.0f);
// Filling pressure value wheel electronics RE3 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE3
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLDRUCK_RE3_WERT", STAT_1_BEFUELLDRUCK_RE3_WERT, "\"bar\"");
char STAT_1_BEFUELLTEMPERATUR_RE3_WERT = (RXBUF_SCHAR(46));
// Filling temperature value wheel electronics RE3 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE3
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_BEFUELLTEMPERATUR_RE3_WERT", STAT_1_BEFUELLTEMPERATUR_RE3_WERT, "\"°C\"");
unsigned char STAT_1_ZAEHLER_KALIBRIERUNG = (RXBUF_UCHAR(47));
// Calibration event counter / Zähler für Kalibrierereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_1_ZAEHLER_KALIBRIERUNG", STAT_1_ZAEHLER_KALIBRIERUNG, "\"0-n\"");
unsigned char STAT_2_PLAUSI_DRUCK = (RXBUF_UCHAR(48));
// Filled pressures passed yes or no / Eingefüllte Drücke bestanden ja oder nein
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_PLAUSI_DRUCK", STAT_2_PLAUSI_DRUCK, "\"0-n\"");
unsigned char STAT_2_KALIBRIERUNG = (RXBUF_UCHAR(49));
// Status byte about success / failure of calibration / Statusbyte über Erfolg- Misserfolg der Kalibrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_KALIBRIERUNG", STAT_2_KALIBRIERUNG, "\"0-n\"");
long STAT_2_KILOMETERSTAND_WERT_0XDC97 = (RXBUF_SINT32(68));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_KILOMETERSTAND_WERT_0XDC97", STAT_2_KILOMETERSTAND_WERT_0XDC97, "\"km\"");
unsigned long STAT_2_SYSTEMFLAGS_WERT_0XDC97 = (RXBUF_UINT32(72));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_SYSTEMFLAGS_WERT_0XDC97", STAT_2_SYSTEMFLAGS_WERT_0XDC97, "\"HEX\"");
char STAT_2_BEFUELL_AUSSENTEMPERATUR_WERT = (RXBUF_SCHAR(76));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELL_AUSSENTEMPERATUR_WERT", STAT_2_BEFUELL_AUSSENTEMPERATUR_WERT, "\"°\"");
float STAT_2_BEFUELL_AUSSENDRUCK_WERT = (RXBUF_SINT(77)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELL_AUSSENDRUCK_WERT", STAT_2_BEFUELL_AUSSENDRUCK_WERT, "\"bar\"");
unsigned char STAT_2_RADPOSITION_RE0 = (RXBUF_UCHAR(79));
// Wheel position wheel electronics RE0 / Radposition Radelektronik RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_RADPOSITION_RE0", STAT_2_RADPOSITION_RE0, "\"0-n\"");
float STAT_2_BEFUELLDRUCK_RE0_WERT = (RXBUF_SINT(80)/1000.0f);
// Filling pressure value wheel electronics RE0 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE0
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLDRUCK_RE0_WERT", STAT_2_BEFUELLDRUCK_RE0_WERT, "\"bar\"");
char STAT_2_BEFUELLTEMPERATUR_RE0_WERT = (RXBUF_SCHAR(82));
// Filling temperature value wheel electronics RE0 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE0
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLTEMPERATUR_RE0_WERT", STAT_2_BEFUELLTEMPERATUR_RE0_WERT, "\"°C\"");
unsigned char STAT_2_RADPOSITION_RE1 = (RXBUF_UCHAR(83));
// Wheel position wheel electronics RE1 / Radposition Radelektronik RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_RADPOSITION_RE1", STAT_2_RADPOSITION_RE1, "\"0-n\"");
float STAT_2_BEFUELLDRUCK_RE1_WERT = (RXBUF_SINT(84)/1000.0f);
// Filling pressure value wheel electronics RE1 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE1
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLDRUCK_RE1_WERT", STAT_2_BEFUELLDRUCK_RE1_WERT, "\"bar\"");
char STAT_2_BEFUELLTEMPERATUR_RE1_WERT = (RXBUF_SCHAR(86));
// Filling temperature value wheel electronics RE1 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE1
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLTEMPERATUR_RE1_WERT", STAT_2_BEFUELLTEMPERATUR_RE1_WERT, "\"°C\"");
unsigned char STAT_2_RADPOSITION_RE2 = (RXBUF_UCHAR(87));
// Wheel position wheel electronics RE2 / Radposition Radelektronik RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_RADPOSITION_RE2", STAT_2_RADPOSITION_RE2, "\"0-n\"");
float STAT_2_BEFUELLDRUCK_RE2_WERT = (RXBUF_SINT(88)/1000.0f);
// Filling pressure value wheel electronics RE2 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE2
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLDRUCK_RE2_WERT", STAT_2_BEFUELLDRUCK_RE2_WERT, "\"bar\"");
char STAT_2_BEFUELLTEMPERATUR_RE2_WERT = (RXBUF_SCHAR(90));
// Filling temperature value wheel electronics RE2 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE2
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLTEMPERATUR_RE2_WERT", STAT_2_BEFUELLTEMPERATUR_RE2_WERT, "\"°C\"");
unsigned char STAT_2_RADPOSITION_RE3 = (RXBUF_UCHAR(91));
// Wheel position wheel electronics RE3 / Radposition Radelektronik RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_RADPOSITION_RE3", STAT_2_RADPOSITION_RE3, "\"0-n\"");
float STAT_2_BEFUELLDRUCK_RE3_WERT = (RXBUF_SINT(92)/1000.0f);
// Filling pressure value wheel electronics RE3 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE3
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLDRUCK_RE3_WERT", STAT_2_BEFUELLDRUCK_RE3_WERT, "\"bar\"");
char STAT_2_BEFUELLTEMPERATUR_RE3_WERT = (RXBUF_SCHAR(94));
// Filling temperature value wheel electronics RE3 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE3
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_BEFUELLTEMPERATUR_RE3_WERT", STAT_2_BEFUELLTEMPERATUR_RE3_WERT, "\"°C\"");
unsigned char STAT_2_ZAEHLER_KALIBRIERUNG = (RXBUF_UCHAR(95));
// Calibration event counter / Zähler für Kalibrierereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_2_ZAEHLER_KALIBRIERUNG", STAT_2_ZAEHLER_KALIBRIERUNG, "\"0-n\"");
unsigned char STAT_3_PLAUSI_DRUCK = (RXBUF_UCHAR(96));
// Filled pressures passed yes or no / Eingefüllte Drücke bestanden ja oder nein
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_PLAUSI_DRUCK", STAT_3_PLAUSI_DRUCK, "\"0-n\"");
unsigned char STAT_3_KALIBRIERUNG = (RXBUF_UCHAR(97));
// Status byte about success / failure of calibration / Statusbyte über Erfolg- Misserfolg der Kalibrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_KALIBRIERUNG", STAT_3_KALIBRIERUNG, "\"0-n\"");
long STAT_3_KILOMETERSTAND_WERT_0XDC97 = (RXBUF_SINT32(116));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_KILOMETERSTAND_WERT_0XDC97", STAT_3_KILOMETERSTAND_WERT_0XDC97, "\"km\"");
unsigned long STAT_3_SYSTEMFLAGS_WERT_0XDC97 = (RXBUF_UINT32(120));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_SYSTEMFLAGS_WERT_0XDC97", STAT_3_SYSTEMFLAGS_WERT_0XDC97, "\"HEX\"");
char STAT_3_BEFUELL_AUSSENTEMPERATUR_WERT = (RXBUF_SCHAR(124));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELL_AUSSENTEMPERATUR_WERT", STAT_3_BEFUELL_AUSSENTEMPERATUR_WERT, "\"°\"");
float STAT_3_BEFUELL_AUSSENDRUCK_WERT = (RXBUF_SINT(125)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELL_AUSSENDRUCK_WERT", STAT_3_BEFUELL_AUSSENDRUCK_WERT, "\"bar\"");
unsigned char STAT_3_RADPOSITION_RE0 = (RXBUF_UCHAR(127));
// Wheel position wheel electronics RE0 / Radposition Radelektronik RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_RADPOSITION_RE0", STAT_3_RADPOSITION_RE0, "\"0-n\"");
float STAT_3_BEFUELLDRUCK_RE0_WERT = (RXBUF_SINT(128)/1000.0f);
// Filling pressure value wheel electronics RE0 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE0
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLDRUCK_RE0_WERT", STAT_3_BEFUELLDRUCK_RE0_WERT, "\"bar\"");
char STAT_3_BEFUELLTEMPERATUR_RE0_WERT = (RXBUF_SCHAR(130));
// Filling temperature value wheel electronics RE0 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE0
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLTEMPERATUR_RE0_WERT", STAT_3_BEFUELLTEMPERATUR_RE0_WERT, "\"°C\"");
unsigned char STAT_3_RADPOSITION_RE1 = (RXBUF_UCHAR(131));
// Wheel position wheel electronics RE1 / Radposition Radelektronik RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_RADPOSITION_RE1", STAT_3_RADPOSITION_RE1, "\"0-n\"");
float STAT_3_BEFUELLDRUCK_RE1_WERT = (RXBUF_SINT(132)/1000.0f);
// Filling pressure value wheel electronics RE1 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE1
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLDRUCK_RE1_WERT", STAT_3_BEFUELLDRUCK_RE1_WERT, "\"bar\"");
char STAT_3_BEFUELLTEMPERATUR_RE1_WERT = (RXBUF_SCHAR(134));
// Filling temperature value wheel electronics RE1 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE1
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLTEMPERATUR_RE1_WERT", STAT_3_BEFUELLTEMPERATUR_RE1_WERT, "\"°C\"");
unsigned char STAT_3_RADPOSITION_RE2 = (RXBUF_UCHAR(135));
// Wheel position wheel electronics RE2 / Radposition Radelektronik RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_RADPOSITION_RE2", STAT_3_RADPOSITION_RE2, "\"0-n\"");
float STAT_3_BEFUELLDRUCK_RE2_WERT = (RXBUF_SINT(136)/1000.0f);
// Filling pressure value wheel electronics RE2 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE2
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLDRUCK_RE2_WERT", STAT_3_BEFUELLDRUCK_RE2_WERT, "\"bar\"");
char STAT_3_BEFUELLTEMPERATUR_RE2_WERT = (RXBUF_SCHAR(138));
// Filling temperature value wheel electronics RE2 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE2
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLTEMPERATUR_RE2_WERT", STAT_3_BEFUELLTEMPERATUR_RE2_WERT, "\"°C\"");
unsigned char STAT_3_RADPOSITION_RE3 = (RXBUF_UCHAR(139));
// Wheel position wheel electronics RE3 / Radposition Radelektronik RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_RADPOSITION_RE3", STAT_3_RADPOSITION_RE3, "\"0-n\"");
float STAT_3_BEFUELLDRUCK_RE3_WERT = (RXBUF_SINT(140)/1000.0f);
// Filling pressure value wheel electronics RE3 (-9,999 bar => invalid) / Befuelldruckwert Radelektronik RE3
// (-9.999 bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLDRUCK_RE3_WERT", STAT_3_BEFUELLDRUCK_RE3_WERT, "\"bar\"");
char STAT_3_BEFUELLTEMPERATUR_RE3_WERT = (RXBUF_SCHAR(142));
// Filling temperature value wheel electronics RE3 (-99 ° C => invalid) / Befuelltemperaturwert Radelektronik RE3
// (-99 °C => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_BEFUELLTEMPERATUR_RE3_WERT", STAT_3_BEFUELLTEMPERATUR_RE3_WERT, "\"°C\"");
unsigned char STAT_3_ZAEHLER_KALIBRIERUNG = (RXBUF_UCHAR(143));
// Calibration event counter / Zähler für Kalibrierereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_KALIBRIEREREIGNIS", "STAT_3_ZAEHLER_KALIBRIERUNG", STAT_3_ZAEHLER_KALIBRIERUNG, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_MESSDATENBLOCK_1: { // 0xDC98
if (datalen < 29) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_MESSDATENBLOCK_1", 29);
break;
}
unsigned long STAT_RE_IDENTIFIER = (RXBUF_UINT32(0));
// Wheel electronics identifier / Radelektronik Identifier
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RE_IDENTIFIER", STAT_RE_IDENTIFIER, "\"0-n\"");
unsigned char STAT_RAD_POSITION_NR = (RXBUF_UCHAR(4));
// The read out wheel position of the identifier (measuring block) was assigned to the respective position by the
// SG. Position of the wheel electronics: 0 = front left, 1 = front right, 2 = rear left, 3 = rear right /
// Ausgelesene Radposition des Identifiers (Messblock) wurde vom SG der jeweiligen Position zugewiesen. Position
// der Radelektronik: 0 = vorne links, 1 = vorne rechts, 2 = hinten links, 3 = hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RAD_POSITION_NR", STAT_RAD_POSITION_NR, "\"0-n\"");
float STAT_LETZTER_REIFENDRUCKWERT_WERT = (RXBUF_SINT(5)/1000.0f);
// Last valid tire pressure value returned by the selected wheel / Letzer gültiger Reifendruckwert der vom
// ausgewählten Rad zurückgeliefert wird
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_LETZTER_REIFENDRUCKWERT_WERT", STAT_LETZTER_REIFENDRUCKWERT_WERT, "\"bar\"");
char STAT_LETZTER_REIFENTEMPERATURWERT_WERT = (RXBUF_SCHAR(7));
// Last valid tire temperature of the selected wheel / Letzte gültige Reifentemperatur des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_LETZTER_REIFENTEMPERATURWERT_WERT", STAT_LETZTER_REIFENTEMPERATURWERT_WERT, "\"°C\"");
float STAT_SOLLDRUCK_WERT = (RXBUF_SINT(8)/1000.0f);
// Predefined target pressure of the selected wheel / Vorgegebener Solldruck des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_SOLLDRUCK_WERT", STAT_SOLLDRUCK_WERT, "\"bar\"");
unsigned short STAT_GUTEMPFAENGE = (RXBUF_UINT(10));
// Number of correctly received telegrams from the selected bike / Anzahl korrekt empfangener Telegramme vom
// ausgewählten Rad
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_GUTEMPFAENGE", STAT_GUTEMPFAENGE, "\"0-n\"");
unsigned char STAT_AUSBEUTE = (RXBUF_UCHAR(12));
// Telegram yield from the selected bike in percent / Telegrammausbeute vom ausgewählten Rad in Prozent
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_AUSBEUTE", STAT_AUSBEUTE, "\"0-n\"");
unsigned short STAT_RSSI_PEGEL = (RXBUF_UINT(13));
// RSSI - level of the ID [unit: AD converter units] / RSSI - Pegel der ID [Einheit: AD Wandler-Einheiten]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RSSI_PEGEL", STAT_RSSI_PEGEL, "\"0-n\"");
unsigned short STAT_RESTLEBENSDAUER = (RXBUF_UINT(15));
// Remaining battery life on the wheel sensor in months / Verbleibende Restlebensdauer der Batterie am Radsensor
// in Monaten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RESTLEBENSDAUER", STAT_RESTLEBENSDAUER, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_STATUS = (RXBUF_UCHAR(17));
// Status message from the wheel electronics of the selected wheel. / Status Meldung der Radelektronik des
// angewählten Rads.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RADELEKTRONIK_STATUS", STAT_RADELEKTRONIK_STATUS, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_AKTIV = (RXBUF_UCHAR(18));
// Breakdown warning from the selected bike, 0 = inactive, 1 = active, FF = signal unknown / Pannen Warnung vom
// angewählten Rad, 0= Inaktiv, 1 = aktiv, FF = Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_HARTE_WARNUNG_AKTIV", STAT_HARTE_WARNUNG_AKTIV, "\"0-n\"");
unsigned char STAT_POS_CHANGED = (RXBUF_UCHAR(19));
// Wheel electronics ID of the selected wheel has changed, 0 = not changed, 1 = changed, FF = signal unknown /
// Radelektronik ID vom angewählten Rad hat sich geändert, 0 = nicht geändert, 1 = geändert, FF= Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_POS_CHANGED", STAT_POS_CHANGED, "\"0-n\"");
unsigned char STAT_RE_OVERHEAT_AKTIV = (RXBUF_UCHAR(20));
// Overheating message from the wheel electronics of the selected wheel, 0 = inactive, 1 = active, FF = signal
// unknown / Überhitzungsmeldung der Radelektronik vom angewählten Rad, 0 = Inaktiv, 1 = aktiv, FF = Signal
// unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RE_OVERHEAT_AKTIV", STAT_RE_OVERHEAT_AKTIV, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG = (RXBUF_UCHAR(21));
// Direction of rotation of the wheel 0 = standstill 1 = right 2 = left 3 = unknown 255 = not defined /
// Drehrichtung des Rades 0=Stillstand 1=rechts 2=links 3=unbekannt 255=nicht definiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_DREHRICHTUNG", STAT_DREHRICHTUNG, "\"0-n\"");
unsigned char STAT_FOLGEAUSFALL = (RXBUF_UCHAR(22));
// Number of time intervals (typically 60s) since the last telegram was received / Anzahl Zeitintervalle (typ.
// 60s) seit letztem Telegrammempfang
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_FOLGEAUSFALL", STAT_FOLGEAUSFALL, "\"0-n\"");
unsigned char STAT_RE_HERSTELLER = (RXBUF_UCHAR(23));
// RE manufacturer / RE-Hersteller
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RE_HERSTELLER", STAT_RE_HERSTELLER, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_SENDEMODE = (RXBUF_UCHAR(24));
// Transmission mode of the wheel electronics / Sendemode der Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RADELEKTRONIK_SENDEMODE", STAT_RADELEKTRONIK_SENDEMODE, "\"0-n\"");
unsigned short STAT_RADELEKTRONIK_FEHLER_WERT = (RXBUF_UINT(25));
// Error code wheel electronics / Fehlercode Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_RADELEKTRONIK_FEHLER_WERT", STAT_RADELEKTRONIK_FEHLER_WERT, "\"HEX\"");
unsigned char STAT_ROLLSWITCH = (RXBUF_UCHAR(27));
// Status Rollswitch / Status Rollswitch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_ROLLSWITCH", STAT_ROLLSWITCH, "\"0-n\"");
unsigned char STAT_TELEGRAMMTYP = (RXBUF_UCHAR(28));
// Telegram type / Telegrammtyp
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_1", "STAT_TELEGRAMMTYP", STAT_TELEGRAMMTYP, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_MESSDATENBLOCK_2: { // 0xDC99
if (datalen < 29) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_MESSDATENBLOCK_2", 29);
break;
}
unsigned long STAT_RE_IDENTIFIER_0XDC99 = (RXBUF_UINT32(0));
// Wheel electronics identifier / Radelektronik Identifier
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RE_IDENTIFIER_0XDC99", STAT_RE_IDENTIFIER_0XDC99, "\"0-n\"");
unsigned char STAT_RAD_POSITION_NR_0XDC99 = (RXBUF_UCHAR(4));
// The read out wheel position of the identifier (measuring block) was assigned to the respective position by the
// SG. Position of the wheel electronics: 0 = front left, 1 = front right, 2 = rear left, 3 = rear right /
// Ausgelesene Radposition des Identifiers (Messblock) wurde vom SG der jeweiligen Position zugewiesen. Position
// der Radelektronik: 0 = vorne links, 1 = vorne rechts, 2 = hinten links, 3 = hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RAD_POSITION_NR_0XDC99", STAT_RAD_POSITION_NR_0XDC99, "\"0-n\"");
float STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC99 = (RXBUF_SINT(5)/1000.0f);
// Last valid tire pressure value returned by the selected wheel / Letzer gültiger Reifendruckwert der vom
// ausgewählten Rad zurückgeliefert wird
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC99", STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC99, "\"bar\"");
char STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC99 = (RXBUF_SCHAR(7));
// Last valid tire temperature of the selected wheel / Letzte gültige Reifentemperatur des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC99", STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC99, "\"°C\"");
float STAT_SOLLDRUCK_WERT_0XDC99 = (RXBUF_SINT(8)/1000.0f);
// Predefined target pressure of the selected wheel / Vorgegebener Solldruck des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_SOLLDRUCK_WERT_0XDC99", STAT_SOLLDRUCK_WERT_0XDC99, "\"bar\"");
unsigned short STAT_GUTEMPFAENGE_0XDC99 = (RXBUF_UINT(10));
// Number of correctly received telegrams from the selected bike / Anzahl korrekt empfangener Telegramme vom
// ausgewählten Rad
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_GUTEMPFAENGE_0XDC99", STAT_GUTEMPFAENGE_0XDC99, "\"0-n\"");
unsigned char STAT_AUSBEUTE_0XDC99 = (RXBUF_UCHAR(12));
// Telegram yield from the selected bike in percent / Telegrammausbeute vom ausgewählten Rad in Prozent
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_AUSBEUTE_0XDC99", STAT_AUSBEUTE_0XDC99, "\"0-n\"");
unsigned short STAT_RSSI_PEGEL_0XDC99 = (RXBUF_UINT(13));
// RSSI - level of the ID [unit: AD converter units] / RSSI - Pegel der ID [Einheit: AD Wandler-Einheiten]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RSSI_PEGEL_0XDC99", STAT_RSSI_PEGEL_0XDC99, "\"0-n\"");
unsigned short STAT_RESTLEBENSDAUER_0XDC99 = (RXBUF_UINT(15));
// Remaining battery life on the wheel sensor in months / Verbleibende Restlebensdauer der Batterie am Radsensor
// in Monaten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RESTLEBENSDAUER_0XDC99", STAT_RESTLEBENSDAUER_0XDC99, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_STATUS_0XDC99 = (RXBUF_UCHAR(17));
// Status message from the wheel electronics of the selected wheel. / Status Meldung der Radelektronik des
// angewählten Rads.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RADELEKTRONIK_STATUS_0XDC99", STAT_RADELEKTRONIK_STATUS_0XDC99, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_AKTIV_0XDC99 = (RXBUF_UCHAR(18));
// Breakdown warning from the selected bike, 0 = inactive, 1 = active, FF = signal unknown / Pannen Warnung vom
// angewählten Rad, 0= Inaktiv, 1 = aktiv, FF = Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_HARTE_WARNUNG_AKTIV_0XDC99", STAT_HARTE_WARNUNG_AKTIV_0XDC99, "\"0-n\"");
unsigned char STAT_POS_CHANGED_0XDC99 = (RXBUF_UCHAR(19));
// Wheel electronics ID of the selected wheel has changed, 0 = not changed, 1 = changed, FF = signal unknown /
// Radelektronik ID vom angewählten Rad hat sich geändert, 0 = nicht geändert, 1 = geändert, FF= Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_POS_CHANGED_0XDC99", STAT_POS_CHANGED_0XDC99, "\"0-n\"");
unsigned char STAT_RE_OVERHEAT_AKTIV_0XDC99 = (RXBUF_UCHAR(20));
// Overheating message from the wheel electronics of the selected wheel, 0 = inactive, 1 = active, FF = signal
// unknown / Überhitzungsmeldung der Radelektronik vom angewählten Rad, 0 = Inaktiv, 1 = aktiv, FF = Signal
// unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RE_OVERHEAT_AKTIV_0XDC99", STAT_RE_OVERHEAT_AKTIV_0XDC99, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_0XDC99 = (RXBUF_UCHAR(21));
// Direction of rotation of the wheel 0 = standstill 1 = right 2 = left 3 = unknown 255 = not defined /
// Drehrichtung des Rades 0=Stillstand 1=rechts 2=links 3=unbekannt 255=nicht definiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_DREHRICHTUNG_0XDC99", STAT_DREHRICHTUNG_0XDC99, "\"0-n\"");
unsigned char STAT_FOLGEAUSFALL_0XDC99 = (RXBUF_UCHAR(22));
// Number of time intervals (typically 60s) since the last telegram was received / Anzahl Zeitintervalle (typ.
// 60s) seit letztem Telegrammempfang
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_FOLGEAUSFALL_0XDC99", STAT_FOLGEAUSFALL_0XDC99, "\"0-n\"");
unsigned char STAT_RE_HERSTELLER_0XDC99 = (RXBUF_UCHAR(23));
// RE manufacturer / RE-Hersteller
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RE_HERSTELLER_0XDC99", STAT_RE_HERSTELLER_0XDC99, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_SENDEMODE_0XDC99 = (RXBUF_UCHAR(24));
// Transmission mode of the wheel electronics / Sendemode der Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RADELEKTRONIK_SENDEMODE_0XDC99", STAT_RADELEKTRONIK_SENDEMODE_0XDC99, "\"0-n\"");
unsigned short STAT_RADELEKTRONIK_FEHLER_WERT_0XDC99 = (RXBUF_UINT(25));
// Error code wheel electronics / Fehlercode Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_RADELEKTRONIK_FEHLER_WERT_0XDC99", STAT_RADELEKTRONIK_FEHLER_WERT_0XDC99, "\"HEX\"");
unsigned char STAT_ROLLSWITCH_0XDC99 = (RXBUF_UCHAR(27));
// Status Rollswitch / Status Rollswitch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_ROLLSWITCH_0XDC99", STAT_ROLLSWITCH_0XDC99, "\"0-n\"");
unsigned char STAT_TELEGRAMMTYP_0XDC99 = (RXBUF_UCHAR(28));
// Telegram type / Telegrammtyp
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_2", "STAT_TELEGRAMMTYP_0XDC99", STAT_TELEGRAMMTYP_0XDC99, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_MESSDATENBLOCK_3: { // 0xDC9A
if (datalen < 29) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_MESSDATENBLOCK_3", 29);
break;
}
unsigned long STAT_RE_IDENTIFIER_0XDC9A = (RXBUF_UINT32(0));
// Wheel electronics identifier / Radelektronik Identifier
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RE_IDENTIFIER_0XDC9A", STAT_RE_IDENTIFIER_0XDC9A, "\"0-n\"");
unsigned char STAT_RAD_POSITION_NR_0XDC9A = (RXBUF_UCHAR(4));
// The read out wheel position of the identifier (measuring block) was assigned to the respective position by the
// SG. Position of the wheel electronics: 0 = front left, 1 = front right, 2 = rear left, 3 = rear right /
// Ausgelesene Radposition des Identifiers (Messblock) wurde vom SG der jeweiligen Position zugewiesen. Position
// der Radelektronik: 0 = vorne links, 1 = vorne rechts, 2 = hinten links, 3 = hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RAD_POSITION_NR_0XDC9A", STAT_RAD_POSITION_NR_0XDC9A, "\"0-n\"");
float STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC9A = (RXBUF_SINT(5)/1000.0f);
// Last valid tire pressure value returned by the selected wheel / Letzer gültiger Reifendruckwert der vom
// ausgewählten Rad zurückgeliefert wird
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC9A", STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC9A, "\"bar\"");
char STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC9A = (RXBUF_SCHAR(7));
// Last valid tire temperature of the selected wheel / Letzte gültige Reifentemperatur des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC9A", STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC9A, "\"°C\"");
float STAT_SOLLDRUCK_WERT_0XDC9A = (RXBUF_SINT(8)/1000.0f);
// Predefined target pressure of the selected wheel / Vorgegebener Solldruck des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_SOLLDRUCK_WERT_0XDC9A", STAT_SOLLDRUCK_WERT_0XDC9A, "\"bar\"");
unsigned short STAT_GUTEMPFAENGE_0XDC9A = (RXBUF_UINT(10));
// Number of correctly received telegrams from the selected bike / Anzahl korrekt empfangener Telegramme vom
// ausgewählten Rad
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_GUTEMPFAENGE_0XDC9A", STAT_GUTEMPFAENGE_0XDC9A, "\"0-n\"");
unsigned char STAT_AUSBEUTE_0XDC9A = (RXBUF_UCHAR(12));
// Telegram yield from the selected bike in percent / Telegrammausbeute vom ausgewählten Rad in Prozent
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_AUSBEUTE_0XDC9A", STAT_AUSBEUTE_0XDC9A, "\"0-n\"");
unsigned short STAT_RSSI_PEGEL_0XDC9A = (RXBUF_UINT(13));
// RSSI - level of the ID [unit: AD converter units] / RSSI - Pegel der ID [Einheit: AD Wandler-Einheiten]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RSSI_PEGEL_0XDC9A", STAT_RSSI_PEGEL_0XDC9A, "\"0-n\"");
unsigned short STAT_RESTLEBENSDAUER_0XDC9A = (RXBUF_UINT(15));
// Remaining battery life on the wheel sensor in months / Verbleibende Restlebensdauer der Batterie am Radsensor
// in Monaten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RESTLEBENSDAUER_0XDC9A", STAT_RESTLEBENSDAUER_0XDC9A, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_STATUS_0XDC9A = (RXBUF_UCHAR(17));
// Status message from the wheel electronics of the selected wheel. / Status Meldung der Radelektronik des
// angewählten Rads.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RADELEKTRONIK_STATUS_0XDC9A", STAT_RADELEKTRONIK_STATUS_0XDC9A, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_AKTIV_0XDC9A = (RXBUF_UCHAR(18));
// Breakdown warning from the selected bike, 0 = inactive, 1 = active, FF = signal unknown / Pannen Warnung vom
// angewählten Rad, 0= Inaktiv, 1 = aktiv, FF = Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_HARTE_WARNUNG_AKTIV_0XDC9A", STAT_HARTE_WARNUNG_AKTIV_0XDC9A, "\"0-n\"");
unsigned char STAT_POS_CHANGED_0XDC9A = (RXBUF_UCHAR(19));
// Wheel electronics ID of the selected wheel has changed, 0 = not changed, 1 = changed, FF = signal unknown /
// Radelektronik ID vom angewählten Rad hat sich geändert, 0 = nicht geändert, 1 = geändert, FF= Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_POS_CHANGED_0XDC9A", STAT_POS_CHANGED_0XDC9A, "\"0-n\"");
unsigned char STAT_RE_OVERHEAT_AKTIV_0XDC9A = (RXBUF_UCHAR(20));
// Overheating message from the wheel electronics of the selected wheel, 0 = inactive, 1 = active, FF = signal
// unknown / Überhitzungsmeldung der Radelektronik vom angewählten Rad, 0 = Inaktiv, 1 = aktiv, FF = Signal
// unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RE_OVERHEAT_AKTIV_0XDC9A", STAT_RE_OVERHEAT_AKTIV_0XDC9A, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_0XDC9A = (RXBUF_UCHAR(21));
// Direction of rotation of the wheel 0 = standstill 1 = right 2 = left 3 = unknown 255 = not defined /
// Drehrichtung des Rades 0=Stillstand 1=rechts 2=links 3=unbekannt 255=nicht definiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_DREHRICHTUNG_0XDC9A", STAT_DREHRICHTUNG_0XDC9A, "\"0-n\"");
unsigned char STAT_FOLGEAUSFALL_0XDC9A = (RXBUF_UCHAR(22));
// Number of time intervals (typically 60s) since the last telegram was received / Anzahl Zeitintervalle (typ.
// 60s) seit letztem Telegrammempfang
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_FOLGEAUSFALL_0XDC9A", STAT_FOLGEAUSFALL_0XDC9A, "\"0-n\"");
unsigned char STAT_RE_HERSTELLER_0XDC9A = (RXBUF_UCHAR(23));
// RE manufacturer / RE-Hersteller
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RE_HERSTELLER_0XDC9A", STAT_RE_HERSTELLER_0XDC9A, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_SENDEMODE_0XDC9A = (RXBUF_UCHAR(24));
// Transmission mode of the wheel electronics / Sendemode der Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RADELEKTRONIK_SENDEMODE_0XDC9A", STAT_RADELEKTRONIK_SENDEMODE_0XDC9A, "\"0-n\"");
unsigned short STAT_RADELEKTRONIK_FEHLER_WERT_0XDC9A = (RXBUF_UINT(25));
// Error code wheel electronics / Fehlercode Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_RADELEKTRONIK_FEHLER_WERT_0XDC9A", STAT_RADELEKTRONIK_FEHLER_WERT_0XDC9A, "\"HEX\"");
unsigned char STAT_ROLLSWITCH_0XDC9A = (RXBUF_UCHAR(27));
// Status Rollswitch / Status Rollswitch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_ROLLSWITCH_0XDC9A", STAT_ROLLSWITCH_0XDC9A, "\"0-n\"");
unsigned char STAT_TELEGRAMMTYP_0XDC9A = (RXBUF_UCHAR(28));
// Telegram type / Telegrammtyp
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_3", "STAT_TELEGRAMMTYP_0XDC9A", STAT_TELEGRAMMTYP_0XDC9A, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_MESSDATENBLOCK_4: { // 0xDC9B
if (datalen < 29) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_MESSDATENBLOCK_4", 29);
break;
}
unsigned long STAT_RE_IDENTIFIER_0XDC9B = (RXBUF_UINT32(0));
// Wheel electronics identifier / Radelektronik Identifier
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RE_IDENTIFIER_0XDC9B", STAT_RE_IDENTIFIER_0XDC9B, "\"0-n\"");
unsigned char STAT_RAD_POSITION_NR_0XDC9B = (RXBUF_UCHAR(4));
// The read out wheel position of the identifier (measuring block) was assigned to the respective position by the
// SG. Position of the wheel electronics: 0 = front left, 1 = front right, 2 = rear left, 3 = rear right /
// Ausgelesene Radposition des Identifiers (Messblock) wurde vom SG der jeweiligen Position zugewiesen. Position
// der Radelektronik: 0 = vorne links, 1 = vorne rechts, 2 = hinten links, 3 = hinten rechts
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RAD_POSITION_NR_0XDC9B", STAT_RAD_POSITION_NR_0XDC9B, "\"0-n\"");
float STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC9B = (RXBUF_SINT(5)/1000.0f);
// Last valid tire pressure value returned by the selected wheel / Letzer gültiger Reifendruckwert der vom
// ausgewählten Rad zurückgeliefert wird
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC9B", STAT_LETZTER_REIFENDRUCKWERT_WERT_0XDC9B, "\"bar\"");
char STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC9B = (RXBUF_SCHAR(7));
// Last valid tire temperature of the selected wheel / Letzte gültige Reifentemperatur des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC9B", STAT_LETZTER_REIFENTEMPERATURWERT_WERT_0XDC9B, "\"°C\"");
float STAT_SOLLDRUCK_WERT_0XDC9B = (RXBUF_SINT(8)/1000.0f);
// Predefined target pressure of the selected wheel / Vorgegebener Solldruck des ausgewählten Rads
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_SOLLDRUCK_WERT_0XDC9B", STAT_SOLLDRUCK_WERT_0XDC9B, "\"bar\"");
unsigned short STAT_GUTEMPFAENGE_0XDC9B = (RXBUF_UINT(10));
// Number of correctly received telegrams from the selected bike / Anzahl korrekt empfangener Telegramme vom
// ausgewählten Rad
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_GUTEMPFAENGE_0XDC9B", STAT_GUTEMPFAENGE_0XDC9B, "\"0-n\"");
unsigned char STAT_AUSBEUTE_0XDC9B = (RXBUF_UCHAR(12));
// Telegram yield from the selected bike in percent / Telegrammausbeute vom ausgewählten Rad in Prozent
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_AUSBEUTE_0XDC9B", STAT_AUSBEUTE_0XDC9B, "\"0-n\"");
unsigned short STAT_RSSI_PEGEL_0XDC9B = (RXBUF_UINT(13));
// RSSI - level of the ID [unit: AD converter units] / RSSI - Pegel der ID [Einheit: AD Wandler-Einheiten]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RSSI_PEGEL_0XDC9B", STAT_RSSI_PEGEL_0XDC9B, "\"0-n\"");
unsigned short STAT_RESTLEBENSDAUER_0XDC9B = (RXBUF_UINT(15));
// Remaining battery life on the wheel sensor in months / Verbleibende Restlebensdauer der Batterie am Radsensor
// in Monaten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RESTLEBENSDAUER_0XDC9B", STAT_RESTLEBENSDAUER_0XDC9B, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_STATUS_0XDC9B = (RXBUF_UCHAR(17));
// Status message from the wheel electronics of the selected wheel. / Status Meldung der Radelektronik des
// angewählten Rads.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RADELEKTRONIK_STATUS_0XDC9B", STAT_RADELEKTRONIK_STATUS_0XDC9B, "\"0-n\"");
unsigned char STAT_HARTE_WARNUNG_AKTIV_0XDC9B = (RXBUF_UCHAR(18));
// Breakdown warning from the selected bike, 0 = inactive, 1 = active, FF = signal unknown / Pannen Warnung vom
// angewählten Rad, 0= Inaktiv, 1 = aktiv, FF = Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_HARTE_WARNUNG_AKTIV_0XDC9B", STAT_HARTE_WARNUNG_AKTIV_0XDC9B, "\"0-n\"");
unsigned char STAT_POS_CHANGED_0XDC9B = (RXBUF_UCHAR(19));
// Wheel electronics ID of the selected wheel has changed, 0 = not changed, 1 = changed, FF = signal unknown /
// Radelektronik ID vom angewählten Rad hat sich geändert, 0 = nicht geändert, 1 = geändert, FF= Signal unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_POS_CHANGED_0XDC9B", STAT_POS_CHANGED_0XDC9B, "\"0-n\"");
unsigned char STAT_RE_OVERHEAT_AKTIV_0XDC9B = (RXBUF_UCHAR(20));
// Overheating message from the wheel electronics of the selected wheel, 0 = inactive, 1 = active, FF = signal
// unknown / Überhitzungsmeldung der Radelektronik vom angewählten Rad, 0 = Inaktiv, 1 = aktiv, FF = Signal
// unbekannt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RE_OVERHEAT_AKTIV_0XDC9B", STAT_RE_OVERHEAT_AKTIV_0XDC9B, "\"0-n\"");
unsigned char STAT_DREHRICHTUNG_0XDC9B = (RXBUF_UCHAR(21));
// Direction of rotation of the wheel 0 = standstill 1 = right 2 = left 3 = unknown 255 = not defined /
// Drehrichtung des Rades 0=Stillstand 1=rechts 2=links 3=unbekannt 255=nicht definiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_DREHRICHTUNG_0XDC9B", STAT_DREHRICHTUNG_0XDC9B, "\"0-n\"");
unsigned char STAT_FOLGEAUSFALL_0XDC9B = (RXBUF_UCHAR(22));
// Number of time intervals (typically 60s) since the last telegram was received / Anzahl Zeitintervalle (typ.
// 60s) seit letztem Telegrammempfang
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_FOLGEAUSFALL_0XDC9B", STAT_FOLGEAUSFALL_0XDC9B, "\"0-n\"");
unsigned char STAT_RE_HERSTELLER_0XDC9B = (RXBUF_UCHAR(23));
// RE manufacturer / RE-Hersteller
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RE_HERSTELLER_0XDC9B", STAT_RE_HERSTELLER_0XDC9B, "\"0-n\"");
unsigned char STAT_RADELEKTRONIK_SENDEMODE_0XDC9B = (RXBUF_UCHAR(24));
// Transmission mode of the wheel electronics / Sendemode der Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RADELEKTRONIK_SENDEMODE_0XDC9B", STAT_RADELEKTRONIK_SENDEMODE_0XDC9B, "\"0-n\"");
unsigned short STAT_RADELEKTRONIK_FEHLER_WERT_0XDC9B = (RXBUF_UINT(25));
// Error code wheel electronics / Fehlercode Radelektronik
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_RADELEKTRONIK_FEHLER_WERT_0XDC9B", STAT_RADELEKTRONIK_FEHLER_WERT_0XDC9B, "\"HEX\"");
unsigned char STAT_ROLLSWITCH_0XDC9B = (RXBUF_UCHAR(27));
// Status Rollswitch / Status Rollswitch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_ROLLSWITCH_0XDC9B", STAT_ROLLSWITCH_0XDC9B, "\"0-n\"");
unsigned char STAT_TELEGRAMMTYP_0XDC9B = (RXBUF_UCHAR(28));
// Telegram type / Telegrammtyp
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_MESSDATENBLOCK_4", "STAT_TELEGRAMMTYP_0XDC9B", STAT_TELEGRAMMTYP_0XDC9B, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_1: { // 0xDC9C
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_1", 63);
break;
}
long STAT_KILOMETERSTAND_WERT = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_KILOMETERSTAND_WERT", STAT_KILOMETERSTAND_WERT, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_SYSTEMFLAGS_WERT", STAT_SYSTEMFLAGS_WERT, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT", STAT_BEFUELL_AUSSENTEMPERATUR_WERT, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELL_AUSSENDRUCK_WERT", STAT_BEFUELL_AUSSENDRUCK_WERT, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_AUSSENTEMPERATUR_WERT", STAT_AUSSENTEMPERATUR_WERT, "\"°\"");
float STAT_AUSSENDRUCK_WERT = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_AUSSENDRUCK_WERT", STAT_AUSSENDRUCK_WERT, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_RADPOSITION_PANNENRAD", STAT_RADPOSITION_PANNENRAD, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0 = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_RADPOSITON_RE0", STAT_RADPOSITON_RE0, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLDRUCK_RE0_WERT", STAT_BEFUELLDRUCK_RE0_WERT, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLTEMPERATUR_RE0_WERT", STAT_BEFUELLTEMPERATUR_RE0_WERT, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENDRUCK_RE0_WERT", STAT_REIFENDRUCK_RE0_WERT, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENTEMPERATUR_RE0_WERT", STAT_REIFENTEMPERATUR_RE0_WERT, "\"°\"");
unsigned char STAT_RADPOSITON_RE1 = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_RADPOSITON_RE1", STAT_RADPOSITON_RE1, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLDRUCK_RE1_WERT", STAT_BEFUELLDRUCK_RE1_WERT, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLTEMPERATUR_RE1_WERT", STAT_BEFUELLTEMPERATUR_RE1_WERT, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENDRUCK_RE1_WERT", STAT_REIFENDRUCK_RE1_WERT, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENTEMPERATUR_RE1_WERT", STAT_REIFENTEMPERATUR_RE1_WERT, "\"°\"");
unsigned char STAT_RADPOSITON_RE2 = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_RADPOSITON_RE2", STAT_RADPOSITON_RE2, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLDRUCK_RE2_WERT", STAT_BEFUELLDRUCK_RE2_WERT, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLTEMPERATUR_RE2_WERT", STAT_BEFUELLTEMPERATUR_RE2_WERT, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENDRUCK_RE2_WERT", STAT_REIFENDRUCK_RE2_WERT, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENTEMPERATUR_RE2_WERT", STAT_REIFENTEMPERATUR_RE2_WERT, "\"°\"");
unsigned char STAT_RADPOSITON_RE3 = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_RADPOSITON_RE3", STAT_RADPOSITON_RE3, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLDRUCK_RE3_WERT", STAT_BEFUELLDRUCK_RE3_WERT, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_BEFUELLTEMPERATUR_RE3_WERT", STAT_BEFUELLTEMPERATUR_RE3_WERT, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENDRUCK_RE3_WERT", STAT_REIFENDRUCK_RE3_WERT, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_REIFENTEMPERATUR_RE3_WERT", STAT_REIFENTEMPERATUR_RE3_WERT, "\"°\"");
unsigned char STAT_ZAEHLER_WARNEREIGNIS_WERT = (RXBUF_UCHAR(62));
// Warning events counter / Zaehler Warnereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_1", "STAT_ZAEHLER_WARNEREIGNIS_WERT", STAT_ZAEHLER_WARNEREIGNIS_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_2: { // 0xDC9D
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_2", 63);
break;
}
long STAT_KILOMETERSTAND_WERT_0XDC9D = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_KILOMETERSTAND_WERT_0XDC9D", STAT_KILOMETERSTAND_WERT_0XDC9D, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT_0XDC9D = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_SYSTEMFLAGS_WERT_0XDC9D", STAT_SYSTEMFLAGS_WERT_0XDC9D, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9D = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9D", STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9D, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9D = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9D", STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9D, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT_0XDC9D = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_AUSSENTEMPERATUR_WERT_0XDC9D", STAT_AUSSENTEMPERATUR_WERT_0XDC9D, "\"°\"");
float STAT_AUSSENDRUCK_WERT_0XDC9D = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_AUSSENDRUCK_WERT_0XDC9D", STAT_AUSSENDRUCK_WERT_0XDC9D, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9D = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9D", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9D, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD_0XDC9D = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_RADPOSITION_PANNENRAD_0XDC9D", STAT_RADPOSITION_PANNENRAD_0XDC9D, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0_0XDC9D = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_RADPOSITON_RE0_0XDC9D", STAT_RADPOSITON_RE0_0XDC9D, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT_0XDC9D = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLDRUCK_RE0_WERT_0XDC9D", STAT_BEFUELLDRUCK_RE0_WERT_0XDC9D, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9D = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9D", STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9D, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDC9D = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENDRUCK_RE0_WERT_0XDC9D", STAT_REIFENDRUCK_RE0_WERT_0XDC9D, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9D = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9D", STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9D, "\"°\"");
unsigned char STAT_RADPOSITON_RE1_0XDC9D = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_RADPOSITON_RE1_0XDC9D", STAT_RADPOSITON_RE1_0XDC9D, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT_0XDC9D = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLDRUCK_RE1_WERT_0XDC9D", STAT_BEFUELLDRUCK_RE1_WERT_0XDC9D, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9D = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9D", STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9D, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDC9D = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENDRUCK_RE1_WERT_0XDC9D", STAT_REIFENDRUCK_RE1_WERT_0XDC9D, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9D = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9D", STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9D, "\"°\"");
unsigned char STAT_RADPOSITON_RE2_0XDC9D = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_RADPOSITON_RE2_0XDC9D", STAT_RADPOSITON_RE2_0XDC9D, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT_0XDC9D = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLDRUCK_RE2_WERT_0XDC9D", STAT_BEFUELLDRUCK_RE2_WERT_0XDC9D, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9D = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9D", STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9D, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDC9D = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENDRUCK_RE2_WERT_0XDC9D", STAT_REIFENDRUCK_RE2_WERT_0XDC9D, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9D = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9D", STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9D, "\"°\"");
unsigned char STAT_RADPOSITON_RE3_0XDC9D = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_RADPOSITON_RE3_0XDC9D", STAT_RADPOSITON_RE3_0XDC9D, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT_0XDC9D = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLDRUCK_RE3_WERT_0XDC9D", STAT_BEFUELLDRUCK_RE3_WERT_0XDC9D, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9D = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9D", STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9D, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDC9D = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENDRUCK_RE3_WERT_0XDC9D", STAT_REIFENDRUCK_RE3_WERT_0XDC9D, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9D = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9D", STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9D, "\"°\"");
unsigned char STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDC9D = (RXBUF_UCHAR(62));
// Warning events counter / Zaehler Warnereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_2", "STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDC9D", STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDC9D, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_3: { // 0xDC9E
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_3", 63);
break;
}
long STAT_KILOMETERSTAND_WERT_0XDC9E = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_KILOMETERSTAND_WERT_0XDC9E", STAT_KILOMETERSTAND_WERT_0XDC9E, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT_0XDC9E = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_SYSTEMFLAGS_WERT_0XDC9E", STAT_SYSTEMFLAGS_WERT_0XDC9E, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9E = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9E", STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9E, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9E = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9E", STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9E, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT_0XDC9E = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_AUSSENTEMPERATUR_WERT_0XDC9E", STAT_AUSSENTEMPERATUR_WERT_0XDC9E, "\"°\"");
float STAT_AUSSENDRUCK_WERT_0XDC9E = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_AUSSENDRUCK_WERT_0XDC9E", STAT_AUSSENDRUCK_WERT_0XDC9E, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9E = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9E", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9E, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD_0XDC9E = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_RADPOSITION_PANNENRAD_0XDC9E", STAT_RADPOSITION_PANNENRAD_0XDC9E, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0_0XDC9E = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_RADPOSITON_RE0_0XDC9E", STAT_RADPOSITON_RE0_0XDC9E, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT_0XDC9E = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLDRUCK_RE0_WERT_0XDC9E", STAT_BEFUELLDRUCK_RE0_WERT_0XDC9E, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9E = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9E", STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9E, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDC9E = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENDRUCK_RE0_WERT_0XDC9E", STAT_REIFENDRUCK_RE0_WERT_0XDC9E, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9E = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9E", STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9E, "\"°\"");
unsigned char STAT_RADPOSITON_RE1_0XDC9E = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_RADPOSITON_RE1_0XDC9E", STAT_RADPOSITON_RE1_0XDC9E, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT_0XDC9E = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLDRUCK_RE1_WERT_0XDC9E", STAT_BEFUELLDRUCK_RE1_WERT_0XDC9E, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9E = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9E", STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9E, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDC9E = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENDRUCK_RE1_WERT_0XDC9E", STAT_REIFENDRUCK_RE1_WERT_0XDC9E, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9E = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9E", STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9E, "\"°\"");
unsigned char STAT_RADPOSITON_RE2_0XDC9E = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_RADPOSITON_RE2_0XDC9E", STAT_RADPOSITON_RE2_0XDC9E, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT_0XDC9E = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLDRUCK_RE2_WERT_0XDC9E", STAT_BEFUELLDRUCK_RE2_WERT_0XDC9E, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9E = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9E", STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9E, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDC9E = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENDRUCK_RE2_WERT_0XDC9E", STAT_REIFENDRUCK_RE2_WERT_0XDC9E, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9E = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9E", STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9E, "\"°\"");
unsigned char STAT_RADPOSITON_RE3_0XDC9E = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_RADPOSITON_RE3_0XDC9E", STAT_RADPOSITON_RE3_0XDC9E, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT_0XDC9E = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLDRUCK_RE3_WERT_0XDC9E", STAT_BEFUELLDRUCK_RE3_WERT_0XDC9E, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9E = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9E", STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9E, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDC9E = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENDRUCK_RE3_WERT_0XDC9E", STAT_REIFENDRUCK_RE3_WERT_0XDC9E, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9E = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9E", STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9E, "\"°\"");
unsigned char STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDC9E = (RXBUF_UCHAR(62));
// Warning events counter / Zaehler Warnereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_3", "STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDC9E", STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDC9E, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_RUECKNAHME: { // 0xDC9F
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_RUECKNAHME", 63);
break;
}
long STAT_KILOMETERSTAND_WERT_0XDC9F = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_KILOMETERSTAND_WERT_0XDC9F", STAT_KILOMETERSTAND_WERT_0XDC9F, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT_0XDC9F = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_SYSTEMFLAGS_WERT_0XDC9F", STAT_SYSTEMFLAGS_WERT_0XDC9F, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9F = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9F", STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDC9F, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9F = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9F", STAT_BEFUELL_AUSSENDRUCK_WERT_0XDC9F, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT_0XDC9F = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_AUSSENTEMPERATUR_WERT_0XDC9F", STAT_AUSSENTEMPERATUR_WERT_0XDC9F, "\"°\"");
float STAT_AUSSENDRUCK_WERT_0XDC9F = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_AUSSENDRUCK_WERT_0XDC9F", STAT_AUSSENDRUCK_WERT_0XDC9F, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9F = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9F", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDC9F, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD_0XDC9F = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_RADPOSITION_PANNENRAD_0XDC9F", STAT_RADPOSITION_PANNENRAD_0XDC9F, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0_0XDC9F = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_RADPOSITON_RE0_0XDC9F", STAT_RADPOSITON_RE0_0XDC9F, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT_0XDC9F = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLDRUCK_RE0_WERT_0XDC9F", STAT_BEFUELLDRUCK_RE0_WERT_0XDC9F, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9F = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9F", STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDC9F, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDC9F = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENDRUCK_RE0_WERT_0XDC9F", STAT_REIFENDRUCK_RE0_WERT_0XDC9F, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9F = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9F", STAT_REIFENTEMPERATUR_RE0_WERT_0XDC9F, "\"°\"");
unsigned char STAT_RADPOSITON_RE1_0XDC9F = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_RADPOSITON_RE1_0XDC9F", STAT_RADPOSITON_RE1_0XDC9F, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT_0XDC9F = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLDRUCK_RE1_WERT_0XDC9F", STAT_BEFUELLDRUCK_RE1_WERT_0XDC9F, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9F = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9F", STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDC9F, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDC9F = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENDRUCK_RE1_WERT_0XDC9F", STAT_REIFENDRUCK_RE1_WERT_0XDC9F, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9F = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9F", STAT_REIFENTEMPERATUR_RE1_WERT_0XDC9F, "\"°\"");
unsigned char STAT_RADPOSITON_RE2_0XDC9F = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_RADPOSITON_RE2_0XDC9F", STAT_RADPOSITON_RE2_0XDC9F, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT_0XDC9F = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLDRUCK_RE2_WERT_0XDC9F", STAT_BEFUELLDRUCK_RE2_WERT_0XDC9F, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9F = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9F", STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDC9F, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDC9F = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENDRUCK_RE2_WERT_0XDC9F", STAT_REIFENDRUCK_RE2_WERT_0XDC9F, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9F = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9F", STAT_REIFENTEMPERATUR_RE2_WERT_0XDC9F, "\"°\"");
unsigned char STAT_RADPOSITON_RE3_0XDC9F = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_RADPOSITON_RE3_0XDC9F", STAT_RADPOSITON_RE3_0XDC9F, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT_0XDC9F = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLDRUCK_RE3_WERT_0XDC9F", STAT_BEFUELLDRUCK_RE3_WERT_0XDC9F, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9F = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9F", STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDC9F, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDC9F = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENDRUCK_RE3_WERT_0XDC9F", STAT_REIFENDRUCK_RE3_WERT_0XDC9F, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9F = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9F", STAT_REIFENTEMPERATUR_RE3_WERT_0XDC9F, "\"°\"");
unsigned char STAT_ZAEHLER_WARN_RUECKNAHME = (RXBUF_UCHAR(62));
// Counter for canceling warnings by refilling air or changing wheels. / Zähler für Warnungsrücknahmen durch
// Luftnachfüllen oder Radtausch.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_RUECKNAHME", "STAT_ZAEHLER_WARN_RUECKNAHME", STAT_ZAEHLER_WARN_RUECKNAHME, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_RE_LESEN_DRUCKCODIERUNG: { // 0xDCD9
if (datalen < 72) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_RE_LESEN_DRUCKCODIERUNG", 72);
break;
}
unsigned long STAT_RE_IDENTIFIER_RE0_WERT = (RXBUF_UINT32(0));
// Identifier wheel electronics RE0 / Identifier Radelektronik RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE0_WERT", STAT_RE_IDENTIFIER_RE0_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDCD9 = (RXBUF_SINT(4)/1000.0f);
// Tire pressure value wheel electronics RE0 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE0 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE0_WERT_0XDCD9", STAT_REIFENDRUCK_RE0_WERT_0XDCD9, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE0_WERT = (RXBUF_SINT(6));
// Remaining service life of wheel electronics RE0 in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE0 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE0_WERT", STAT_RESTLEBENSDAUER_RE0_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE0_WERT = (RXBUF_UCHAR(8));
// Receive counter for wheel electronics RE0 (255 => invalid) / Empfangszaehler Radelektronik RE0 (255 =>
// ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE0_WERT", STAT_EMPFANGSZAEHLER_RE0_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE1_WERT = (RXBUF_UINT32(9));
// Identifier wheel electronics RE1 / Identifier Radelektronik RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE1_WERT", STAT_RE_IDENTIFIER_RE1_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDCD9 = (RXBUF_SINT(13)/1000.0f);
// Tire pressure value wheel electronics RE1 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE1 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE1_WERT_0XDCD9", STAT_REIFENDRUCK_RE1_WERT_0XDCD9, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE1_WERT = (RXBUF_SINT(15));
// Remaining service life of wheel electronics RE1 in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE1 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE1_WERT", STAT_RESTLEBENSDAUER_RE1_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE1_WERT = (RXBUF_UCHAR(17));
// Receive counter wheel electronics RE1 (255 => invalid) / Empfangszaehler Radelektronik RE1 (255 => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE1_WERT", STAT_EMPFANGSZAEHLER_RE1_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE2_WERT = (RXBUF_UINT32(18));
// Identifier wheel electronics RE2 / Identifier Radelektronik RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE2_WERT", STAT_RE_IDENTIFIER_RE2_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDCD9 = (RXBUF_SINT(22)/1000.0f);
// Tire pressure value wheel electronics RE2 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE2 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE2_WERT_0XDCD9", STAT_REIFENDRUCK_RE2_WERT_0XDCD9, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE2_WERT = (RXBUF_SINT(24));
// Remaining service life of RE2 wheel electronics in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE2 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE2_WERT", STAT_RESTLEBENSDAUER_RE2_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE2_WERT = (RXBUF_UCHAR(26));
// Receive counter wheel electronics RE2 (255 => invalid) / Empfangszaehler Radelektronik RE2 (255 => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE2_WERT", STAT_EMPFANGSZAEHLER_RE2_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE3_WERT = (RXBUF_UINT32(27));
// Identifier wheel electronics RE3 / Identifier Radelektronik RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE3_WERT", STAT_RE_IDENTIFIER_RE3_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDCD9 = (RXBUF_SINT(31)/1000.0f);
// Tire pressure value wheel electronics RE3 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE3 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE3_WERT_0XDCD9", STAT_REIFENDRUCK_RE3_WERT_0XDCD9, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE3_WERT = (RXBUF_SINT(33));
// Remaining service life of RE3 wheel electronics in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE3 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE3_WERT", STAT_RESTLEBENSDAUER_RE3_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE3_WERT = (RXBUF_UCHAR(35));
// Receive counter wheel electronics RE3 (255 => invalid) / Empfangszaehler Radelektronik RE3 (255 => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE3_WERT", STAT_EMPFANGSZAEHLER_RE3_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE4_WERT = (RXBUF_UINT32(36));
// Identifier wheel electronics RE4 / Identifier Radelektronik RE4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE4_WERT", STAT_RE_IDENTIFIER_RE4_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE4_WERT = (RXBUF_SINT(40)/1000.0f);
// Tire pressure value wheel electronics RE4 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE4 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE4_WERT", STAT_REIFENDRUCK_RE4_WERT, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE4_WERT = (RXBUF_SINT(42));
// Remaining service life of RE4 wheel electronics in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE4 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE4_WERT", STAT_RESTLEBENSDAUER_RE4_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE4_WERT = (RXBUF_UCHAR(44));
// Receiving counter wheel electronics RE4 (255 => invalid) / Empfangszaehler Radelektronik RE4 (255 =>
// ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE4_WERT", STAT_EMPFANGSZAEHLER_RE4_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE5_WERT = (RXBUF_UINT32(45));
// Identifier wheel electronics RE5 / Identifier Radelektronik RE5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE5_WERT", STAT_RE_IDENTIFIER_RE5_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE5_WERT = (RXBUF_SINT(49)/1000.0f);
// Tire pressure value wheel electronics RE5 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE5 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE5_WERT", STAT_REIFENDRUCK_RE5_WERT, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE5_WERT = (RXBUF_SINT(51));
// Remaining service life of RE5 wheel electronics in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE5 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE5_WERT", STAT_RESTLEBENSDAUER_RE5_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE5_WERT = (RXBUF_UCHAR(53));
// Re5 wheel electronics reception counter (255 => invalid) / Empfangszaehler Radelektronik RE5 (255 =>
// ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE5_WERT", STAT_EMPFANGSZAEHLER_RE5_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE6_WERT = (RXBUF_UINT32(54));
// Identifier wheel electronics RE6 / Identifier Radelektronik RE6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE6_WERT", STAT_RE_IDENTIFIER_RE6_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE6_WERT = (RXBUF_SINT(58)/1000.0f);
// Tire pressure value wheel electronics RE6 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE6 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE6_WERT", STAT_REIFENDRUCK_RE6_WERT, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE6_WERT = (RXBUF_SINT(60));
// Remaining service life of RE6 wheel electronics in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE6 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE6_WERT", STAT_RESTLEBENSDAUER_RE6_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE6_WERT = (RXBUF_UCHAR(62));
// Receiving counter wheel electronics RE6 (255 => invalid) / Empfangszaehler Radelektronik RE6 (255 =>
// ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE6_WERT", STAT_EMPFANGSZAEHLER_RE6_WERT, "");
unsigned long STAT_RE_IDENTIFIER_RE7_WERT = (RXBUF_UINT32(63));
// Identifier wheel electronics RE7 / Identifier Radelektronik RE7
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RE_IDENTIFIER_RE7_WERT", STAT_RE_IDENTIFIER_RE7_WERT, "\"HEX\"");
float STAT_REIFENDRUCK_RE7_WERT = (RXBUF_SINT(67)/1000.0f);
// Tire pressure value wheel electronics RE7 (-9,999 bar => invalid) / Reifendruckwert Radelektronik RE7 (-9.999
// bar => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_REIFENDRUCK_RE7_WERT", STAT_REIFENDRUCK_RE7_WERT, "\"bar\"");
short STAT_RESTLEBENSDAUER_RE7_WERT = (RXBUF_SINT(69));
// Remaining service life of RE7 wheel electronics in months (-999 months => invalid) / Restlebensdauer
// Radelektronik RE7 in Monaten (-999 Monate => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%d%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_RESTLEBENSDAUER_RE7_WERT", STAT_RESTLEBENSDAUER_RE7_WERT, "");
unsigned char STAT_EMPFANGSZAEHLER_RE7_WERT = (RXBUF_UCHAR(71));
// Re7 wheel electronics reception counter (255 => invalid) / Empfangszaehler Radelektronik RE7 (255 =>
// ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "STATUS_RE_LESEN_DRUCKCODIERUNG", "STAT_EMPFANGSZAEHLER_RE7_WERT", STAT_EMPFANGSZAEHLER_RE7_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_WEICH_1: { // 0xDCF1
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_WEICH_1", 63);
break;
}
long STAT_KILOMETERSTAND_WERT_0XDCF1 = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_KILOMETERSTAND_WERT_0XDCF1", STAT_KILOMETERSTAND_WERT_0XDCF1, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT_0XDCF1 = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_SYSTEMFLAGS_WERT_0XDCF1", STAT_SYSTEMFLAGS_WERT_0XDCF1, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF1 = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF1", STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF1, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF1 = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF1", STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF1, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT_0XDCF1 = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_AUSSENTEMPERATUR_WERT_0XDCF1", STAT_AUSSENTEMPERATUR_WERT_0XDCF1, "\"°\"");
float STAT_AUSSENDRUCK_WERT_0XDCF1 = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_AUSSENDRUCK_WERT_0XDCF1", STAT_AUSSENDRUCK_WERT_0XDCF1, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF1 = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF1", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF1, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD_0XDCF1 = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_RADPOSITION_PANNENRAD_0XDCF1", STAT_RADPOSITION_PANNENRAD_0XDCF1, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0_0XDCF1 = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_RADPOSITON_RE0_0XDCF1", STAT_RADPOSITON_RE0_0XDCF1, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT_0XDCF1 = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLDRUCK_RE0_WERT_0XDCF1", STAT_BEFUELLDRUCK_RE0_WERT_0XDCF1, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF1 = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF1", STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF1, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDCF1 = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENDRUCK_RE0_WERT_0XDCF1", STAT_REIFENDRUCK_RE0_WERT_0XDCF1, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF1 = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF1", STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF1, "\"°\"");
unsigned char STAT_RADPOSITON_RE1_0XDCF1 = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_RADPOSITON_RE1_0XDCF1", STAT_RADPOSITON_RE1_0XDCF1, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT_0XDCF1 = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLDRUCK_RE1_WERT_0XDCF1", STAT_BEFUELLDRUCK_RE1_WERT_0XDCF1, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF1 = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF1", STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF1, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDCF1 = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENDRUCK_RE1_WERT_0XDCF1", STAT_REIFENDRUCK_RE1_WERT_0XDCF1, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF1 = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF1", STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF1, "\"°\"");
unsigned char STAT_RADPOSITON_RE2_0XDCF1 = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_RADPOSITON_RE2_0XDCF1", STAT_RADPOSITON_RE2_0XDCF1, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT_0XDCF1 = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLDRUCK_RE2_WERT_0XDCF1", STAT_BEFUELLDRUCK_RE2_WERT_0XDCF1, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF1 = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF1", STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF1, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDCF1 = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENDRUCK_RE2_WERT_0XDCF1", STAT_REIFENDRUCK_RE2_WERT_0XDCF1, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF1 = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF1", STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF1, "\"°\"");
unsigned char STAT_RADPOSITON_RE3_0XDCF1 = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_RADPOSITON_RE3_0XDCF1", STAT_RADPOSITON_RE3_0XDCF1, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT_0XDCF1 = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLDRUCK_RE3_WERT_0XDCF1", STAT_BEFUELLDRUCK_RE3_WERT_0XDCF1, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF1 = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF1", STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF1, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDCF1 = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENDRUCK_RE3_WERT_0XDCF1", STAT_REIFENDRUCK_RE3_WERT_0XDCF1, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF1 = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF1", STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF1, "\"°\"");
unsigned char STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF1 = (RXBUF_UCHAR(62));
// Warning events counter / Zaehler Warnereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_1", "STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF1", STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF1, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_WEICH_2: { // 0xDCF2
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_WEICH_2", 63);
break;
}
long STAT_KILOMETERSTAND_WERT_0XDCF2 = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_KILOMETERSTAND_WERT_0XDCF2", STAT_KILOMETERSTAND_WERT_0XDCF2, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT_0XDCF2 = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_SYSTEMFLAGS_WERT_0XDCF2", STAT_SYSTEMFLAGS_WERT_0XDCF2, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF2 = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF2", STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF2, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF2 = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF2", STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF2, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT_0XDCF2 = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_AUSSENTEMPERATUR_WERT_0XDCF2", STAT_AUSSENTEMPERATUR_WERT_0XDCF2, "\"°\"");
float STAT_AUSSENDRUCK_WERT_0XDCF2 = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_AUSSENDRUCK_WERT_0XDCF2", STAT_AUSSENDRUCK_WERT_0XDCF2, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF2 = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF2", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF2, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD_0XDCF2 = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_RADPOSITION_PANNENRAD_0XDCF2", STAT_RADPOSITION_PANNENRAD_0XDCF2, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0_0XDCF2 = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_RADPOSITON_RE0_0XDCF2", STAT_RADPOSITON_RE0_0XDCF2, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT_0XDCF2 = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLDRUCK_RE0_WERT_0XDCF2", STAT_BEFUELLDRUCK_RE0_WERT_0XDCF2, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF2 = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF2", STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF2, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDCF2 = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENDRUCK_RE0_WERT_0XDCF2", STAT_REIFENDRUCK_RE0_WERT_0XDCF2, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF2 = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF2", STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF2, "\"°\"");
unsigned char STAT_RADPOSITON_RE1_0XDCF2 = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_RADPOSITON_RE1_0XDCF2", STAT_RADPOSITON_RE1_0XDCF2, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT_0XDCF2 = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLDRUCK_RE1_WERT_0XDCF2", STAT_BEFUELLDRUCK_RE1_WERT_0XDCF2, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF2 = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF2", STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF2, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDCF2 = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENDRUCK_RE1_WERT_0XDCF2", STAT_REIFENDRUCK_RE1_WERT_0XDCF2, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF2 = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF2", STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF2, "\"°\"");
unsigned char STAT_RADPOSITON_RE2_0XDCF2 = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_RADPOSITON_RE2_0XDCF2", STAT_RADPOSITON_RE2_0XDCF2, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT_0XDCF2 = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLDRUCK_RE2_WERT_0XDCF2", STAT_BEFUELLDRUCK_RE2_WERT_0XDCF2, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF2 = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF2", STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF2, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDCF2 = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENDRUCK_RE2_WERT_0XDCF2", STAT_REIFENDRUCK_RE2_WERT_0XDCF2, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF2 = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF2", STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF2, "\"°\"");
unsigned char STAT_RADPOSITON_RE3_0XDCF2 = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_RADPOSITON_RE3_0XDCF2", STAT_RADPOSITON_RE3_0XDCF2, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT_0XDCF2 = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLDRUCK_RE3_WERT_0XDCF2", STAT_BEFUELLDRUCK_RE3_WERT_0XDCF2, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF2 = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF2", STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF2, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDCF2 = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENDRUCK_RE3_WERT_0XDCF2", STAT_REIFENDRUCK_RE3_WERT_0XDCF2, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF2 = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF2", STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF2, "\"°\"");
unsigned char STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF2 = (RXBUF_UCHAR(62));
// Warning events counter / Zaehler Warnereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_2", "STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF2", STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF2, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_RDC_HS_WARNEREIGNIS_WEICH_3: { // 0xDCF3
if (datalen < 63) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_RDC_HS_WARNEREIGNIS_WEICH_3", 63);
break;
}
long STAT_KILOMETERSTAND_WERT_0XDCF3 = (RXBUF_SINT32(18));
// Mileage (-999999 km => invalid) / Kilometerstand (-999999 km => ungueltig)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_KILOMETERSTAND_WERT_0XDCF3", STAT_KILOMETERSTAND_WERT_0XDCF3, "\"km\"");
unsigned long STAT_SYSTEMFLAGS_WERT_0XDCF3 = (RXBUF_UINT32(22));
// System flags / Systemflags
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_SYSTEMFLAGS_WERT_0XDCF3", STAT_SYSTEMFLAGS_WERT_0XDCF3, "\"HEX\"");
char STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF3 = (RXBUF_SCHAR(26));
// Outside temperature when filling / Aussentemperatur beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF3", STAT_BEFUELL_AUSSENTEMPERATUR_WERT_0XDCF3, "\"°\"");
float STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF3 = (RXBUF_SINT(27)/1000.0f);
// External pressure when filling / Aussendruck beim Befüllen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF3", STAT_BEFUELL_AUSSENDRUCK_WERT_0XDCF3, "\"bar\"");
char STAT_AUSSENTEMPERATUR_WERT_0XDCF3 = (RXBUF_SCHAR(29));
// Outside temperature at warning event / Aussentemperatur bei Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_AUSSENTEMPERATUR_WERT_0XDCF3", STAT_AUSSENTEMPERATUR_WERT_0XDCF3, "\"°\"");
float STAT_AUSSENDRUCK_WERT_0XDCF3 = (RXBUF_SINT(30)/1000.0f);
// External pressure in the event of a warning / Aussendruck beim Warnereignis
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_AUSSENDRUCK_WERT_0XDCF3", STAT_AUSSENDRUCK_WERT_0XDCF3, "\"bar\"");
unsigned char STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF3 = (RXBUF_UCHAR(32));
// Wheel electronics status of the wheel causing the breakdown / Radelektronik-Status des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF3", STAT_RADELEKTRONIK_STATUS_PANNENRAD_WERT_0XDCF3, "\"HEX\"");
unsigned char STAT_RADPOSITION_PANNENRAD_0XDCF3 = (RXBUF_UCHAR(33));
// Wheel position of the wheel causing the breakdown / Radposition des Pannenauslösenden Rades
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_RADPOSITION_PANNENRAD_0XDCF3", STAT_RADPOSITION_PANNENRAD_0XDCF3, "\"0-n\"");
unsigned char STAT_RADPOSITON_RE0_0XDCF3 = (RXBUF_UCHAR(34));
// Wheel position RE0 / Radposition RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_RADPOSITON_RE0_0XDCF3", STAT_RADPOSITON_RE0_0XDCF3, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE0_WERT_0XDCF3 = (RXBUF_SINT(35)/1000.0f);
// Filling pressure value RE0 / Befuelldruckwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLDRUCK_RE0_WERT_0XDCF3", STAT_BEFUELLDRUCK_RE0_WERT_0XDCF3, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF3 = (RXBUF_SCHAR(37));
// Filling temperature value RE0 / Befuelltemperaturwert RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF3", STAT_BEFUELLTEMPERATUR_RE0_WERT_0XDCF3, "\"°C\"");
float STAT_REIFENDRUCK_RE0_WERT_0XDCF3 = (RXBUF_SINT(38)/1000.0f);
// Tire pressure RE0 / Reifenddruck RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENDRUCK_RE0_WERT_0XDCF3", STAT_REIFENDRUCK_RE0_WERT_0XDCF3, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF3 = (RXBUF_SCHAR(40));
// Tire temperature RE0 / Reifentemperatur RE0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF3", STAT_REIFENTEMPERATUR_RE0_WERT_0XDCF3, "\"°\"");
unsigned char STAT_RADPOSITON_RE1_0XDCF3 = (RXBUF_UCHAR(41));
// Wheel position RE1 / Radposition RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_RADPOSITON_RE1_0XDCF3", STAT_RADPOSITON_RE1_0XDCF3, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE1_WERT_0XDCF3 = (RXBUF_SINT(42)/1000.0f);
// Filling pressure value RE1 / Befuelldruckwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLDRUCK_RE1_WERT_0XDCF3", STAT_BEFUELLDRUCK_RE1_WERT_0XDCF3, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF3 = (RXBUF_SCHAR(44));
// Filling temperature value RE1 / Befuelltemperaturwert RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF3", STAT_BEFUELLTEMPERATUR_RE1_WERT_0XDCF3, "\"°C\"");
float STAT_REIFENDRUCK_RE1_WERT_0XDCF3 = (RXBUF_SINT(45)/1000.0f);
// Tire pressure RE1 / Reifenddruck RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENDRUCK_RE1_WERT_0XDCF3", STAT_REIFENDRUCK_RE1_WERT_0XDCF3, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF3 = (RXBUF_SCHAR(47));
// Tire temperature RE1 / Reifentemperatur RE1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF3", STAT_REIFENTEMPERATUR_RE1_WERT_0XDCF3, "\"°\"");
unsigned char STAT_RADPOSITON_RE2_0XDCF3 = (RXBUF_UCHAR(48));
// Wheel position RE2 / Radposition RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_RADPOSITON_RE2_0XDCF3", STAT_RADPOSITON_RE2_0XDCF3, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE2_WERT_0XDCF3 = (RXBUF_SINT(49)/1000.0f);
// Filling pressure value RE2 / Befuelldruckwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLDRUCK_RE2_WERT_0XDCF3", STAT_BEFUELLDRUCK_RE2_WERT_0XDCF3, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF3 = (RXBUF_SCHAR(51));
// Filling temperature value RE2 / Befuelltemperaturwert RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF3", STAT_BEFUELLTEMPERATUR_RE2_WERT_0XDCF3, "\"°C\"");
float STAT_REIFENDRUCK_RE2_WERT_0XDCF3 = (RXBUF_SINT(52)/1000.0f);
// Tire pressure RE2 / Reifenddruck RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENDRUCK_RE2_WERT_0XDCF3", STAT_REIFENDRUCK_RE2_WERT_0XDCF3, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF3 = (RXBUF_SCHAR(54));
// Tire temperature RE2 / Reifentemperatur RE2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF3", STAT_REIFENTEMPERATUR_RE2_WERT_0XDCF3, "\"°\"");
unsigned char STAT_RADPOSITON_RE3_0XDCF3 = (RXBUF_UCHAR(55));
// Wheel position RE3 / Radposition RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_RADPOSITON_RE3_0XDCF3", STAT_RADPOSITON_RE3_0XDCF3, "\"0-n\"");
float STAT_BEFUELLDRUCK_RE3_WERT_0XDCF3 = (RXBUF_SINT(56)/1000.0f);
// Filling pressure value RE3 / Befuelldruckwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLDRUCK_RE3_WERT_0XDCF3", STAT_BEFUELLDRUCK_RE3_WERT_0XDCF3, "\"bar\"");
char STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF3 = (RXBUF_SCHAR(58));
// Filling temperature value RE3 / Befuelltemperaturwert RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF3", STAT_BEFUELLTEMPERATUR_RE3_WERT_0XDCF3, "\"°C\"");
float STAT_REIFENDRUCK_RE3_WERT_0XDCF3 = (RXBUF_SINT(59)/1000.0f);
// Tire pressure RE3 / Reifenddruck RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENDRUCK_RE3_WERT_0XDCF3", STAT_REIFENDRUCK_RE3_WERT_0XDCF3, "\"bar\"");
char STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF3 = (RXBUF_SCHAR(61));
// Tire temperature RE3 / Reifentemperatur RE3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF3", STAT_REIFENTEMPERATUR_RE3_WERT_0XDCF3, "\"°\"");
unsigned char STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF3 = (RXBUF_UCHAR(62));
// Warning events counter / Zaehler Warnereignisse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "RDC_HS_WARNEREIGNIS_WEICH_3", "STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF3", STAT_ZAEHLER_WARNEREIGNIS_WERT_0XDCF3, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_STATUS_AUTO_EPB_ZAEHLER: { // 0xDD1B
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_STATUS_AUTO_EPB_ZAEHLER", 2);
break;
}
unsigned short STAT_AUTO_EPB_ZAEHLER_WERT = (RXBUF_UINT(0));
// Indicates how often the roll-away protection was active. / Gibt an, wie oft die Wegrollsicherung aktiv war.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "STATUS_AUTO_EPB_ZAEHLER", "STAT_AUTO_EPB_ZAEHLER_WERT", STAT_AUTO_EPB_ZAEHLER_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_EXTERNE_ANFORDERUNG_EPB_ZAEHLER_LESEN: { // 0xE354
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_EXTERNE_ANFORDERUNG_EPB_ZAEHLER_LESEN", 2);
break;
}
unsigned short STAT_ZAEHLERSTAND_EPB_AKTIVIERUNG_WERT = (RXBUF_UINT(0));
// Returns the number of EPB activations by external transmission requests / Gibt Anzahl der EPB-Aktivierungen
// durch externe Getriebe-Anforderungen zurück
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "EXTERNE_ANFORDERUNG_EPB_ZAEHLER_LESEN", "STAT_ZAEHLERSTAND_EPB_AKTIVIERUNG_WERT", STAT_ZAEHLERSTAND_EPB_AKTIVIERUNG_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC__SW_IDENTIFIKATION: { // 0x4000
if (datalen < 11) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC__SW_IDENTIFIKATION", 11);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FAHRZEUGZUSTAND: { // 0x5002
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FAHRZEUGZUSTAND", 1);
break;
}
unsigned char STAT_FAHRZEUGZUSTAND_WERT = (RXBUF_UCHAR(0));
// Image of the Flexray signal ST_VEH_CON / Abbild des Flexraysignals ST_VEH_CON
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "FAHRZEUGZUSTAND", "STAT_FAHRZEUGZUSTAND_WERT", STAT_FAHRZEUGZUSTAND_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_ANTRIEBSZUSTAND: { // 0x5004
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_ANTRIEBSZUSTAND", 1);
break;
}
unsigned char STAT_ANTRIEBSZUSTAND_WERT = (RXBUF_UCHAR(0));
// Image of the Flexray signal ST_DRV_VEH / Abbild des Flexraysignals ST_DRV_VEH
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "ANTRIEBSZUSTAND", "STAT_ANTRIEBSZUSTAND_WERT", STAT_ANTRIEBSZUSTAND_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_SPANNUNGSMASTER_VERFUEGBAR: { // 0x5008
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_SPANNUNGSMASTER_VERFUEGBAR", 1);
break;
}
unsigned char STAT_SPANNUNGSMASTER_VERFUEGBAR_WERT = (RXBUF_UCHAR(0));
// Voltage master available (see description of voltage threshold client) and decision logic error cause (bit 0:
// availability of voltage master; bit 4 = 1: DSC internal error as cause; bit 5 = 1: BBx error or RDCI error as
// cause; bits 1,2,3,6 , 7 not used) / Spannungsmaster verfügbar (siehe Beschreibung Spannungsschwellenclient)
// und Entscheidungslogik Fehlerursache (Bit 0: Verfügbarkeit der Spannungsmaster; Bit 4 = 1: DSC interner Fehler
// als Ursache; Bit 5 = 1: BBx Fehler oder RDCI Fehler als Ursache; Bits 1,2,3,6,7 nicht genutzt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "SPANNUNGSMASTER_VERFUEGBAR", "STAT_SPANNUNGSMASTER_VERFUEGBAR_WERT", STAT_SPANNUNGSMASTER_VERFUEGBAR_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FUNKTIONSZUSTAND: { // 0x500B
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FUNKTIONSZUSTAND", 2);
break;
}
unsigned short STAT_FUNKTIONSZUSTAND_WERT = (RXBUF_UINT(0));
// Functional status of the controller: ABS, ASC, FDR, GMV, ECBA, IBrake, start-up assistant, autohold, EMF
// status, image of the flexray signal ST_BRG_DV, direction of travel / Funktionszustand der Regler: ABS, ASC,
// FDR, GMV, ECBA, IBrake, Anfahrassistent, Autohold, EMF-Zustand, Abbild des Flexraysignals ST_BRG_DV,
// Fahrtrichtung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "DSC", "FUNKTIONSZUSTAND", "STAT_FUNKTIONSZUSTAND_WERT", STAT_FUNKTIONSZUSTAND_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_INTERNER_FUNKTIONSZUSTAND: { // 0x500C
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_INTERNER_FUNKTIONSZUSTAND", 1);
break;
}
unsigned char STAT_INTERNER_FUNKTIONSZUSTAND_WERT = (RXBUF_UCHAR(0));
// ECU internal status / Steuergeräte interner Zustand
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "INTERNER_FUNKTIONSZUSTAND", "STAT_INTERNER_FUNKTIONSZUSTAND_WERT", STAT_INTERNER_FUNKTIONSZUSTAND_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_FEHLERSPEICHERSPERRE_AKTIV: { // 0x500F
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_FEHLERSPEICHERSPERRE_AKTIV", 1);
break;
}
unsigned char STAT_FEHLERSPEICHERSPERRE_AKTIV = (RXBUF_UCHAR(0));
// Image of the Flexray signal ST_ILK_ERRM_FZM (fault memory lock) / Abbild des Flexraysignals ST_ILK_ERRM_FZM
// (Fehlerspeichersperre)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "DSC", "FEHLERSPEICHERSPERRE_AKTIV", "STAT_FEHLERSPEICHERSPERRE_AKTIV", STAT_FEHLERSPEICHERSPERRE_AKTIV, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_DSC_NETZWERK_ROHDATEN: { // 0x5010
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_DSC_NETZWERK_ROHDATEN", 4);
break;
}
long STAT_ROHDATEN_WERT = (RXBUF_SINT32(0));
// NETWORK_ROHDATEN UWB / NETZWERK_ROHDATEN UWB
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%ld%s\n", "DSC", "NETZWERK_ROHDATEN", "STAT_ROHDATEN_WERT", STAT_ROHDATEN_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}