FuSa 8-Bit Libraries Safety Framework
Loading...
Searching...
No Matches
define_error_ids.h File Reference

Defines for IDs associated with specific errors. More...

Go to the source code of this file.

Enumerations

enum  errId_t {
  ERRID_NONE = 0U , ERRID_ERRFLAG_VAL , ERRID_ERRID_VAL , ERRID_SAFE_IO ,
  ERRID_FORCE_FLOAT , ERRID_SWDT_RESET_VAL , ERRID_WWDT_TIMEOUT_VAL , ERRID_GPR_VALS ,
  ERRID_GPR_FLAGS , ERRID_INT_DISABLED , ERRID_BOD_VLM , ERRID_BAD_IRQ ,
  ERRID_NMI , ERRID_NMI_UNKNOWN , ERRID_CRC_FLASH , ERRID_INIT_WATCHDOGS ,
  ERRID_INIT_CLOCKS , ERRID_INIT_ERRCTRL , ERRID_INIT_INTERRUPTS , ERRID_INIT_POWER ,
  ERRID_INIT_MEMORIES , ERRID_VREGFAIL_CH , ERRID_VREGFAIL_VOV , ERRID_VREGFAIL_VUV ,
  ERRID_BUSERR_CH , ERRID_BUSERR_BUSERR , ERRID_RAM_PARITY , ERRID_NVM_PARITY ,
  ERRID_BUSERR_PARITYD , ERRID_RAM2_CH , ERRID_RAM2_ECC2 , ERRID_RAM2_COMP ,
  ERRID_FLASH2_CH , ERRID_FLASH2_ECC2 , ERRID_FLASH2_COMP , ERRID_OPC_CH ,
  ERRID_OPC_OPC , ERRID_OPC_PARITYI , ERRID_SPLIM_CH , ERRID_RAM1_CH ,
  ERRID_FLASH1_CH , ERRID_VREGWARN_CH , ERRID_VREGWARN_VDENTER , ERRID_VREGWARN_VDEXIT ,
  ERRID_VREGWARN_VERR , ERRID_VREGWARN_VSLP , ERRID_VREGWARN_VDIS , ERRID_VREGWARN_SERR ,
  ERRID_CFD0_CH , ERRID_CFD1_CH , ERRID_CFM0_CH , ERRID_CFM1_CH ,
  ERRID_SWDT_CH , ERRID_SWDT_BADPC , ERRID_SWDT_BADC , ERRID_SWDT_UC ,
  ERRID_SWDT_EXP , ERRID_EEPROM_CH , ERRID_EEPROM_ECC1 , ERRID_EEPROM_ECC2 ,
  ERRID_EVSYS0_CH , ERRID_EVSYS0_CLEAR , ERRID_EVSYS1_CH , ERRID_EVSYS1_CLEAR ,
  ERRID_DIAG_CPU_COMP , ERRID_DIAG_SWDT_EXPIRE , ERRID_DIAG_SWDT_COUNT , ERRID_DIAG_WDT_EXPIRE ,
  ERRID_DIAG_WDT_COUNT , ERRID_DIAG_PARITY_NVM , ERRID_DIAG_PARITY_RAM , ERRID_DIAG_CFD0 ,
  ERRID_DIAG_CFD1 , ERRID_DIAG_CFM0 , ERRID_DIAG_CFM1 , ERRID_DIAG_ECC_RAM ,
  ERRID_DIAG_ECC_FLASH , ERRID_DIAG_ECC_EEPROM , ERRID_DIAG_VMON_OVER , ERRID_DIAG_VMON_UNDER ,
  ERRID_DIAG_ERRCH_SPLIM , ERRID_DIAG_ERRCH_CFD0 , ERRID_DIAG_ERRCH_CFD1 , ERRID_DIAG_ERRCH_CFM0 ,
  ERRID_DIAG_ERRCH_CFM1 , ERRID_DIAG_ERRCH_EEPROM , ERRID_DIAG_ERRCH_EVSYS0 , ERRID_DIAG_ERRCH_EVSYS1 ,
  ERRID_MAX
}
 Defines unique Error IDs for reporting system errors to EH_HandleError. More...

