updated Project with elementes From ChainLube-Project
This commit is contained in:
@@ -1,57 +1,39 @@
|
||||
/**
|
||||
* @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 <Arduino.h>
|
||||
#include "dtc_defs.h"
|
||||
|
||||
#define MAX_DTC_STORAGE 12
|
||||
|
||||
typedef enum DTCNums_e
|
||||
typedef struct
|
||||
{
|
||||
DTC_NO_EEPROM_FOUND = 1,
|
||||
DTC_EEPROM_CFG_BAD,
|
||||
DTC_EEPROM_PDS_BAD,
|
||||
DTC_EEPROM_PDSADRESS_BAD,
|
||||
DTC_EEPROM_VERSION_BAD,
|
||||
DTC_FLASHFS_ERROR,
|
||||
DTC_FLASHFS_VERSION_ERROR,
|
||||
DTC_EEPROM_CFG_SANITY,
|
||||
DTC_NO_LORA_FOUND,
|
||||
DTC_NO_BATMNON_FOUND,
|
||||
DTC_BAT_LOW,
|
||||
DTC_BAT_CRITICAL,
|
||||
DTC_EEPROM_MIGRATE_FAILED,
|
||||
DTC_LAST_DTC
|
||||
} DTCNums_t;
|
||||
|
||||
typedef enum DTCActive_e
|
||||
{
|
||||
DTC_NONE,
|
||||
DTC_ACTIVE,
|
||||
DTC_PREVIOUS
|
||||
} DTCActive_t;
|
||||
|
||||
typedef enum DTCSeverity_e
|
||||
{
|
||||
DTC_INFO,
|
||||
DTC_WARN,
|
||||
DTC_CRITICAL
|
||||
} DTCSeverity_t;
|
||||
|
||||
typedef struct DTCEntry_s
|
||||
{
|
||||
DTCNums_t Number;
|
||||
DTCNum_t Number;
|
||||
uint32_t timestamp;
|
||||
DTCActive_t active;
|
||||
DTCSeverity_t severity;
|
||||
uint32_t debugVal;
|
||||
} DTCEntry_t;
|
||||
|
||||
void MaintainDTC(DTCNums_t DTC_no, DTCSeverity_t DTC_severity, boolean active, uint32_t DebugValue = 0);
|
||||
void ClearDTC(DTCNums_t DTC_no);
|
||||
void MaintainDTC(DTCNum_t DTC_no, boolean active, uint32_t DebugValue = 0);
|
||||
void ClearDTC(DTCNum_t DTC_no);
|
||||
void ClearAllDTC();
|
||||
DTCNums_t getlastDTC(boolean only_active);
|
||||
DTCNums_t getlastDTC_Severity(boolean only_active, DTCSeverity_t severity);
|
||||
DTCNum_t getlastDTC(boolean only_active);
|
||||
DTCNum_t ActiveDTCseverity(DTCSeverity_t severity);
|
||||
DTCSeverity_t getSeverityForDTC(DTCNum_t targetCode);
|
||||
void DTC_Process();
|
||||
|
||||
extern DTCEntry_s DTCStorage[MAX_DTC_STORAGE];
|
||||
extern DTCEntry_t DTCStorage[MAX_DTC_STORAGE];
|
||||
#endif
|
Reference in New Issue
Block a user