/** * @file dtc.h * * @brief Header file for handling Diagnostic Trouble Codes (DTC) in the ChainLube application. * * This file provides definitions and functions for handling Diagnostic Trouble Codes (DTC) * in the ChainLube project. It includes structures for DTC entries, severity levels, * and functions for DTC maintenance and processing. DTCs are used to track system errors and issues. * * @author Marcel Peterkau * @date 09.01.2024 */ #ifndef _DTC_H_ #define _DTC_H_ #include #include "dtc_defs.h" #define MAX_DTC_STORAGE 6 typedef struct { DTCNum_t Number; uint32_t timestamp; DTCActive_t active; uint32_t debugVal; } DTCEntry_t; void MaintainDTC(DTCNum_t DTC_no, boolean active, uint32_t DebugValue = 0); void ClearDTC(DTCNum_t DTC_no); void ClearAllDTC(); DTCNum_t getlastDTC(boolean only_active); DTCNum_t ActiveDTCseverity(DTCSeverity_t severity); DTCSeverity_t getSeverityForDTC(DTCNum_t targetCode); void DTC_Process(); extern DTCEntry_t DTCStorage[MAX_DTC_STORAGE]; #endif