95 lines
5.5 KiB
C
95 lines
5.5 KiB
C
/**
|
||
* @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 2025-05-04 12:01:55.
|
||
*
|
||
* @author Marcel Peterkau
|
||
* @date 04.05.2025
|
||
*/
|
||
|
||
#ifndef DTC_DEFS_H
|
||
#define DTC_DEFS_H
|
||
|
||
#include <stdint.h>
|
||
|
||
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_OBD2_KLINE_TIMEOUT 17
|
||
#define DTC_OBD2_CAN_TIMEOUT 18
|
||
#define DTC_OBD2_CAN_NO_RESPONSE 19
|
||
#define DTC_OBD2_KLINE_NO_RESPONSE 20
|
||
#define DTC_OBD2_KLINE_BAD_FRAME 21
|
||
#define DTC_LAST_DTC 22
|
||
|
||
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_OBD2_KLINE_TIMEOUT , DTC_CRITICAL }, // Die Anfrage über OBD2-KLine konnte nicht gesendet werden. Prüfen Sie den K-Line-Treiber (z. B. L9637D) und die Verkabelung.
|
||
{ DTC_OBD2_CAN_TIMEOUT , DTC_CRITICAL }, // Die Anfrage an das Steuergerät über OBD2-CAN konnte nicht gesendet werden. Prüfen Sie die Verbindung zum CAN-Modul und die OBD2-Konfiguration.
|
||
{ DTC_OBD2_CAN_NO_RESPONSE , DTC_WARN }, // Es wurde innerhalb der erwarteten Zeit keine Antwort vom Steuergerät über OBD2-CAN empfangen. Prüfen Sie, ob das Fahrzeug OBD2 unterstützt und die Verbindung korrekt ist.
|
||
{ DTC_OBD2_KLINE_NO_RESPONSE , DTC_WARN }, // Es wurde innerhalb der erwarteten Zeit keine Antwort über OBD2-KLine empfangen. Prüfen Sie die Verbindung zum Steuergerät und die Protokollkompatibilität.
|
||
{ DTC_OBD2_KLINE_BAD_FRAME , DTC_WARN }, // Das empfangene Frame war unvollständig oder entsprach nicht dem erwarteten OBD2-Format. Möglicherweise inkompatibles Steuergerät.
|
||
{ DTC_LAST_DTC , DTC_NONE } // Last Error
|
||
};
|
||
|
||
#endif // DTC_DEFS_H
|
||
|
||
// CODEGENERATOR_CHECKSUM: 15e9152fb712bc6ed7c3353a05b1b54dc697f3e489a6e1ff42b7e57f0fa094d4
|