Detailed Description

Defines for IDs associated with specific errors.

Definition in file define_error_ids.h.

Enumeration Type Documentation

◆ errId_t

enum errId_t

Defines unique Error IDs for reporting system errors to EH_HandleError.

This enum facilitates a centralized error handling system, allowing for expansion by adding new Error IDs as required by the application. Each Error ID can be associated with a specific criticality level to determine how and when the error is handled. Errors are reported at the Task level, usually following a detected error during Middleware operations.

Warning
'ERRID_NONE' is initialized to zero and 'ERRID_MAX' is set to the highest enumerator value to ensure correct input validation in the Error Handler. Add additional application-specific error IDs within this range.
Note
Error IDs ending with _CH correspond to Error Channels in the ERRCTRL. The errCrit_t configured for each of these IDs defines the severity level used for the corresponding channel in hardware by T_InitSafetySystem. For a detailed description of each Error Channel, refer to the data sheet. Use errorIdCritLut to select the appropriate criticality level.
Todo
Make sure that all the Error Ids are properly documented and any unused/commented out ones are deleted before releasing
Enumerator
ERRID_NONE 

Error is always ignored

ERRID_ERRFLAG_VAL 

errFlag_t is invalid value

ERRID_ERRID_VAL 

errId_t is invalid value

ERRID_SAFE_IO 

Safe I/O fault detected

ERRID_FORCE_FLOAT 

Forced Float could not be disabled

ERRID_SWDT_RESET_VAL 

SWDT reset value is invalid

ERRID_WWDT_TIMEOUT_VAL 

Windowed WDT timeout value is invalid

ERRID_GPR_VALS 

Stored GPR values corrupt or unreliable

ERRID_GPR_FLAGS 

Stored GPR flags corrupt or unreliable

ERRID_INT_DISABLED 

Global interrupts could not be enabled

ERRID_BOD_VLM 

BOD VLM trigger condition detected

ERRID_BAD_IRQ 

Interrupt request issued without dedicated ISR

ERRID_NMI 

Non-Maskable Interrupt completed without a device reset

ERRID_NMI_UNKNOWN 

Non-Maskable Interrupt triggered by unknown source

ERRID_CRC_FLASH 

CRC Scan of Flash error detected

ERRID_INIT_WATCHDOGS 

Watchdogs initialization error detected

ERRID_INIT_CLOCKS 

Clocks initialization error detected

ERRID_INIT_ERRCTRL 

Error Controller initialization error detected

ERRID_INIT_INTERRUPTS 

Interrupts initialization error detected

ERRID_INIT_POWER 

Power initialization error detected

ERRID_INIT_MEMORIES 

Memories initialization error detected

ERRID_VREGFAIL_CH 

ERRCTRL Channel Set

ERRID_VREGFAIL_VOV 

VMON overvoltage detected

ERRID_VREGFAIL_VUV 

VMON undervoltage detected

ERRID_BUSERR_CH 

ERRCTRL Channel Set

ERRID_BUSERR_BUSERR 

Bus error detected

ERRID_RAM_PARITY 

RAMCTRL parity error detected

ERRID_NVM_PARITY 

NVMCTRL parity error detected

ERRID_BUSERR_PARITYD 

Data bus parity error detected

ERRID_RAM2_CH 

ERRCTRL Channel Set

ERRID_RAM2_ECC2 

Multi-bit ECC error in SRAM detected

ERRID_RAM2_COMP 

ECC comparator error in SRAM detected

ERRID_FLASH2_CH 

ERRCTRL Channel Set

ERRID_FLASH2_ECC2 

Multi-bit ECC error in Flash detected

ERRID_FLASH2_COMP 

ECC Comparator error in Flash detected

ERRID_OPC_CH 

ERRCTRL Channel Set

ERRID_OPC_OPC 

Illegal opcode in CPU detected

ERRID_OPC_PARITYI 

Instruction bus parity error detected

ERRID_SPLIM_CH 

ERRCTRL Channel Set

ERRID_RAM1_CH 

ERRCTRL Channel Set

ERRID_FLASH1_CH 

ERRCTRL Channel Set

ERRID_VREGWARN_CH 

