// // Warning: don't edit - generated by generate_ecu_code.pl processing ../dev/fzd_f15.json: FZD 56: Roof function centre // This generated code makes it easier to process CANBUS messages from the FZD ecu in a BMW i3 // case I3_PID_FZD_DWA_SINE_ANSTEUERUNG: { // 0xAA70 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_SINE_BATT_LEVEL_RESET: { // 0xAA71 // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_ALARM_ANZAHL_LOESCHEN: { // 0xAA7A // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_HALLSENSOREN: { // 0xD180 if (datalen < 6) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_HALLSENSOREN", 6); break; } unsigned char STAT_HALL_A_SCHALTZUSTAND_EIN = (RXBUF_UCHAR(0)); // Hall A switching state 0x00: Off 0x01: On / Hall A Schaltzustand 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_HALLSENSOREN", "STAT_HALL_A_SCHALTZUSTAND_EIN", STAT_HALL_A_SCHALTZUSTAND_EIN, "\"0/1\""); unsigned char STAT_HALL_A_VERSORGUNG_EIN = (RXBUF_UCHAR(1)); // Hall A supply 0x00: Off 0x01: On / Hall A Versorgung 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_HALLSENSOREN", "STAT_HALL_A_VERSORGUNG_EIN", STAT_HALL_A_VERSORGUNG_EIN, "\"0/1\""); unsigned char STAT_HALL_A_FEHLERZUSTAND_NR = (RXBUF_UCHAR(2)); // Error status Hall connection see table TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND / Fehlerzustand Hallanschluss siehe // Tabelle TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_HALLSENSOREN", "STAT_HALL_A_FEHLERZUSTAND_NR", STAT_HALL_A_FEHLERZUSTAND_NR, "\"0-n\""); unsigned char STAT_HALL_B_SCHALTZUSTAND_EIN = (RXBUF_UCHAR(3)); // Hall B switching state 0x00: Off 0x01: On / Hall B Schaltzustand 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_HALLSENSOREN", "STAT_HALL_B_SCHALTZUSTAND_EIN", STAT_HALL_B_SCHALTZUSTAND_EIN, "\"0/1\""); unsigned char STAT_HALL_B_VERSORGUNG_EIN = (RXBUF_UCHAR(4)); // Hall B supply 0x00: Off 0x01: On / Hall B Versorgung 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_HALLSENSOREN", "STAT_HALL_B_VERSORGUNG_EIN", STAT_HALL_B_VERSORGUNG_EIN, "\"0/1\""); unsigned char STAT_HALL_B_FEHLERZUSTAND_NR = (RXBUF_UCHAR(5)); // Error status Hall connection see table TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND / Fehlerzustand Hallanschluss siehe // Tabelle TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_HALLSENSOREN", "STAT_HALL_B_FEHLERZUSTAND_NR", STAT_HALL_B_FEHLERZUSTAND_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_ESH_TASTER: { // 0xD192 if (datalen < 5) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_ESH_TASTER", 5); break; } unsigned char STAT_TASTER_SHD_ESH_NR = (RXBUF_UCHAR(0)); // For button request see table TAB_FH_ESH_VERFAHREN / Tasteranforderung siehe Tabelle TAB_FH_ESH_VERFAHREN ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_ESH_TASTER", "STAT_TASTER_SHD_ESH_NR", STAT_TASTER_SHD_ESH_NR, "\"0-n\""); unsigned long STAT_TASTER_RESERVE = (RXBUF_UINT32(1)); // still vacant / noch unbelgt ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_ESH_TASTER", "STAT_TASTER_RESERVE", STAT_TASTER_RESERVE, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_VORHANDEN: { // 0xD193 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_VORHANDEN", 1); break; } unsigned char STAT_VORHANDEN_ESH = (RXBUF_UCHAR(0)); // 0x00: electric sliding headliner not available 0x01: electric sliding headliner available / 0x00: elektrischer // Schiebehimmel nicht vorhanden 0x01: elektrischer Schiebehimmel vorhanden ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_VORHANDEN", "STAT_VORHANDEN_ESH", STAT_VORHANDEN_ESH, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_ESH_TASTER_VORHANDEN: { // 0xD194 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_ESH_TASTER_VORHANDEN", 1); break; } char STAT_VORHANDEN_TASTER_SHD_ESH = (RXBUF_UCHAR(0)); // 0x00: No SHD button available 0x01: SHD button available / 0x00: Kein SHD-Taster vorhanden 0x01: SHD-Taster // vorhanden ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_ESH_TASTER_VORHANDEN", "STAT_VORHANDEN_TASTER_SHD_ESH", STAT_VORHANDEN_TASTER_SHD_ESH, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_VORHANDEN: { // 0xD195 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_VORHANDEN", 1); break; } char STAT_VORHANDEN_SHD = (RXBUF_UCHAR(0)); // 1: Sunroof available / 1: Schiebedach vorhanden ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_VORHANDEN", "STAT_VORHANDEN_SHD", STAT_VORHANDEN_SHD, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_BEWEGUNG: { // 0xD196 if (datalen < 24) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_BEWEGUNG", 24); break; } unsigned char STAT_SHD_INIT_NR = (RXBUF_UCHAR(0)); // For the initialization result, see table TAB_FH_SHD_ESH_INIT / Initialisierungsergebnis siehe Tabelle // TAB_FH_SHD_ESH_INIT ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_INIT_NR", STAT_SHD_INIT_NR, "\"0-n\""); unsigned char STAT_SHD_BEWEGUNG_NR = (RXBUF_UCHAR(1)); // Movement of the element see table TAB_FH_SHD_ESH_BEWEGUNG / Bewegung des Elements siehe Tabelle // TAB_FH_SHD_ESH_BEWEGUNG ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_BEWEGUNG_NR", STAT_SHD_BEWEGUNG_NR, "\"0-n\""); unsigned char STAT_SHD_POSITION_NR = (RXBUF_UCHAR(2)); // For the current position of the glass lid, see table TAB_FH_SHD_ESH_POSITION / Aktuelle Position des // Glasdeckels siehe Tabelle TAB_FH_SHD_ESH_POSITION ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_NR", STAT_SHD_POSITION_NR, "\"0-n\""); unsigned short STAT_SHD_POSITION_HALL_WERT = (RXBUF_UINT(3)); // Current position in Hall pulses (500 means completely closed) / Aktuelle Position in Hall-Pulsen (500 bedeutet // komplett geschlossen) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_HALL_WERT", STAT_SHD_POSITION_HALL_WERT, "\"Ink\""); unsigned short STAT_SHD_POSITION_HALL_MIN_WERT = (RXBUF_UINT(5)); // Minimum position in Hall pulses / Minimale Position in Hall-Pulsen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_HALL_MIN_WERT", STAT_SHD_POSITION_HALL_MIN_WERT, "\"Ink\""); unsigned short STAT_SHD_POSITION_HALL_MAX_WERT = (RXBUF_UINT(7)); // Maximum position in Hall pulses / Maximale Position in Hall-Pulsen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_HALL_MAX_WERT", STAT_SHD_POSITION_HALL_MAX_WERT, "\"Ink\""); unsigned short STAT_SHD_POSITION_MM_WERT = (RXBUF_UINT(9)); // Slide travel in mm between MIN and MAX in millimeters (0 means completely closed) / Schlittenweg in mm // zwischen MIN und MAX in Millimeter (0 bedeut komplett geschlossen) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_MM_WERT", STAT_SHD_POSITION_MM_WERT, "\"mm\""); unsigned short STAT_SHD_POSITION_MM_MIN_WERT = (RXBUF_UINT(11)); // Minimum position in millimeters / Minimale Position in Millimeter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_MM_MIN_WERT", STAT_SHD_POSITION_MM_MIN_WERT, "\"mm\""); unsigned short STAT_SHD_POSITION_MM_MAX_WERT = (RXBUF_UINT(13)); // Maximum position in millimeters / Maximale Position in Millimeter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_MM_MAX_WERT", STAT_SHD_POSITION_MM_MAX_WERT, "\"mm\""); unsigned char STAT_SHD_POSITION_PROZENT_WERT = (RXBUF_UCHAR(15)); // % of the maximum travel 0% means open / 100% means closed / % vom maximalen Verfahrweg 0% bedeutet offen /100% // bedeutet geschlossen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_POSITION_PROZENT_WERT", STAT_SHD_POSITION_PROZENT_WERT, "\"%\""); unsigned char STAT_SHD_LAGE_NR = (RXBUF_UCHAR(16)); // For the position of the glass cover, see table TAB_FH_SHD_ESH_LAGE_NR / Lage Glasdeckel siehe Tabelle // TAB_FH_SHD_ESH_LAGE_NR ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_LAGE_NR", STAT_SHD_LAGE_NR, "\"0-n\""); unsigned char STAT_SHD_ZUSTAND_TUER_NR = (RXBUF_UCHAR(17)); // Status of the door contact that is available to the motor driver. see table TAB_FH_SHD_ESH_ZUSTAND_TUER / // Status Türkontakt, der den Motortreiber zur Verfügung steht. siehe Tabelle TAB_FH_SHD_ESH_ZUSTAND_TUER ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_ZUSTAND_TUER_NR", STAT_SHD_ZUSTAND_TUER_NR, "\"0-n\""); unsigned char STAT_SHD_FREIGABE_AKTIV_NR = (RXBUF_UCHAR(18)); // For release status, see table TAB_FH_SHD_ESH_FREIGABE / Freigabezustand siehe Tabelle TAB_FH_SHD_ESH_FREIGABE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_FREIGABE_AKTIV_NR", STAT_SHD_FREIGABE_AKTIV_NR, "\"0-n\""); unsigned char STAT_SHD_PANIKMODUS_AKTIV_NR = (RXBUF_UCHAR(19)); // Status link enable panic mode / Status Verknüpfung Freigabe Panikmodus ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_PANIKMODUS_AKTIV_NR", STAT_SHD_PANIKMODUS_AKTIV_NR, "\"0-n\""); unsigned long STAT_SHD_RESERVE = (RXBUF_UINT32(20)); // reserve / Reserve ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_BEWEGUNG", "STAT_SHD_RESERVE", STAT_SHD_RESERVE, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_STATUS_DETAIL: { // 0xD1A6 if (datalen < 24) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_STATUS_DETAIL", 24); break; } unsigned char STAT_SHD_RESERVE_1 = (RXBUF_UCHAR(0)); // Not used by SHD! / Von SHD nicht benutzt! ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_RESERVE_1", STAT_SHD_RESERVE_1, "\"0-n\""); unsigned char STAT_SHD_MOTORTEMPERATUR_NR = (RXBUF_UCHAR(1)); // For motor temperature ranges see table TAB_FH_SHD_ESH_MOTORTEMPERATUR / Motortemperaturbereiche siehe Tabelle // TAB_FH_SHD_ESH_MOTORTEMPERATUR ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_MOTORTEMPERATUR_NR", STAT_SHD_MOTORTEMPERATUR_NR, "\"0-n\""); unsigned char STAT_SHD_AUSSENTEMPERATUR_WERT = (RXBUF_UCHAR(2)); // Outside temperature (coding analogue to CAN signal) / Aussentemperatur (Codierung analog CAN-Signal) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_AUSSENTEMPERATUR_WERT", STAT_SHD_AUSSENTEMPERATUR_WERT, "\"°C\""); unsigned char STAT_SHD_MT_LIEFERANT_NR = (RXBUF_UCHAR(3)); // For the supplier of the motor driver, see table TAB_FH_SHD_ESH_MT_LIEFERANT / Lieferant des Motortreibers // siehe Tabelle TAB_FH_SHD_ESH_MT_LIEFERANT ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_MT_LIEFERANT_NR", STAT_SHD_MT_LIEFERANT_NR, "\"0-n\""); unsigned long STAT_SHD_MT_SW_VERSION = (RXBUF_UINT32(4)); // SW version Byte 0 = Patchlevelnumber Byte 1 = Minorversionnumber Byte2 = Majorversionnumber Byte3 = unused / // SW-Version Byte 0 = Patchlevelnumber Byte 1 = Minorversionnumber Byte2 = Majorversionnumber Byte3 = unused ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_MT_SW_VERSION", STAT_SHD_MT_SW_VERSION, "\"0-n\""); unsigned char STAT_SHD_EEPROM_PRUEFSUMME_NR = (RXBUF_UCHAR(8)); // Status EEPROM checksum see table TAB_FH_SHD_ESH_STAT_EEPROM / Status EEPROM Checksumme siehe Tabelle // TAB_FH_SHD_ESH_STAT_EEPROM ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_EEPROM_PRUEFSUMME_NR", STAT_SHD_EEPROM_PRUEFSUMME_NR, "\"0-n\""); unsigned char STAT_SHD_RESERVE_2 = (RXBUF_UCHAR(9)); // Not used by SHD for the time being! / Von SHD vorerst nicht benutzt! ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_RESERVE_2", STAT_SHD_RESERVE_2, "\"0-n\""); unsigned char STAT_SHD_WACHHALTEN = (RXBUF_UCHAR(10)); // For the status of preventing sleep, see table TAB_FH_SHD_ESH_WACHHALTEN / Status Einschlaf-Verhinderung siehe // Tabelle TAB_FH_SHD_ESH_WACHHALTEN ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_WACHHALTEN", STAT_SHD_WACHHALTEN, "\"0-n\""); unsigned char STAT_SHD_FZG_GESCHWINDIGKEIT = (RXBUF_UCHAR(11)); // Vehicle speed (coding analogue to CAN signal) / Fahrzeuggeschwindigkeit (Codierung analog CAN-Signal) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_FZG_GESCHWINDIGKEIT", STAT_SHD_FZG_GESCHWINDIGKEIT, "\"0-n\""); unsigned long STAT_SHD_RELATIVZEIT = (RXBUF_UINT32(12)); // Current relative time (as received from the bus) / Aktuelle Relativ-Zeit (wie vom Bus erhalten) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_RELATIVZEIT", STAT_SHD_RELATIVZEIT, "\"0-n\""); unsigned char STAT_SHD_TEMPERATUR_UEBERWACHUNG = (RXBUF_UCHAR(16)); // Status activation temperature monitoring 0x00: Off 0x01: On / Status Aktivierung Temperaturüberwachung 0x00: // Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_TEMPERATUR_UEBERWACHUNG", STAT_SHD_TEMPERATUR_UEBERWACHUNG, "\"0/1\""); unsigned char STAT_SHD_EKS_AKTIV = (RXBUF_UCHAR(17)); // EKS activation status 0x00: Off 0x01: On / Status Aktivierung EKS 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_EKS_AKTIV", STAT_SHD_EKS_AKTIV, "\"0/1\""); unsigned char STAT_SHD_FREIGABE_DEAKTIVIERT = (RXBUF_UCHAR(18)); // Status link enable 0x00: Off 0x01: On / Status Verknüpfung Freigabe 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_FREIGABE_DEAKTIVIERT", STAT_SHD_FREIGABE_DEAKTIVIERT, "\"0/1\""); unsigned char STAT_SHD_PANIKMODUS_DEAKTIVIERT = (RXBUF_UCHAR(19)); // Status link enable panic mode 0x00: Off 0x01: On / Status Verknüpfung Freigabe Panikmodus 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_PANIKMODUS_DEAKTIVIERT", STAT_SHD_PANIKMODUS_DEAKTIVIERT, "\"0/1\""); unsigned long STAT_SHD_RESERVE_0XD1A6 = (RXBUF_UINT32(20)); // Reserve for extensions / Reserve für Erweiterungen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATUS_DETAIL", "STAT_SHD_RESERVE_0XD1A6", STAT_SHD_RESERVE_0XD1A6, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_RELAIS: { // 0xD1B9 if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_RELAIS", 8); break; } unsigned char STAT_RELAIS_A_ANSTEUERUNG_EIN = (RXBUF_UCHAR(0)); // Status control relay A 0x00: Off 0x01: On / Status Ansteuerung Relais A 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_RELAIS", "STAT_RELAIS_A_ANSTEUERUNG_EIN", STAT_RELAIS_A_ANSTEUERUNG_EIN, "\"0/1\""); unsigned char STAT_RELAIS_A_RUECK_EIN = (RXBUF_UCHAR(1)); // Status of the read-back line relay A 0x00: Off 0x01: On / Status Rückleseleitung Relais A 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_RELAIS", "STAT_RELAIS_A_RUECK_EIN", STAT_RELAIS_A_RUECK_EIN, "\"0/1\""); unsigned char STAT_RELAIS_B_ANSTEUERUNG_EIN = (RXBUF_UCHAR(2)); // Status control relay B 0x00: Off 0x01: On / Status Ansteuerung Relais B 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_RELAIS", "STAT_RELAIS_B_ANSTEUERUNG_EIN", STAT_RELAIS_B_ANSTEUERUNG_EIN, "\"0/1\""); unsigned char STAT_RELAIS_B_RUECK_EIN = (RXBUF_UCHAR(3)); // Status of the readback line relay B 0x00: Off 0x01: On / Status Rückleseleitung Relais B 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_RELAIS", "STAT_RELAIS_B_RUECK_EIN", STAT_RELAIS_B_RUECK_EIN, "\"0/1\""); float STAT_RELAIS_A_VERSORGUNG_WERT = (RXBUF_UINT(4)/100.0f); // Input voltage at the relay (terminal voltage of the motor). Resolution 0.01 V / Eingangsspannung am Relais // (Klemmenspannung des Motors) . Auflösung 0,01 V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "FZD", "SHD_RELAIS", "STAT_RELAIS_A_VERSORGUNG_WERT", STAT_RELAIS_A_VERSORGUNG_WERT, "\"V\""); float STAT_RELAIS_B_VERSORGUNG_WERT = (RXBUF_UINT(6)/100.0f); // Input voltage at the relay (terminal voltage of the motor). Resolution 0.01 V / Eingangsspannung am Relais // (Klemmenspannung des Motors) . Auflösung 0,01 V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "FZD", "SHD_RELAIS", "STAT_RELAIS_B_VERSORGUNG_WERT", STAT_RELAIS_B_VERSORGUNG_WERT, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_BEWEGUNG: { // 0xD1BA if (datalen < 24) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_BEWEGUNG", 24); break; } unsigned char STAT_ESH_INIT_NR = (RXBUF_UCHAR(0)); // For the initialization result, see table TAB_FH_SHD_ESH_INIT / Initialisierungsergebnis siehe Tabelle // TAB_FH_SHD_ESH_INIT ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_INIT_NR", STAT_ESH_INIT_NR, "\"0-n\""); unsigned char STAT_ESH_BEWEGUNG_NR = (RXBUF_UCHAR(1)); // Movement of the element see table TAB_FH_SHD_ESH_BEWEGUNG / Bewegung des Elements siehe Tabelle // TAB_FH_SHD_ESH_BEWEGUNG ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_BEWEGUNG_NR", STAT_ESH_BEWEGUNG_NR, "\"0-n\""); unsigned char STAT_ESH_POSITION_NR = (RXBUF_UCHAR(2)); // Current position of the sliding headliner see table TAB_FH_SHD_ESH_POSITION / Aktuelle Position des // Schiebehimmels siehe Tabelle TAB_FH_SHD_ESH_POSITION ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_NR", STAT_ESH_POSITION_NR, "\"0-n\""); unsigned short STAT_ESH_POSITION_HALL_WERT = (RXBUF_UINT(3)); // Current position in Hall pulses (500 means completely closed) / Aktuelle Position in Hall-Pulsen (500 bedeutet // komplett geschlossen) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_HALL_WERT", STAT_ESH_POSITION_HALL_WERT, "\"Ink\""); unsigned short STAT_ESH_POSITION_HALL_MIN_WERT = (RXBUF_UINT(5)); // Minimum position in Hall pulses / Minimale Position in Hall-Pulsen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_HALL_MIN_WERT", STAT_ESH_POSITION_HALL_MIN_WERT, "\"Ink\""); unsigned short STAT_ESH_POSITION_HALL_MAX_WERT = (RXBUF_UINT(7)); // Maximum position in Hall pulses / Maximale Position in Hall-Pulsen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_HALL_MAX_WERT", STAT_ESH_POSITION_HALL_MAX_WERT, "\"Ink\""); unsigned short STAT_ESH_POSITION_MM_WERT = (RXBUF_UINT(9)); // supplies the slide path in mm between MIN and MAX in millimeters (0 means completely closed) / liefert den // Schlittenweg in mm zwischen MIN und MAX in Millimeter (0 bedeut komplett geschlossen) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_MM_WERT", STAT_ESH_POSITION_MM_WERT, "\"mm\""); unsigned short STAT_ESH_POSITION_MM_MIN_WERT = (RXBUF_UINT(11)); // Minimum position in millimeters / Minimale Position in Millimeter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_MM_MIN_WERT", STAT_ESH_POSITION_MM_MIN_WERT, "\"mm\""); unsigned short STAT_ESH_POSITION_MM_MAX_WERT = (RXBUF_UINT(13)); // Maximum position in millimeters / Maximale Position in Millimeter ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_MM_MAX_WERT", STAT_ESH_POSITION_MM_MAX_WERT, "\"mm\""); unsigned char STAT_ESH_POSITION_PROZENT_WERT = (RXBUF_UCHAR(15)); // % of the maximum travel 0% open / 100% closed / % vom maximalen Verfahrweg 0% offen / 100% geschlossen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_POSITION_PROZENT_WERT", STAT_ESH_POSITION_PROZENT_WERT, "\"%\""); unsigned char STAT_ESH_LAGE_NR = (RXBUF_UCHAR(16)); // For the position of the sliding headliner, see table TAB_FH_SHD_ESH_LAGE_NR / Lage Schiebehimmel siehe Tabelle // TAB_FH_SHD_ESH_LAGE_NR ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_LAGE_NR", STAT_ESH_LAGE_NR, "\"0-n\""); unsigned char STAT_ESH_ZUSTAND_TUER_NR = (RXBUF_UCHAR(17)); // Status of the door contact that is available to the motor driver. see table TAB_FH_SHD_ESH_ZUSTAND_TUER / // Status Türkontakt, der den Motortreiber zur Verfügung steht. siehe Tabelle TAB_FH_SHD_ESH_ZUSTAND_TUER ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_ZUSTAND_TUER_NR", STAT_ESH_ZUSTAND_TUER_NR, "\"0-n\""); unsigned char STAT_ESH_FREIGABE_AKTIV_NR = (RXBUF_UCHAR(18)); // For release status, see table TAB_FH_SHD_ESH_FREIGABE / Freigabezustand siehe Tabelle TAB_FH_SHD_ESH_FREIGABE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_FREIGABE_AKTIV_NR", STAT_ESH_FREIGABE_AKTIV_NR, "\"0-n\""); unsigned char STAT_ESH_PANIKMODUS_AKTIV_NR = (RXBUF_UCHAR(19)); // Status link enable panic mode / Status Verknüpfung Freigabe Panikmodus ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_PANIKMODUS_AKTIV_NR", STAT_ESH_PANIKMODUS_AKTIV_NR, "\"0-n\""); unsigned long STAT_ESH_RESERVE = (RXBUF_UINT32(20)); // reserve / Reserve ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_BEWEGUNG", "STAT_ESH_RESERVE", STAT_ESH_RESERVE, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_HALLSENSOREN: { // 0xD1BB if (datalen < 6) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_HALLSENSOREN", 6); break; } unsigned char STAT_HALL_A_SCHALTZUSTAND_EIN_0XD1BB = (RXBUF_UCHAR(0)); // Hall A switching state 0x00: Off 0x01: On / Hall A Schaltzustand 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_HALLSENSOREN", "STAT_HALL_A_SCHALTZUSTAND_EIN_0XD1BB", STAT_HALL_A_SCHALTZUSTAND_EIN_0XD1BB, "\"0/1\""); unsigned char STAT_HALL_A_VERSORGUNG_EIN_0XD1BB = (RXBUF_UCHAR(1)); // Hall A supply 0x00: Off 0x01: On / Hall A Versorgung 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_HALLSENSOREN", "STAT_HALL_A_VERSORGUNG_EIN_0XD1BB", STAT_HALL_A_VERSORGUNG_EIN_0XD1BB, "\"0/1\""); unsigned char STAT_HALL_A_FEHLERZUSTAND_NR_0XD1BB = (RXBUF_UCHAR(2)); // Error status Hall connection see table TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND / Fehlerzustand Hallanschluss siehe // Tabelle TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_HALLSENSOREN", "STAT_HALL_A_FEHLERZUSTAND_NR_0XD1BB", STAT_HALL_A_FEHLERZUSTAND_NR_0XD1BB, "\"0-n\""); unsigned char STAT_HALL_B_SCHALTZUSTAND_EIN_0XD1BB = (RXBUF_UCHAR(3)); // Hall B switching state 0x00: Off 0x01: On / Hall B Schaltzustand 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_HALLSENSOREN", "STAT_HALL_B_SCHALTZUSTAND_EIN_0XD1BB", STAT_HALL_B_SCHALTZUSTAND_EIN_0XD1BB, "\"0/1\""); unsigned char STAT_HALL_B_VERSORGUNG_EIN_0XD1BB = (RXBUF_UCHAR(4)); // Hall B supply 0x00: Off 0x01: On / Hall B Versorgung 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_HALLSENSOREN", "STAT_HALL_B_VERSORGUNG_EIN_0XD1BB", STAT_HALL_B_VERSORGUNG_EIN_0XD1BB, "\"0/1\""); unsigned char STAT_HALL_B_FEHLERZUSTAND_NR_0XD1BB = (RXBUF_UCHAR(5)); // Error status Hall connection see table TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND / Fehlerzustand Hallanschluss siehe // Tabelle TAB_FH_SHD_ESH_HALL_FEHLERZUSTAND ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_HALLSENSOREN", "STAT_HALL_B_FEHLERZUSTAND_NR_0XD1BB", STAT_HALL_B_FEHLERZUSTAND_NR_0XD1BB, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_RELAIS: { // 0xD1BC if (datalen < 8) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_RELAIS", 8); break; } unsigned char STAT_RELAIS_A_ANSTEUERUNG_EIN_0XD1BC = (RXBUF_UCHAR(0)); // Status control relay A 0x00: Off 0x01: On / Status Ansteuerung Relais A 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_RELAIS", "STAT_RELAIS_A_ANSTEUERUNG_EIN_0XD1BC", STAT_RELAIS_A_ANSTEUERUNG_EIN_0XD1BC, "\"0/1\""); unsigned char STAT_RELAIS_A_RUECK_EIN_0XD1BC = (RXBUF_UCHAR(1)); // Status of the read-back line relay A 0x00: Off 0x01: On / Status Rückleseleitung Relais A 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_RELAIS", "STAT_RELAIS_A_RUECK_EIN_0XD1BC", STAT_RELAIS_A_RUECK_EIN_0XD1BC, "\"0/1\""); unsigned char STAT_RELAIS_B_ANSTEUERUNG_EIN_0XD1BC = (RXBUF_UCHAR(2)); // Status control relay B 0x00: Off 0x01: On / Status Ansteuerung Relais B 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_RELAIS", "STAT_RELAIS_B_ANSTEUERUNG_EIN_0XD1BC", STAT_RELAIS_B_ANSTEUERUNG_EIN_0XD1BC, "\"0/1\""); unsigned char STAT_RELAIS_B_RUECK_EIN_0XD1BC = (RXBUF_UCHAR(3)); // Status of the readback line relay B 0x00: Off 0x01: On / Status Rückleseleitung Relais B 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_RELAIS", "STAT_RELAIS_B_RUECK_EIN_0XD1BC", STAT_RELAIS_B_RUECK_EIN_0XD1BC, "\"0/1\""); float STAT_RELAIS_A_VERSORGUNG_WERT_0XD1BC = (RXBUF_UINT(4)/100.0f); // Input voltage at the relay (terminal voltage of the motor). Resolution 0.01 V / Eingangsspannung am Relais // (Klemmenspannung des Motors) . Auflösung 0,01 V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "FZD", "ESH_RELAIS", "STAT_RELAIS_A_VERSORGUNG_WERT_0XD1BC", STAT_RELAIS_A_VERSORGUNG_WERT_0XD1BC, "\"V\""); float STAT_RELAIS_B_VERSORGUNG_WERT_0XD1BC = (RXBUF_UINT(6)/100.0f); // Input voltage at the relay (terminal voltage of the motor). Resolution 0.01 V / Eingangsspannung am Relais // (Klemmenspannung des Motors) . Auflösung 0,01 V ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "FZD", "ESH_RELAIS", "STAT_RELAIS_B_VERSORGUNG_WERT_0XD1BC", STAT_RELAIS_B_VERSORGUNG_WERT_0XD1BC, "\"V\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_STATUS_DETAIL: { // 0xD1BD if (datalen < 24) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_STATUS_DETAIL", 24); break; } unsigned char STAT_ESH_RESERVE_1 = (RXBUF_UCHAR(0)); // Not used by ESH! / Von ESH nicht benutzt! ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_RESERVE_1", STAT_ESH_RESERVE_1, "\"0-n\""); unsigned char STAT_ESH_MOTORTEMPERATUR_NR = (RXBUF_UCHAR(1)); // Motor temperature ranges, see table TAB_FH_SHD_ESH_MOTORTEMPERATUR / Motortemperaturbereiche, siehe Tabelle // TAB_FH_SHD_ESH_MOTORTEMPERATUR ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_MOTORTEMPERATUR_NR", STAT_ESH_MOTORTEMPERATUR_NR, "\"0-n\""); float STAT_ESH_AUSSENTEMPERATUR_WERT = (RXBUF_UCHAR(2)*0.5f-40.0); // Outside temperature (coding analogue to CAN signal) / Aussentemperatur (Codierung analog CAN-Signal) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_AUSSENTEMPERATUR_WERT", STAT_ESH_AUSSENTEMPERATUR_WERT, "\"°C\""); unsigned char STAT_ESH_MT_LIEFERANT_NR = (RXBUF_UCHAR(3)); // Supplier of the motor driver, see table TAB_FH_SHD_ESH_MT_LIEFERANT / Lieferant des Motortreibers, siehe // Tabelle TAB_FH_SHD_ESH_MT_LIEFERANT ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_MT_LIEFERANT_NR", STAT_ESH_MT_LIEFERANT_NR, "\"0-n\""); unsigned long STAT_ESH_MT_SW_VERSION = (RXBUF_UINT32(4)); // SW version Byte 0 = Patchlevelnumber Byte 1 = Minorversionnumber Byte2 = Majorversionnumber Byte3 = unused / // SW-Version Byte 0 = Patchlevelnumber Byte 1 = Minorversionnumber Byte2 = Majorversionnumber Byte3 = unused ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_MT_SW_VERSION", STAT_ESH_MT_SW_VERSION, "\"0-n\""); unsigned char STAT_ESH_EEPROM_PRUEFSUMME_NR = (RXBUF_UCHAR(8)); // Status EEPROM checksum, see table TAB_FH_SHD_ESH_STAT_EEPROM / Status EEPROM Checksumme, siehe Tabelle // TAB_FH_SHD_ESH_STAT_EEPROM ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_EEPROM_PRUEFSUMME_NR", STAT_ESH_EEPROM_PRUEFSUMME_NR, "\"0-n\""); unsigned char STAT_ESH_RESERVE_2 = (RXBUF_UCHAR(9)); // Not used by SHD for the time being! / Von SHD vorerst nicht benutzt! ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_RESERVE_2", STAT_ESH_RESERVE_2, "\"0-n\""); unsigned char STAT_ESH_WACHHALTEN = (RXBUF_UCHAR(10)); // Status of falling asleep prevention, see table TAB_FH_SHD_ESH_WACHHALTEN / Status Einschlaf-Verhinderung, // siehe Tabelle TAB_FH_SHD_ESH_WACHHALTEN ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_WACHHALTEN", STAT_ESH_WACHHALTEN, "\"0-n\""); unsigned char STAT_ESH_FZG_GESCHWINDIGKEIT = (RXBUF_UCHAR(11)); // Vehicle speed (coding analogue to CAN signal) / Fahrzeuggeschwindigkeit (Codierung analog CAN-Signal) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_FZG_GESCHWINDIGKEIT", STAT_ESH_FZG_GESCHWINDIGKEIT, "\"0-n\""); unsigned long STAT_ESH_RELATIVZEIT = (RXBUF_UINT32(12)); // Current relative time (as received from the bus) / Aktuelle Relativ-Zeit (wie vom Bus erhalten) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_RELATIVZEIT", STAT_ESH_RELATIVZEIT, "\"0-n\""); unsigned char STAT_ESH_TEMPERATUR_UEBERWACHUNG = (RXBUF_UCHAR(16)); // Status activation temperature monitoring 0x00: Off 0x01: On / Status Aktivierung Temperaturüberwachung 0x00: // Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_TEMPERATUR_UEBERWACHUNG", STAT_ESH_TEMPERATUR_UEBERWACHUNG, "\"0/1\""); unsigned char STAT_ESH_EKS_AKTIV = (RXBUF_UCHAR(17)); // EKS activation status 0x00: Off 0x01: On / Status Aktivierung EKS 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_EKS_AKTIV", STAT_ESH_EKS_AKTIV, "\"0/1\""); unsigned char STAT_ESH_FREIGABE_DEAKTIVIERT = (RXBUF_UCHAR(18)); // Status link enable 0x00: Off 0x01: On / Status Verknüpfung Freigabe 0x00: Aus 0x01: Ein ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_FREIGABE_DEAKTIVIERT", STAT_ESH_FREIGABE_DEAKTIVIERT, "\"0/1\""); unsigned char STAT_ESH_PANIKMODUS_DEAKTIVIERT = (RXBUF_UCHAR(19)); // Status link enable panic mode 0x00: Panic mode active 0x01: Panic mode deactivated / Status Verknüpfung // Freigabe Panikmodus 0x00: Panikmodus aktiv 0x01: Panikmodus deaktiviert ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_PANIKMODUS_DEAKTIVIERT", STAT_ESH_PANIKMODUS_DEAKTIVIERT, "\"0/1\""); unsigned long STAT_ESH_RESERVE_0XD1BD = (RXBUF_UINT32(20)); // Reserve for extensions / Reserve für Erweiterungen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATUS_DETAIL", "STAT_ESH_RESERVE_0XD1BD", STAT_ESH_RESERVE_0XD1BD, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_STATISTIKZAEHLER_LESEN: { // 0xD1BE if (datalen < 64) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_STATISTIKZAEHLER_LESEN", 64); break; } unsigned short STAT_NACHNORMIERUNG_AUTOMATISCH = (RXBUF_UINT(0)); // Number of automatic readjustments / Anzahl automatische Nachnormierungen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_NACHNORMIERUNG_AUTOMATISCH", STAT_NACHNORMIERUNG_AUTOMATISCH, "\"0-n\""); unsigned short STAT_NACHNORMIERUNG_MANUELL = (RXBUF_UINT(2)); // Number of manual readjustments / Anzahl manuelle Nachnormierungen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_NACHNORMIERUNG_MANUELL", STAT_NACHNORMIERUNG_MANUELL, "\"0-n\""); unsigned short STAT_VERFAHREN_EMERGENCY = (RXBUF_UINT(4)); // Procedure in Emergnecy Close / Verfahren im Emergnecy Close ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VERFAHREN_EMERGENCY", STAT_VERFAHREN_EMERGENCY, "\"0-n\""); unsigned short STAT_PANIC = (RXBUF_UINT(6)); // Procedure in panic mode / Verfahren im Panic Mode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_PANIC", STAT_PANIC, "\"0-n\""); unsigned short STAT_REVERSIER_NORMALMODUS = (RXBUF_UINT(8)); // Number of reversing processes in normal mode / Anzahl der Reversiervorgänge im Normalmode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_REVERSIER_NORMALMODUS", STAT_REVERSIER_NORMALMODUS, "\"0-n\""); unsigned short STAT_REVERSIERER_EMERGENCY = (RXBUF_UINT(10)); // Number of reversing processes in emergency mode / Anzahl Reversiervorgänge im Emergency Mode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_REVERSIERER_EMERGENCY", STAT_REVERSIERER_EMERGENCY, "\"0-n\""); unsigned short STAT_ABBRUCH_MOTORLAUF = (RXBUF_UINT(12)); // Number of times the engine has aborted / Anzahl der Abbrüche des Motorlaufs ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_ABBRUCH_MOTORLAUF", STAT_ABBRUCH_MOTORLAUF, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_80_KMH = (RXBUF_UINT(14)); // Number of opening processes in the range 0-80 km / h / Anzahl Vorgänge Öffnen im Bereich 0-80 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_80_KMH", STAT_VORGANG_OEFFNEN_80_KMH, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_80_KMH = (RXBUF_UINT(16)); // Number of lifting operations / fan position in the range 0-80 km / h / Anzahl Vorgänge Heben/Lüfterposition im // Bereich 0-80 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_80_KMH", STAT_VORGANG_HEBEN_80_KMH, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_80_KMH = (RXBUF_UINT(18)); // Number of closing processes in the range 0-80 km / h / Anzahl Vorgänge Schliessen im Bereich 0-80 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_80_KMH", STAT_VORGANG_SCHLIESSEN_80_KMH, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_120_KMH = (RXBUF_UINT(20)); // Number of opening processes in the range 80-120 km / h / Anzahl Vorgänge Öffnen im Bereich 80-120 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_120_KMH", STAT_VORGANG_OEFFNEN_120_KMH, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_120_KMH = (RXBUF_UINT(22)); // Number of lifting operations / fan position in the range 80-120 km / h / Anzahl Vorgänge Heben/Lüfterposition // im Bereich 80-120 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_120_KMH", STAT_VORGANG_HEBEN_120_KMH, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_120_KMH = (RXBUF_UINT(24)); // Number of closing processes in the range 80-120 km / h / Anzahl Vorgänge Schliessen im Bereich 80-120 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_120_KMH", STAT_VORGANG_SCHLIESSEN_120_KMH, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_160_KMH = (RXBUF_UINT(26)); // Number of opening processes in the range 120-160 km / h / Anzahl Vorgänge Öffnen im Bereich 120-160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_160_KMH", STAT_VORGANG_OEFFNEN_160_KMH, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_160_KMH = (RXBUF_UINT(28)); // Number of lifting operations / fan position in the range 120-160 km / h / Anzahl Vorgänge Heben/Lüfterposition // im Bereich 120-160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_160_KMH", STAT_VORGANG_HEBEN_160_KMH, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_160_KMH = (RXBUF_UINT(30)); // Number of processes closing in the range 120-160 km / h / Anzahl Vorgänge Schliessen im Bereich 120-160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_160_KMH", STAT_VORGANG_SCHLIESSEN_160_KMH, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_300_KMH = (RXBUF_UINT(32)); // Number of opening processes in the range> 160 km / h / Anzahl Vorgänge Öffnen im Bereich > 160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_300_KMH", STAT_VORGANG_OEFFNEN_300_KMH, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_300_KMH = (RXBUF_UINT(34)); // Number of lifting operations / fan position in the range> 160 km / h / Anzahl Vorgänge Heben/Lüfterposition im // Bereich > 160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_300_KMH", STAT_VORGANG_HEBEN_300_KMH, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_300_KMH = (RXBUF_UINT(36)); // Number of closing processes in the range> 160 km / h / Anzahl Vorgänge Schliessen im Bereich > 160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_300_KMH", STAT_VORGANG_SCHLIESSEN_300_KMH, "\"0-n\""); unsigned short STAT_BETAETIGUNG_BEI_MINUS_10_GRAD = (RXBUF_UINT(38)); // Actuation at minus 10 degrees / Betätigungen bei minus 10 Grad ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_BETAETIGUNG_BEI_MINUS_10_GRAD", STAT_BETAETIGUNG_BEI_MINUS_10_GRAD, "\"0-n\""); unsigned short STAT_REVERSIER_BEI_0_GRAD = (RXBUF_UINT(40)); // Reversing processes at less than 0 degrees / Reversiervorgänge bei kleiner 0 Grad ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_REVERSIER_BEI_0_GRAD", STAT_REVERSIER_BEI_0_GRAD, "\"0-n\""); unsigned long STAT_RESERVE_1 = (RXBUF_UINT32(42)); // Reserve 1 / Reserve 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_1", STAT_RESERVE_1, "\"0-n\""); unsigned long STAT_RESERVE_2 = (RXBUF_UINT32(46)); // Reserve 2 / Reserve 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_2", STAT_RESERVE_2, "\"0-n\""); unsigned long STAT_RESERVE_3 = (RXBUF_UINT32(50)); // Reserve 3 / Reserve 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_3", STAT_RESERVE_3, "\"0-n\""); unsigned long STAT_RESERVE_4 = (RXBUF_UINT32(54)); // Reserve 4 / Reserve 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_4", STAT_RESERVE_4, "\"0-n\""); unsigned long STAT_RESERVE_5 = (RXBUF_UINT32(58)); // Reserve 5 / Reserve 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_5", STAT_RESERVE_5, "\"0-n\""); unsigned short STAT_RESERVE_6 = (RXBUF_UINT(62)); // Reserve 6 / Reserve 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_6", STAT_RESERVE_6, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_STATISTIKZAEHLER_LESEN: { // 0xD1C0 if (datalen < 64) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_STATISTIKZAEHLER_LESEN", 64); break; } unsigned short STAT_NACHNORMIERUNG_AUTOMATISCH_0XD1C0 = (RXBUF_UINT(0)); // Number of automatic readjustments / Anzahl automatische Nachnormierungen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_NACHNORMIERUNG_AUTOMATISCH_0XD1C0", STAT_NACHNORMIERUNG_AUTOMATISCH_0XD1C0, "\"0-n\""); unsigned short STAT_NACHNORMIERUNG_MANUELL_0XD1C0 = (RXBUF_UINT(2)); // Number of manual readjustments / Anzahl manuelle Nachnormierungen ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_NACHNORMIERUNG_MANUELL_0XD1C0", STAT_NACHNORMIERUNG_MANUELL_0XD1C0, "\"0-n\""); unsigned short STAT_VERFAHREN_EMERGENCY_0XD1C0 = (RXBUF_UINT(4)); // Procedure in Emergnecy Close / Verfahren im Emergnecy Close ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VERFAHREN_EMERGENCY_0XD1C0", STAT_VERFAHREN_EMERGENCY_0XD1C0, "\"0-n\""); unsigned short STAT_PANIC_0XD1C0 = (RXBUF_UINT(6)); // Procedure in panic mode / Verfahren im Panic Mode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_PANIC_0XD1C0", STAT_PANIC_0XD1C0, "\"0-n\""); unsigned short STAT_REVERSIER_NORMALMODUS_0XD1C0 = (RXBUF_UINT(8)); // Number of reversing processes in normal mode / Anzahl der Reversiervorgänge im Normalmode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_REVERSIER_NORMALMODUS_0XD1C0", STAT_REVERSIER_NORMALMODUS_0XD1C0, "\"0-n\""); unsigned short STAT_REVERSIERER_EMERGENCY_0XD1C0 = (RXBUF_UINT(10)); // Number of reversing processes in emergency mode / Anzahl Reversiervorgänge im Emergency Mode ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_REVERSIERER_EMERGENCY_0XD1C0", STAT_REVERSIERER_EMERGENCY_0XD1C0, "\"0-n\""); unsigned short STAT_ABBRUCH_MOTORLAUF_0XD1C0 = (RXBUF_UINT(12)); // Number of times the engine has aborted / Anzahl der Abbrüche des Motorlaufs ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_ABBRUCH_MOTORLAUF_0XD1C0", STAT_ABBRUCH_MOTORLAUF_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_80_KMH_0XD1C0 = (RXBUF_UINT(14)); // Number of opening processes in the range 0-80 km / h / Anzahl Vorgänge Öffnen im Bereich 0-80 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_80_KMH_0XD1C0", STAT_VORGANG_OEFFNEN_80_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_80_KMH_0XD1C0 = (RXBUF_UINT(16)); // Number of lifting operations / fan position in the range 0-80 km / h / Anzahl Vorgänge Heben/Lüfterposition im // Bereich 0-80 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_80_KMH_0XD1C0", STAT_VORGANG_HEBEN_80_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_80_KMH_0XD1C0 = (RXBUF_UINT(18)); // Number of closing processes in the range 0-80 km / h / Anzahl Vorgänge Schliessen im Bereich 0-80 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_80_KMH_0XD1C0", STAT_VORGANG_SCHLIESSEN_80_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_120_KMH_0XD1C0 = (RXBUF_UINT(20)); // Number of opening processes in the range 80-120 km / h / Anzahl Vorgänge Öffnen im Bereich 80-120 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_120_KMH_0XD1C0", STAT_VORGANG_OEFFNEN_120_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_120_KMH_0XD1C0 = (RXBUF_UINT(22)); // Number of lifting operations / fan position in the range 80-120 km / h / Anzahl Vorgänge Heben/Lüfterposition // im Bereich 80-120 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_120_KMH_0XD1C0", STAT_VORGANG_HEBEN_120_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_120_KMH_0XD1C0 = (RXBUF_UINT(24)); // Number of closing processes in the range 80-120 km / h / Anzahl Vorgänge Schliessen im Bereich 80-120 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_120_KMH_0XD1C0", STAT_VORGANG_SCHLIESSEN_120_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_160_KMH_0XD1C0 = (RXBUF_UINT(26)); // Number of opening processes in the range 120-160 km / h / Anzahl Vorgänge Öffnen im Bereich 120-160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_160_KMH_0XD1C0", STAT_VORGANG_OEFFNEN_160_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_160_KMH_0XD1C0 = (RXBUF_UINT(28)); // Number of lifting operations / fan position in the range 120-160 km / h / Anzahl Vorgänge Heben/Lüfterposition // im Bereich 120-160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_160_KMH_0XD1C0", STAT_VORGANG_HEBEN_160_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_160_KMH_0XD1C0 = (RXBUF_UINT(30)); // Number of processes closing in the range 120-160 km / h / Anzahl Vorgänge Schliessen im Bereich 120-160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_160_KMH_0XD1C0", STAT_VORGANG_SCHLIESSEN_160_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_OEFFNEN_300_KMH_0XD1C0 = (RXBUF_UINT(32)); // Number of opening processes in the range> 160 km / h / Anzahl Vorgänge Öffnen im Bereich > 160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_OEFFNEN_300_KMH_0XD1C0", STAT_VORGANG_OEFFNEN_300_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_HEBEN_300_KMH_0XD1C0 = (RXBUF_UINT(34)); // Number of lifting operations / fan position in the range> 160 km / h / Anzahl Vorgänge Heben/Lüfterposition im // Bereich > 160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_HEBEN_300_KMH_0XD1C0", STAT_VORGANG_HEBEN_300_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_VORGANG_SCHLIESSEN_300_KMH_0XD1C0 = (RXBUF_UINT(36)); // Number of closing processes in the range> 160 km / h / Anzahl Vorgänge Schliessen im Bereich > 160 km/h ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_VORGANG_SCHLIESSEN_300_KMH_0XD1C0", STAT_VORGANG_SCHLIESSEN_300_KMH_0XD1C0, "\"0-n\""); unsigned short STAT_BETAETIGUNG_BEI_MINUS_10_GRAD_0XD1C0 = (RXBUF_UINT(38)); // Actuation at minus 10 degrees / Betätigungen bei minus 10 Grad ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_BETAETIGUNG_BEI_MINUS_10_GRAD_0XD1C0", STAT_BETAETIGUNG_BEI_MINUS_10_GRAD_0XD1C0, "\"0-n\""); unsigned short STAT_REVERSIER_BEI_0_GRAD_0XD1C0 = (RXBUF_UINT(40)); // Reversing processes at less than 0 degrees / Reversiervorgänge bei kleiner 0 Grad ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_REVERSIER_BEI_0_GRAD_0XD1C0", STAT_REVERSIER_BEI_0_GRAD_0XD1C0, "\"0-n\""); unsigned long STAT_RESERVE_1_0XD1C0 = (RXBUF_UINT32(42)); // Reserve 1 / Reserve 1 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_1_0XD1C0", STAT_RESERVE_1_0XD1C0, "\"0-n\""); unsigned long STAT_RESERVE_2_0XD1C0 = (RXBUF_UINT32(46)); // Reserve 2 / Reserve 2 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_2_0XD1C0", STAT_RESERVE_2_0XD1C0, "\"0-n\""); unsigned long STAT_RESERVE_3_0XD1C0 = (RXBUF_UINT32(50)); // Reserve 3 / Reserve 3 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_3_0XD1C0", STAT_RESERVE_3_0XD1C0, "\"0-n\""); unsigned long STAT_RESERVE_4_0XD1C0 = (RXBUF_UINT32(54)); // Reserve 4 / Reserve 4 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_4_0XD1C0", STAT_RESERVE_4_0XD1C0, "\"0-n\""); unsigned long STAT_RESERVE_5_0XD1C0 = (RXBUF_UINT32(58)); // Reserve 5 / Reserve 5 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_5_0XD1C0", STAT_RESERVE_5_0XD1C0, "\"0-n\""); unsigned short STAT_RESERVE_6_0XD1C0 = (RXBUF_UINT(62)); // Reserve 6 / Reserve 6 ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_STATISTIKZAEHLER_LESEN", "STAT_RESERVE_6_0XD1C0", STAT_RESERVE_6_0XD1C0, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_SINE_LIN: { // 0xDCA1 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_SINE_LIN", 1); break; } char STAT_VORHANDEN_LIN_SIRENE = (RXBUF_UCHAR(0)); // 0: No LIN siren installed 1: LIN siren installed / 0: Keine LIN-Sirene verbaut 1: LIN-Sirene verbaut ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE_LIN", "STAT_VORHANDEN_LIN_SIRENE", STAT_VORHANDEN_LIN_SIRENE, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_SINE: { // 0xDCA2 if (datalen < 7) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_SINE", 7); break; } char STAT_LEITUNG_NR = (RXBUF_UCHAR(0)); // Line monitoring status / Status der Leitungsüberwachung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_LEITUNG_NR", STAT_LEITUNG_NR, "\"0-n\""); char STAT_UNTERSPANNUNG_EXT_NR = (RXBUF_UCHAR(1)); // Status of undervoltage monitoring of the external battery / Status Unterspannungsüberwachung der externen // Batterie ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_UNTERSPANNUNG_EXT_NR", STAT_UNTERSPANNUNG_EXT_NR, "\"0-n\""); char STAT_EEPROM_NR = (RXBUF_UCHAR(2)); // EEPROM monitoring status / Status Überwachnung EEPROM ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_EEPROM_NR", STAT_EEPROM_NR, "\"0-n\""); char STAT_AKTIVER_SCHUTZ_NR = (RXBUF_UCHAR(3)); // Active protection status / Status Aktiver Schutz ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_AKTIVER_SCHUTZ_NR", STAT_AKTIVER_SCHUTZ_NR, "\"0-n\""); char STAT_WAKE_UP_NR = (RXBUF_UCHAR(4)); // Status monitoring of the wake-up time / Status Überwachung der WakeUp-Zeit ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_WAKE_UP_NR", STAT_WAKE_UP_NR, "\"0-n\""); char STAT_SIRENE_AKUSTIK_NR = (RXBUF_UCHAR(5)); // Status siren circuit (acoustics) / Status Sirenenschaltkreis (Akustik) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_SIRENE_AKUSTIK_NR", STAT_SIRENE_AKUSTIK_NR, "\"0-n\""); char STAT_TILT_NR = (RXBUF_UCHAR(6)); // Inclination sensor status / Status Neigungsgeber ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE", "STAT_TILT_NR", STAT_TILT_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_SINE_BATT_LEVEL: { // 0xDCA3 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_SINE_BATT_LEVEL", 1); break; } unsigned char STAT_SIRENE_INTERNER_BATTERIE_LEVEL_NR = (RXBUF_UCHAR(0)); // Internal battery status: See table TAB_SINE_BATT_LEVEL / Status interne Batterie: Siehe Tabelle // TAB_SINE_BATT_LEVEL ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_SINE_BATT_LEVEL", "STAT_SIRENE_INTERNER_BATTERIE_LEVEL_NR", STAT_SIRENE_INTERNER_BATTERIE_LEVEL_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_SINE_NEIGUNG: { // 0xDCA9 if (datalen < 4) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_SINE_NEIGUNG", 4); break; } unsigned short STAT_NEIGUNG_X_ACHSE_WERT = (RXBUF_UINT(0)); // X-axis inclination angle in degrees / Neigungswinkel X-Achse in Grad ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "DWA_SINE_NEIGUNG", "STAT_NEIGUNG_X_ACHSE_WERT", STAT_NEIGUNG_X_ACHSE_WERT, "\"Grad\""); unsigned short STAT_NEIGUNG_Y_ACHSE_WERT = (RXBUF_UINT(2)); // Y-axis inclination angle in degrees / Neigungswinkel Y-Achse in Grad ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "DWA_SINE_NEIGUNG", "STAT_NEIGUNG_Y_ACHSE_WERT", STAT_NEIGUNG_Y_ACHSE_WERT, "\"Grad\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_INTERN: { // 0xDCAC if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_INTERN", 2); break; } unsigned short STAT_DWA_INTERN_NR = (RXBUF_UINT(0)); // 0: disarmed; / 0: entschärft; ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "DWA_INTERN", "STAT_DWA_INTERN_NR", STAT_DWA_INTERN_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_ALARM_AUSGELOEST: { // 0xDCB0 if (datalen < 19) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_ALARM_AUSGELOEST", 19); break; } char STAT_DWA_ALARM_MOTORHAUBE_AUSGELOEST_EIN = (RXBUF_UCHAR(0)); // 0 = DWA alarm not triggered by bonnet; 1 = DWA alarm triggered by bonnet / 0= DWA-Alarm nicht ausgelöst durch // Motorhaube; 1= DWA-Alarm ausgelöst durch Motorhaube ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_MOTORHAUBE_AUSGELOEST_EIN", STAT_DWA_ALARM_MOTORHAUBE_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_FAT_AUSGELOEST_EIN = (RXBUF_UCHAR(1)); // 0 = DWA alarm not triggered by driver's door; 1 = DWA alarm triggered by driver's door / 0= DWA-Alarm nicht // ausgelöst durch Fahrertür; 1= DWA-Alarm ausgelöst durch Fahrertür ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_FAT_AUSGELOEST_EIN", STAT_DWA_ALARM_FAT_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_BFT_AUSGELOEST_EIN = (RXBUF_UCHAR(2)); // 0 = DWA alarm not triggered by passenger door; 1 = DWA alarm triggered by passenger door / 0= DWA-Alarm nicht // ausgelöst durch Beifahrertür; 1= DWA-Alarm ausgelöst durch Beifahrertür ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_BFT_AUSGELOEST_EIN", STAT_DWA_ALARM_BFT_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_FATH_AUSGELOEST_EIN = (RXBUF_UCHAR(3)); // 0 = DWA alarm not triggered by the rear driver's door; 1 = DWA alarm triggered by the driver's rear door / 0= // DWA-Alarm nicht ausgelöst durch Fahrertür hinten; 1= DWA-Alarm ausgelöst durch Fahrertür hinten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_FATH_AUSGELOEST_EIN", STAT_DWA_ALARM_FATH_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_BFTH_AUSGELOEST_EIN = (RXBUF_UCHAR(4)); // 0 = DWA alarm not triggered by rear passenger door; 1 = DWA alarm triggered by the rear passenger door / 0= // DWA-Alarm nicht ausgelöst durch Beifahrertür hinten ; 1= DWA-Alarm ausgelöst durch Beifahrertür hinten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_BFTH_AUSGELOEST_EIN", STAT_DWA_ALARM_BFTH_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_HECKKLAPPE_AUSGELOEST_EIN = (RXBUF_UCHAR(5)); // 0 = DWA alarm not triggered by tailgate; 1 = DWA alarm triggered by tailgate / 0= DWA-Alarm nicht ausgelöst // durch Heckklappe; 1= DWA-Alarm ausgelöst durch Heckklappe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_HECKKLAPPE_AUSGELOEST_EIN", STAT_DWA_ALARM_HECKKLAPPE_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_HECKSCHEIBE_AUSGELOEST_EIN = (RXBUF_UCHAR(6)); // 0 = DWA alarm not triggered by rear window; 1 = DWA alarm triggered by rear window / 0= DWA-Alarm nicht // ausgelöst durch Heckscheibe; 1= DWA-Alarm ausgelöst durch Heckscheibe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_HECKSCHEIBE_AUSGELOEST_EIN", STAT_DWA_ALARM_HECKSCHEIBE_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_OBD_KOMMUNIKATION_EIN = (RXBUF_UCHAR(7)); // 0 = DWA alarm not triggered by OBD communication; 1 = DWA alarm triggered by OBD communication / 0= DWA-Alarm // nicht ausgelöst durch OBD-Kommunikation; 1= DWA-Alarm ausgelöst durch OBD-Kommunikation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_OBD_KOMMUNIKATION_EIN", STAT_DWA_ALARM_OBD_KOMMUNIKATION_EIN, "\"0/1\""); char STAT_DWA_ALARM_LEITUNGSUEBERWACHUNG_SINE_AUSGELOEST_EIN = (RXBUF_UCHAR(8)); // 0 = DWA alarm not triggered by line monitoring SINE; 1 = DWA alarm triggered by SINE line monitoring / 0= // DWA-Alarm nicht ausgelöst durch Leitungsüberwachung SINE; 1= DWA-Alarm ausgelöst durch Leitungsüberwachung // SINE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_LEITUNGSUEBERWACHUNG_SINE_AUSGELOEST_EIN", STAT_DWA_ALARM_LEITUNGSUEBERWACHUNG_SINE_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_MANIPULATION_AUTH_AUSGELOEST_EIN = (RXBUF_UCHAR(9)); // 0 = DWA alarm not triggered by manipulation authentication; 1 = DWA alarm triggered by manipulation // authentication / 0= DWA-Alarm nicht ausgelöst durch Manipulation Authentisierung; 1= DWA-Alarm ausgelöst durch // Manipulation Authentisierung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_MANIPULATION_AUTH_AUSGELOEST_EIN", STAT_DWA_ALARM_MANIPULATION_AUTH_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_USIS_A_UND_B_AUSGELOEST_EIN = (RXBUF_UCHAR(10)); // 0 = DWA alarm not triggered by interior protection A and B; 1 = DWA alarm triggered by interior protection A // and B / 0= DWA-Alarm nicht ausgelöst durch Innenraumschutz A und B; 1= DWA-Alarm ausgelöst durch // Innenraumschutz A und B ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_USIS_A_UND_B_AUSGELOEST_EIN", STAT_DWA_ALARM_USIS_A_UND_B_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_USIS_A_AUSGELOEST_EIN = (RXBUF_UCHAR(11)); // 0 = DWA alarm not triggered by interior protection A; 1 = DWA alarm triggered by interior protection A / 0= // DWA-Alarm nicht ausgelöst durch Innenraumschutz A; 1= DWA-Alarm ausgelöst durch Innenraumschutz A ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_USIS_A_AUSGELOEST_EIN", STAT_DWA_ALARM_USIS_A_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_USIS_B_AUSGELOEST_EIN = (RXBUF_UCHAR(12)); // 0 = DWA alarm not triggered by interior protection B; 1 = DWA alarm triggered by interior protection B / 0= // DWA-Alarm nicht ausgelöst durch Innenraumschutz B; 1= DWA-Alarm ausgelöst durch Innenraumschutz B ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_USIS_B_AUSGELOEST_EIN", STAT_DWA_ALARM_USIS_B_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_NEIGUNGSGEBER_X_AUSGELOEST_EIN = (RXBUF_UCHAR(13)); // 0 = DWA alarm not triggered by X-axis inclination sensor; 1 = DWA alarm triggered by inclination sensor X-axis // / 0= DWA-Alarm nicht ausgelöst durch Neigungsgeber X-Achse; 1= DWA-Alarm ausgelöst durch Neigungsgeber X-Achse ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_NEIGUNGSGEBER_X_AUSGELOEST_EIN", STAT_DWA_ALARM_NEIGUNGSGEBER_X_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_NEIGUNGSGEBER_Y_AUSGELOEST_EIN = (RXBUF_UCHAR(14)); // 0 = DWA alarm not triggered by Y-axis inclination sensor; 1 = DWA alarm triggered by inclination sensor Y-axis // / 0= DWA-Alarm nicht ausgelöst durch Neigungsgeber Y-Achse; 1= DWA-Alarm ausgelöst durch Neigungsgeber Y-Achse ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_NEIGUNGSGEBER_Y_AUSGELOEST_EIN", STAT_DWA_ALARM_NEIGUNGSGEBER_Y_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_NEIGUNGSGEBER_X_UND_Y_AUSGELOEST_EIN = (RXBUF_UCHAR(15)); // 0 = DWA alarm not triggered by inclination sensor X and Y axis; 1 = DWA alarm triggered by inclination sensor // X and Y axis / 0= DWA-Alarm nicht ausgelöst durch Neigungsgeber X- und Y-Achse; 1= DWA-Alarm ausgelöst durch // Neigungsgeber X- und Y-Achse ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_NEIGUNGSGEBER_X_UND_Y_AUSGELOEST_EIN", STAT_DWA_ALARM_NEIGUNGSGEBER_X_UND_Y_AUSGELOEST_EIN, "\"0/1\""); char STAT_DWA_ALARM_SINE_SPANNUNG_EIN = (RXBUF_UCHAR(16)); // 0 = DWA alarm not triggered by SINE power supply; 1 = DWA alarm triggered by SINE power supply / 0= DWA-Alarm // nicht ausgelöst durch SINE Spannungsversorgung; 1= DWA-Alarm ausgelöst durch SINE Spannungsversorgung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_SINE_SPANNUNG_EIN", STAT_DWA_ALARM_SINE_SPANNUNG_EIN, "\"0/1\""); char STAT_DWA_ALARM_SINE_LIN_TELEGRAMM_EIN = (RXBUF_UCHAR(17)); // 0 = DWA alarm not triggered by SINE no LIN telegram can be sent; 1 = DWA alarm triggered by SINE no LIN // telegram can be sent / 0= DWA-Alarm nicht ausgelöst durch SINE kein LIN-Telegramm absetzbar; 1= DWA-Alarm // ausgelöst durch SINE kein LIN-Telegramm absetzbar ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_SINE_LIN_TELEGRAMM_EIN", STAT_DWA_ALARM_SINE_LIN_TELEGRAMM_EIN, "\"0/1\""); char STAT_DWA_ALARM_PANIKALARM_EIN = (RXBUF_UCHAR(18)); // 0 = DWA alarm not triggered by panic alarm; 1 = DWA alarm triggered by panic alarm / 0= DWA-Alarm nicht // ausgelöst durch Panikalarm; 1= DWA-Alarm ausgelöst durch Panikalarm ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_AUSGELOEST", "STAT_DWA_ALARM_PANIKALARM_EIN", STAT_DWA_ALARM_PANIKALARM_EIN, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_VORHANDEN: { // 0xDCB1 if (datalen < 1) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_VORHANDEN", 1); break; } char STAT_VORHANDEN_DWA = (RXBUF_UCHAR(0)); // 0: No DWA installed 1: DWA installed / 0: Keine DWA verbaut 1: DWA verbaut ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_VORHANDEN", "STAT_VORHANDEN_DWA", STAT_VORHANDEN_DWA, "\"0/1\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_USIS_EMPFINDLICHKEIT: { // 0xDCB2 if (datalen < 2) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_USIS_EMPFINDLICHKEIT", 2); break; } unsigned short STAT_IRS_SENS_EMPFINDLICHKEIT_NR = (RXBUF_UINT(0)); // Current sensitivity level / Aktuelle Empflindlichkeitsstufe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "DWA_USIS_EMPFINDLICHKEIT", "STAT_IRS_SENS_EMPFINDLICHKEIT_NR", STAT_IRS_SENS_EMPFINDLICHKEIT_NR, "\"0-n\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_KLAPPENKONTAKTE: { // 0xDCDD if (datalen < 12) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_KLAPPENKONTAKTE", 12); break; } unsigned char STAT_KONTAKT_FAHRERTUER_NR = (RXBUF_UCHAR(0)); // Contact driver's door / Kontakt Fahrertür ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_FAHRERTUER_NR", STAT_KONTAKT_FAHRERTUER_NR, "\"0-n\""); unsigned char STAT_KONTAKT_BEIFAHRERTUER_NR = (RXBUF_UCHAR(1)); // Contact passenger door / Kontakt Beifahrertür ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_BEIFAHRERTUER_NR", STAT_KONTAKT_BEIFAHRERTUER_NR, "\"0-n\""); unsigned char STAT_KONTAKT_FAHRERTUER_HINTEN_NR = (RXBUF_UCHAR(2)); // Contact at the rear of the driver's door / Kontakt Fahrertür hinten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_FAHRERTUER_HINTEN_NR", STAT_KONTAKT_FAHRERTUER_HINTEN_NR, "\"0-n\""); unsigned char STAT_KONTAKT_BEIFAHRERTUER_HINTEN_NR = (RXBUF_UCHAR(3)); // Contact rear passenger door / Kontakt Beifahrertür hinten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_BEIFAHRERTUER_HINTEN_NR", STAT_KONTAKT_BEIFAHRERTUER_HINTEN_NR, "\"0-n\""); unsigned char STAT_KONTAKT_MOTORHAUBE_NR = (RXBUF_UCHAR(4)); // Contact bonnet / Kontakt Motorhaube ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_MOTORHAUBE_NR", STAT_KONTAKT_MOTORHAUBE_NR, "\"0-n\""); unsigned char STAT_KONTAKT_HECKKLAPPE_NR = (RXBUF_UCHAR(5)); // Contact tailgate / Kontakt Heckklappe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_HECKKLAPPE_NR", STAT_KONTAKT_HECKKLAPPE_NR, "\"0-n\""); unsigned char STAT_KONTAKT_HECKSCHEIBE_NR = (RXBUF_UCHAR(6)); // Contact rear window / Kontakt Heckscheibe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_KONTAKT_HECKSCHEIBE_NR", STAT_KONTAKT_HECKSCHEIBE_NR, "\"0-n\""); unsigned char STAT_ZV_NR = (RXBUF_UCHAR(7)); // Central locking status / Status Zentralverriegelung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_ZV_NR", STAT_ZV_NR, "\"0-n\""); unsigned long STAT_RESERVE_WERT = (RXBUF_UINT32(8)); // Reserve (not yet occupied) / Reserve (noch nicht belegt) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "FZD", "DWA_KLAPPENKONTAKTE", "STAT_RESERVE_WERT", STAT_RESERVE_WERT, "\"HEX\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE: { // 0x4107 if (datalen < 263) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", 263); break; } unsigned short STAT_SCHLIESSZEIT_WERT = (RXBUF_UINT(256)); // Closing time during the initialization process. Resolution 10ms steps / Schliesszeit beim // Initialisierungsvorgang. Auflösung 10ms Schritte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", "STAT_SCHLIESSZEIT_WERT", STAT_SCHLIESSZEIT_WERT, "\"s\""); unsigned char STAT_BN_SPANNUNG_WERT = (RXBUF_UCHAR(258)); // Voltage that is applied to the window regulator during initialization. Resolution 100mV steps / Spannung die // am Fensterheber während dem Initialisieren anliegt. Auflösung 100mV Schritte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", "STAT_BN_SPANNUNG_WERT", STAT_BN_SPANNUNG_WERT, "\"V\""); unsigned char STAT_SPIEL_WERT = (RXBUF_UCHAR(259)); // Number of hall increments / Anzahl Hall Inkremente ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", "STAT_SPIEL_WERT", STAT_SPIEL_WERT, ""); unsigned char STAT_GUELTIGKEIT = (RXBUF_UCHAR(260)); // 0x00 characteristic curve invalid 0x01 characteristic curve valid / 0x00 Kennlinie ungültig 0x01 Kennlinie // gültig ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", "STAT_GUELTIGKEIT", STAT_GUELTIGKEIT, "\"0/1\""); unsigned char STAT_BEWERTUNG = (RXBUF_UCHAR(261)); // 0x00 Characteristic curve OK 0x01 Characteristic curve not OK / 0x00 Kennlinie in Ordnung 0x01 Kennlinie // nicht in Ordnung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", "STAT_BEWERTUNG", STAT_BEWERTUNG, "\"0/1\""); unsigned char STAT_REGELVERLETZUNG_WERT = (RXBUF_UCHAR(262)); // to clarify / zu klären ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "ESH_BEWERTUNG_KENNLINIE_SCHIEBELAGE", "STAT_REGELVERLETZUNG_WERT", STAT_REGELVERLETZUNG_WERT, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1: { // 0x4108 if (datalen < 263) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", 263); break; } unsigned short STAT_SCHLIESSZEIT_WERT_0X4108 = (RXBUF_UINT(256)); // Closing time during the initialization process. Resolution 10ms steps / Schliesszeit beim // Initialisierungsvorgang. Auflösung 10ms Schritte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", "STAT_SCHLIESSZEIT_WERT_0X4108", STAT_SCHLIESSZEIT_WERT_0X4108, "\"s\""); unsigned char STAT_BN_SPANNUNG_WERT_0X4108 = (RXBUF_UCHAR(258)); // Voltage that is applied to the window regulator during initialization. Resolution 100mV steps / Spannung die // am Fensterheber während dem Initialisieren anliegt. Auflösung 100mV Schritte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", "STAT_BN_SPANNUNG_WERT_0X4108", STAT_BN_SPANNUNG_WERT_0X4108, "\"V\""); unsigned char STAT_SPIEL_WERT_0X4108 = (RXBUF_UCHAR(259)); // Number of hall increments / Anzahl Hall Inkremente ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", "STAT_SPIEL_WERT_0X4108", STAT_SPIEL_WERT_0X4108, ""); unsigned char STAT_GUELTIGKEIT_0X4108 = (RXBUF_UCHAR(260)); // 0x00 characteristic curve invalid 0x01 characteristic curve valid / 0x00 Kennlinie ungültig 0x01 Kennlinie // gültig ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", "STAT_GUELTIGKEIT_0X4108", STAT_GUELTIGKEIT_0X4108, "\"0/1\""); unsigned char STAT_BEWERTUNG_0X4108 = (RXBUF_UCHAR(261)); // 0x00 Characteristic curve OK 0x01 Characteristic curve not OK / 0x00 Kennlinie in Ordnung 0x01 Kennlinie nicht // in Ordnung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", "STAT_BEWERTUNG_0X4108", STAT_BEWERTUNG_0X4108, "\"0/1\""); unsigned char STAT_REGELVERLETZUNG_WERT_0X4108 = (RXBUF_UCHAR(262)); // to clarify / zu klären ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_AUSSTELLLAGE_1", "STAT_REGELVERLETZUNG_WERT_0X4108", STAT_REGELVERLETZUNG_WERT_0X4108, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1: { // 0x4109 if (datalen < 263) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", 263); break; } unsigned short STAT_SCHLIESSZEIT_WERT_0X4109 = (RXBUF_UINT(256)); // Closing time during the initialization process. Resolution 10ms steps / Schliesszeit beim // Initialisierungsvorgang. Auflösung 10ms Schritte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", "STAT_SCHLIESSZEIT_WERT_0X4109", STAT_SCHLIESSZEIT_WERT_0X4109, "\"s\""); unsigned char STAT_BN_SPANNUNG_WERT_0X4109 = (RXBUF_UCHAR(258)); // Voltage that is applied to the window regulator during initialization. Resolution 100mV steps / Spannung die // am Fensterheber während dem Initialisieren anliegt. Auflösung 100mV Schritte ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", "STAT_BN_SPANNUNG_WERT_0X4109", STAT_BN_SPANNUNG_WERT_0X4109, "\"V\""); unsigned char STAT_SPIEL_WERT_0X4109 = (RXBUF_UCHAR(259)); // Number of hall increments / Anzahl Hall Inkremente ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", "STAT_SPIEL_WERT_0X4109", STAT_SPIEL_WERT_0X4109, ""); unsigned char STAT_GUELTIGKEIT_0X4109 = (RXBUF_UCHAR(260)); // 0x00 characteristic curve invalid 0x01 characteristic curve valid / 0x00 Kennlinie ungültig 0x01 Kennlinie // gültig ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", "STAT_GUELTIGKEIT_0X4109", STAT_GUELTIGKEIT_0X4109, "\"0/1\""); unsigned char STAT_BEWERTUNG_0X4109 = (RXBUF_UCHAR(261)); // 0x00 Characteristic curve OK 0x01 Characteristic curve not OK / 0x00 Kennlinie in Ordnung 0x01 Kennlinie // nicht in Ordnung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", "STAT_BEWERTUNG_0X4109", STAT_BEWERTUNG_0X4109, "\"0/1\""); unsigned char STAT_REGELVERLETZUNG_WERT_0X4109 = (RXBUF_UCHAR(262)); // to clarify / zu klären ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "SHD_BEWERTUNG_KENNLINIE_SCHIEBELAGE_1", "STAT_REGELVERLETZUNG_WERT_0X4109", STAT_REGELVERLETZUNG_WERT_0X4109, ""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; } case I3_PID_FZD_DWA_ALARM_ANZAHL: { // 0x6012 if (datalen < 19) { ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_FZD_DWA_ALARM_ANZAHL", 19); break; } unsigned char STAT_FZD_ALARM_MOTORHAUBE_WERT = (RXBUF_UCHAR(0)); // Number of alarms for flap contact, bonnet / Anzahl Alarme Klappenkontakt MotorHaube ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_MOTORHAUBE_WERT", STAT_FZD_ALARM_MOTORHAUBE_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_FAT_WERT = (RXBUF_UCHAR(1)); // Number of alarms for flap contact for driver's door / Anzahl Alarme Klappenkontakt FAhrerTür ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_FAT_WERT", STAT_FZD_ALARM_FAT_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_BFT_WERT = (RXBUF_UCHAR(2)); // Number of alarms for flap contact at driver's door / Anzahl Alarme Klappenkontakt BeiFahrerTür ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_BFT_WERT", STAT_FZD_ALARM_BFT_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_FATH_WERT = (RXBUF_UCHAR(3)); // Number of alarms for flap contact at the rear of the driver's door / Anzahl Alarme Klappenkontakt FAhrerTür // Hinten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_FATH_WERT", STAT_FZD_ALARM_FATH_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_BFTH_WERT = (RXBUF_UCHAR(4)); // Number of alarms for flap contact at the rear door of the driver / Anzahl Alarme Klappenkontakt BeiFahrerTür // Hinten ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_BFTH_WERT", STAT_FZD_ALARM_BFTH_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_HECKKLAPPE_WERT = (RXBUF_UCHAR(5)); // Number of tailgate alarms / Anzahl Alarme Heckklappe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_HECKKLAPPE_WERT", STAT_FZD_ALARM_HECKKLAPPE_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_HECKSCHEIBE_WERT = (RXBUF_UCHAR(6)); // Number of alarms rear window / Anzahl Alarme Heckscheibe ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_HECKSCHEIBE_WERT", STAT_FZD_ALARM_HECKSCHEIBE_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_OBD_KOMMUNIKATION_WERT = (RXBUF_UCHAR(7)); // Number of OBD communication alarms / Anzahl Alarme OBD-Kommunikation ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_OBD_KOMMUNIKATION_WERT", STAT_FZD_ALARM_OBD_KOMMUNIKATION_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_LEITUNGSUEBERWACHUNG_SINE_WERT = (RXBUF_UCHAR(8)); // Number of alarms line monitoring LIN-SINE / Anzahl Alarme Leitungsüberwachung LIN-SINE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_LEITUNGSUEBERWACHUNG_SINE_WERT", STAT_FZD_ALARM_LEITUNGSUEBERWACHUNG_SINE_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_MANIPULATION_AUTH_WERT = (RXBUF_UCHAR(9)); // Number of alarms Tamper protection authentication / Anzahl Alarme Manipulationsschutz Authentifizierung ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_MANIPULATION_AUTH_WERT", STAT_FZD_ALARM_MANIPULATION_AUTH_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_USIS_KANAL_A_UND_B_WERT = (RXBUF_UCHAR(10)); // Number of USIS alarms simultaneously on channel A and B (right + left) / Anzahl USIS-Alarme gleichzeitig auf // Kanal A und B (rechts + links) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_USIS_KANAL_A_UND_B_WERT", STAT_FZD_ALARM_USIS_KANAL_A_UND_B_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_USIS_KANAL_A_WERT = (RXBUF_UCHAR(11)); // Number of USIS alarms only on channel A (right) / Anzahl USIS-Alarme nur auf Kanal A (rechts) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_USIS_KANAL_A_WERT", STAT_FZD_ALARM_USIS_KANAL_A_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_USIS_KANAL_B_WERT = (RXBUF_UCHAR(12)); // Number of USIS alarms only on channel B (left) / Anzahl USIS-Alarme nur auf Kanal B (links) ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_USIS_KANAL_B_WERT", STAT_FZD_ALARM_USIS_KANAL_B_WERT, "\"count\""); unsigned char STAT_SINE_ALARM_NEIGUNGSGEBER_X_WERT = (RXBUF_UCHAR(13)); // Number of alarms inclination sensor X-axis / Anzahl Alarme Neigungsgeber X-Achse ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_SINE_ALARM_NEIGUNGSGEBER_X_WERT", STAT_SINE_ALARM_NEIGUNGSGEBER_X_WERT, "\"count\""); unsigned char STAT_SINE_ALARM_NEIGUNGSGEBER_Y_WERT = (RXBUF_UCHAR(14)); // Number of alarms inclination sensor Y-axis / Anzahl Alarme Neigungsgeber Y-Achse ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_SINE_ALARM_NEIGUNGSGEBER_Y_WERT", STAT_SINE_ALARM_NEIGUNGSGEBER_Y_WERT, "\"count\""); unsigned char STAT_SINE_ALARM_NEIGUNGSGEBER_X_UND_Y_WERT = (RXBUF_UCHAR(15)); // Number of alarms inclination sensor X and Y axis / Anzahl Alarme Neigungsgeber X- und Y-Achse ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_SINE_ALARM_NEIGUNGSGEBER_X_UND_Y_WERT", STAT_SINE_ALARM_NEIGUNGSGEBER_X_UND_Y_WERT, "\"count\""); unsigned char STAT_SINE_ALARM_SPANNUNG_WERT = (RXBUF_UCHAR(16)); // Number of alarms Interruption in the power supply of the LIN-SINE / Anzahl Alarme Unterbrechung // Spannungsversorgung der LIN-SINE ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_SINE_ALARM_SPANNUNG_WERT", STAT_SINE_ALARM_SPANNUNG_WERT, "\"count\""); unsigned char STAT_SINE_ALARM_LIN_TELEGRAMM_WERT = (RXBUF_UCHAR(17)); // Number of alarms LIN bus: no telegram can be sent / Anzahl Alarme LIN-Bus: kein Telegramm absetzbar ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_SINE_ALARM_LIN_TELEGRAMM_WERT", STAT_SINE_ALARM_LIN_TELEGRAMM_WERT, "\"count\""); unsigned char STAT_FZD_ALARM_PANIKALARM_WERT = (RXBUF_UCHAR(18)); // Number of alarms Panic alarm / Anzahl Alarme Panikalarm ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "FZD", "DWA_ALARM_ANZAHL", "STAT_FZD_ALARM_PANIKALARM_WERT", STAT_FZD_ALARM_PANIKALARM_WERT, "\"count\""); // ========== Add your processing here ========== hexdump(rxbuf, type, pid); break; }