/** * @file dtc_defs.h * * @brief Header file for Diagnostic Trouble Code (DTC) definitions in the ChainLube application. * * This file contains definitions for Diagnostic Trouble Codes (DTC) in the ChainLube project. * It includes enums for DTC active status, severity levels, and specific DTC codes. * The file also defines an array of DTC definitions and a timestamp indicating the generation time. * * @note This file is auto-generated by a script on 2024-01-09 12:08:43. * * @author Marcel Peterkau * @date 09.01.2024 */ #ifndef DTC_DEFS_H #define DTC_DEFS_H #include typedef uint32_t DTCNum_t; typedef enum { DTC_INACTIVE, DTC_ACTIVE, DTC_PREVIOUS } DTCActive_t; typedef enum { DTC_NONE, DTC_INFO, DTC_WARN, DTC_CRITICAL } DTCSeverity_t; typedef struct { DTCNum_t code; DTCSeverity_t severity; } DTC_t; #define DTC_NO_DTC 0 #define DTC_TANK_EMPTY 1 #define DTC_TANK_LOW 2 #define DTC_NO_EEPROM_FOUND 3 #define DTC_EEPROM_CFG_BAD 4 #define DTC_EEPROM_PDS_BAD 5 #define DTC_EEPROM_PDSADRESS_BAD 6 #define DTC_EEPROM_VERSION_BAD 7 #define DTC_FLASHFS_ERROR 8 #define DTC_FLASHFS_VERSION_ERROR 9 #define DTC_NO_GPS_SERIAL 10 #define DTC_CAN_TRANSCEIVER_FAILED 11 #define DTC_NO_CAN_SIGNAL 12 #define DTC_EEPROM_CFG_SANITY 13 #define DTC_FAKE_DTC_INFO 14 #define DTC_FAKE_DTC_WARN 15 #define DTC_FAKE_DTC_CRIT 16 #define DTC_LAST_DTC 17 const DTC_t dtc_definitions[] = { { DTC_NO_DTC , DTC_NONE }, // No Error { DTC_TANK_EMPTY , DTC_CRITICAL }, // Ölvorrat ist komplett leer. Den Ölvorrat auffüllen und im Menu 'Wartung' zurück setzen { DTC_TANK_LOW , DTC_WARN }, // Ölvorrat ist unter der Warnschwelle. Den Ölvorrat demnächst auffüllen und im Menu 'Wartung' zurück setzen { DTC_NO_EEPROM_FOUND , DTC_CRITICAL }, // Es wurde kein EEPROM gefunden. Dies lässt einen Hardware-Defekt vermuten. { DTC_EEPROM_CFG_BAD , DTC_CRITICAL }, // Die Checksumme der Config-Partition des EEPROM ist ungültig. Setzen sie den EEPROM-Bereich 'CFG' im Menu 'Wartung' zurück { DTC_EEPROM_PDS_BAD , DTC_CRITICAL }, // Die Checksumme der Betriebsdaten-Partition des EEPROM ist ungültig. Setzen sie den EEPROM-Bereich 'PDS' im Menu 'Wartung' zurück { DTC_EEPROM_PDSADRESS_BAD , DTC_CRITICAL }, // Die Adresse der Betriebsdaten-Partition im EEPROM ist ungültig. Setzen sie den EEPROM-Bereich 'PDS' im Menu 'Wartung' zurück { DTC_EEPROM_VERSION_BAD , DTC_CRITICAL }, // Die Layout-Version des EEPROM stimmt nicht mit der Firmware-Version überein. Setzen sie den EEPROM-Bereich 'CFG' im Menu 'Wartung' zurück { DTC_FLASHFS_ERROR , DTC_CRITICAL }, // Der Flashspeicher konnte nicht initialisiert werden. Aktualisieren sie Flash & Firmware { DTC_FLASHFS_VERSION_ERROR , DTC_CRITICAL }, // Die Version des Flashspeicher stimmt nicht mit der Firmware-Version überein. Aktualisieren sie den Flash mit der passenden Update-Datei { DTC_NO_GPS_SERIAL , DTC_CRITICAL }, // Es wurde kein GPS-Signal über die serielle Schnittstelle empfangen, Prüfen sie die Verbindung und das GPS-Modul { DTC_CAN_TRANSCEIVER_FAILED , DTC_CRITICAL }, // Es konnte keine Verbindung zum CAN-Transceiver hergestellt werden. Prüfen Sie die Hardware auf Defekte { DTC_NO_CAN_SIGNAL , DTC_WARN }, // Es konnte kein CAN-Signal empfangen werden. Prüfen sie die Verbindung und die Einstellungen { DTC_EEPROM_CFG_SANITY , DTC_WARN }, // Ein oder mehrer Einstellungswerte sind ausserhalb plausibler Werte. Prüfen Sie Ihre Einstellungen { DTC_FAKE_DTC_INFO , DTC_INFO }, // Ein Dummy-DTC der Schwere "Info" für Debugging-Zwecke { DTC_FAKE_DTC_WARN , DTC_WARN }, // Ein Dummy-DTC der Schwere "Warnung" für Debugging-Zwecke { DTC_FAKE_DTC_CRIT , DTC_CRITICAL }, // Ein Dummy-DTC der Schwere "Kritisch" für Debugging-Zwecke { DTC_LAST_DTC , DTC_NONE } // Last Error }; const uint32_t dtc_generation_timestamp = 1704798523; #endif // DTC_DEFS_H