ERRCTRL Channel Set

ERRID_VREGWARN_VDENTER 

VMON diagnostic mode entry detected

ERRID_VREGWARN_VDEXIT 

VMON diagnostic mode exit detected

ERRID_VREGWARN_VERR 

VMON internal error detected

ERRID_VREGWARN_VSLP 

VMON sleep mode entry detected

ERRID_VREGWARN_VDIS 

VMON disable detected

ERRID_VREGWARN_SERR 

Sleep instruction error detected

ERRID_CFD0_CH 

ERRCTRL Channel Set

ERRID_CFD1_CH 

ERRCTRL Channel Set

ERRID_CFM0_CH 

ERRCTRL Channel Set

ERRID_CFM1_CH 

ERRCTRL Channel Set

ERRID_SWDT_CH 

ERRCTRL Channel Set

ERRID_SWDT_BADPC 

SWDT non-PRECLEAR command error detected

ERRID_SWDT_BADC 

SWDT non-CLEAR command error detected

ERRID_SWDT_UC 

SWDT unexpected command error detected

ERRID_SWDT_EXP 

SWDT counter expired error detected

ERRID_EEPROM_CH 

ERRCTRL Channel Set

ERRID_EEPROM_ECC1 

Single-bit ECC error in EEPROM detected

ERRID_EEPROM_ECC2 

Multi-bit ECC error in EEPROM detected

ERRID_EVSYS0_CH 

ERRCTRL Channel Set

ERRID_EVSYS0_CLEAR 

Error controller failed to clear the EVSYS0 channel

ERRID_EVSYS1_CH 

ERRCTRL Channel Set

ERRID_EVSYS1_CLEAR 

Error controller failed to clear the EVSYS1 channel

ERRID_DIAG_CPU_COMP 

CPU comparator diagnostic error detected

ERRID_DIAG_SWDT_EXPIRE 

SWDT expire diagnostic error detected

ERRID_DIAG_SWDT_COUNT 

SWDT count diagnostic error detected

ERRID_DIAG_WDT_EXPIRE 

WDT expire diagnostic error detected

ERRID_DIAG_WDT_COUNT 

WDT count diagnostic error detected

ERRID_DIAG_PARITY_NVM 

NVM parity diagnostic error detected

ERRID_DIAG_PARITY_RAM 

RAM parity diagnostic error detected

ERRID_DIAG_CFD0 

CFD0 diagnostic error detected

ERRID_DIAG_CFD1 

CFD1 diagnostic error detected

ERRID_DIAG_CFM0 

CFM0 diagnostic error detected

ERRID_DIAG_CFM1 

CFM1 diagnostic error detected

ERRID_DIAG_ECC_RAM 

RAM ECC diagnostic error detected

ERRID_DIAG_ECC_FLASH 

Flash ECC diagnostic error detected

ERRID_DIAG_ECC_EEPROM 

EEPROM ECC diagnostic error detected

ERRID_DIAG_VMON_OVER 

VREG Monitor Overvoltage diagnostic error detected

ERRID_DIAG_VMON_UNDER 

VREG Monitor Undervoltage diagnostic error detected

ERRID_DIAG_ERRCH_SPLIM 

Error Controller SPLIM channel diagnostic error detected

ERRID_DIAG_ERRCH_CFD0 

Error Controller CFD0 channel diagnostic error detected

ERRID_DIAG_ERRCH_CFD1 

Error Controller CFD1 channel diagnostic error detected

ERRID_DIAG_ERRCH_CFM0 

Error Controller CFM0 channel diagnostic error detected

ERRID_DIAG_ERRCH_CFM1 

Error Controller CFM1 channel diagnostic error detected

ERRID_DIAG_ERRCH_EEPROM 

Error Controller EEPROM channel diagnostic error detected

ERRID_DIAG_ERRCH_EVSYS0 

Error Controller EVSYS0 channel diagnostic error detected

ERRID_DIAG_ERRCH_EVSYS1 

Error Controller EVSYS1 channel diagnostic error detected

ERRID_MAX 

Reserved/invalid, indicates highest ID value

Definition at line 47 of file define_error_ids.h.