96 #define DIAG_ID_MAX_FOR_INIT (83u)
240 .numberOfFatalErrors = 0u,
252 #ifdef UNITY_UNIT_TEST
#define DATA_WRITE_DATA(...)
@ DATA_BLOCK_ID_ERROR_STATE
void DIAG_ErrorCanTiming(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for CAN related events
void DIAG_ErrorCurrentOnOpenString(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for overcurrent charge events
void DIAG_ErrorUndervoltage(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for undervoltage events
void DIAG_ErrorOvertemperatureDischarge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for overtemperature discharge events
void DIAG_ErrorCurrentMeasurement(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for current measurement related events
void DIAG_ErrorPlausibility(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for plausibility check related events
void DIAG_ErrorAfe(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for AFE related events
void DIAG_PrechargeContactorFeedback(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for precharge contactor feedback related events
void DIAG_ErrorCurrentSensor(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for current sensor related events
void DIAG_AlertFlag(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for ALERT flag
void DIAG_ErrorUndertemperatureCharge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for undertemperature charge events
void DIAG_PrechargeProcess(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for precharge abort reasons
void DIAG_ErrorDeepDischarge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for deep discharge events
void DIAG_ErrorOvertemperatureCharge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for overtemperature charge events
void DIAG_ErrorOvervoltage(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for overvoltage events
void DIAG_ErrorHighVoltageMeasurement(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for current sensor related events
void DIAG_DummyCallback(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
dummy callback function of diagnosis events
void DIAG_I2c(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for I2C port expander related events
void DIAG_ErrorSystemMonitoring(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
Callback function for system monitoring related diagnosis events.
void DIAG_StringContactorFeedback(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for string contactor feedback related events
void DIAG_ErrorUndertemperatureDischarge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for undertemperature discharge events
void DIAG_ErrorAfeDriver(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for AFE module related events
void DIAG_ErrorPowerMeasurement(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for current sensor related events
void DIAG_ErrorOvercurrentCharge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for overcurrent charge events
void DIAG_FramError(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for FRAM related events
void DIAG_PlausibilityCheck(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for plausibility check related events
void DIAG_Sbc(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for SBC related events
void DIAG_ErrorInterlock(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
Callback function for interlock related diagnosis events.
void DIAG_ErrorOvercurrentDischarge(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for overcurrent discharge events
void DIAG_ErrorCanRxQueueFull(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for CAN related events
void DIAG_Insulation(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t stringNumber)
diagnosis callback function for the insulation measurement
void DIAG_Rtc(DIAG_ID_e diagId, DIAG_EVENT_e event, const DIAG_DATABASE_SHIM_s *const kpkDiagShim, uint32_t data)
diagnosis callback function for RTC related events
static DATA_BLOCK_ERROR_STATE_s diag_tableErrorFlags
#define DIAG_ID_MAX_FOR_INIT
static DATA_BLOCK_MSL_FLAG_s diag_tableMslFlags
static DATA_BLOCK_RSL_FLAG_s diag_tableRslFlags
void DIAG_UpdateFlags(void)
update function for diagnosis flags
DIAG_ID_CFG_s diag_diagnosisIdConfiguration[]
static DATA_BLOCK_MOL_FLAG_s diag_tableMolFlags
FAS_STATIC_ASSERT(DIAG_ID_MAX_FOR_INIT==(uint16_t) DIAG_ID_MAX, "Both values need to be identical.")
const DIAG_DATABASE_SHIM_s diag_kDatabaseShim
Diagnostic module configuration header.
#define DIAG_ERROR_VOLTAGE_SENSITIVITY_RSL
#define DIAG_ERROR_CURRENT_SENSITIVITY_MOL
#define DIAG_ERROR_LTC_MUX_SENSITIVITY
#define DIAG_DELAY_REDUNDANCY_MEAS_ERROR_ms
#define DIAG_ERROR_SENSITIVITY_HIGH
#define DIAG_DELAY_DEEP_DISCHARGE_ms
#define DIAG_ERROR_INTERLOCK_SENSITIVITY
#define DIAG_ERROR_CURRENT_SENSITIVITY_RSL
#define DIAG_ERROR_TEMPERATURE_SENSITIVITY_RSL
#define DIAG_ERROR_SENSITIVITY_FIFTH_EVENT
#define DIAG_DELAY_TEMPERATURE_ms
#define DIAG_DELAY_AFE_ms
#define DIAG_DELAY_CONTACTOR_FEEDBACK_ms
@ DIAG_EVALUATION_ENABLED
#define DIAG_DELAY_INTERLOCK_ms
#define DIAG_DELAY_OVERCURRENT_ms
#define DIAG_ERROR_TEMPERATURE_SENSITIVITY_MOL
#define DIAG_DELAY_REDUNDANCY_MEAS_TIMEOUT_ms
#define DIAG_DELAY_PL_PACK_VOLTAGE_ms
#define DIAG_ERROR_CAN_TIMING_CC_SENSITIVITY
#define DIAG_ERROR_CAN_SENSOR_SENSITIVITY
#define DIAG_DELAY_EC_CC_TIMING_ms
#define DIAG_ERROR_SENSITIVITY_TENTH_EVENT
@ DIAG_ID_TEMP_OVERTEMPERATURE_DISCHARGE_MSL
@ DIAG_ID_POWER_MEASUREMENT_ERROR
@ DIAG_ID_CELL_VOLTAGE_UNDERVOLTAGE_MSL
@ DIAG_ID_PACK_OVERCURRENT_CHARGE_MSL
@ DIAG_ID_OVERCURRENT_CHARGE_CELL_RSL
@ DIAG_ID_CURRENT_SENSOR_V2_MEASUREMENT_TIMEOUT
@ DIAG_ID_AFE_CELL_VOLTAGE_MEAS_ERROR
@ DIAG_ID_CAN_CC_RESPONDING
@ DIAG_ID_CURRENT_MEASUREMENT_TIMEOUT
@ DIAG_ID_AFE_CELL_TEMPERATURE_MEAS_ERROR
@ DIAG_ID_RTC_CLOCK_INTEGRITY_ERROR
@ DIAG_ID_TEMP_UNDERTEMPERATURE_CHARGE_MSL
@ DIAG_ID_PLAUSIBILITY_CELL_TEMPERATURE_SPREAD
@ DIAG_ID_TEMP_OVERTEMPERATURE_DISCHARGE_RSL
@ DIAG_ID_STRING_OVERCURRENT_DISCHARGE_MOL
@ DIAG_ID_INSULATION_MEASUREMENT_VALID
@ DIAG_ID_STRING_OVERCURRENT_DISCHARGE_RSL
@ DIAG_ID_PLAUSIBILITY_CELL_VOLTAGE_SPREAD
@ DIAG_ID_BASE_CELL_TEMPERATURE_MEASUREMENT_TIMEOUT
@ DIAG_ID_TEMP_UNDERTEMPERATURE_DISCHARGE_RSL
@ DIAG_ID_CELL_VOLTAGE_UNDERVOLTAGE_RSL
@ DIAG_ID_PLAUSIBILITY_PACK_VOLTAGE
@ DIAG_ID_CELL_VOLTAGE_OVERVOLTAGE_MSL
@ DIAG_ID_STRING_OVERCURRENT_CHARGE_RSL
@ DIAG_ID_STRING_PLUS_CONTACTOR_FEEDBACK
@ DIAG_ID_PLAUSIBILITY_CELL_VOLTAGE
@ DIAG_ID_PLAUSIBILITY_CELL_TEMP
@ DIAG_ID_OVERCURRENT_DISCHARGE_CELL_MSL
@ DIAG_ID_TEMP_UNDERTEMPERATURE_CHARGE_RSL
@ DIAG_ID_TEMP_OVERTEMPERATURE_DISCHARGE_MOL
@ DIAG_ID_STRING_OVERCURRENT_CHARGE_MSL
@ DIAG_ID_STRING_MINUS_CONTACTOR_FEEDBACK
@ DIAG_ID_STRING_OVERCURRENT_CHARGE_MOL
@ DIAG_ID_TEMP_OVERTEMPERATURE_CHARGE_MSL
@ DIAG_ID_AFE_COM_INTEGRITY
@ DIAG_ID_CURRENT_SENSOR_POWER_MEASUREMENT_TIMEOUT
@ DIAG_ID_BASE_CELL_VOLTAGE_MEASUREMENT_TIMEOUT
@ DIAG_ID_SYSTEM_MONITORING
@ DIAG_ID_CELL_VOLTAGE_OVERVOLTAGE_RSL
@ DIAG_ID_INSULATION_GROUND_ERROR
@ DIAG_ID_TEMP_OVERTEMPERATURE_CHARGE_MOL
@ DIAG_ID_TEMP_UNDERTEMPERATURE_CHARGE_MOL
@ DIAG_ID_FRAM_READ_CRC_ERROR
@ DIAG_ID_PRECHARGE_ABORT_REASON_CURRENT
@ DIAG_ID_PRECHARGE_CONTACTOR_FEEDBACK
@ DIAG_ID_RTC_BATTERY_LOW_ERROR
@ DIAG_ID_PACK_OVERCURRENT_DISCHARGE_MSL
@ DIAG_ID_CURRENT_SENSOR_V1_MEASUREMENT_TIMEOUT
@ DIAG_ID_DEEP_DISCHARGE_DETECTED
@ DIAG_ID_CURRENT_SENSOR_V3_MEASUREMENT_TIMEOUT
@ DIAG_ID_TEMP_UNDERTEMPERATURE_DISCHARGE_MOL
@ DIAG_ID_PRECHARGE_ABORT_REASON_VOLTAGE
@ DIAG_ID_CELL_VOLTAGE_UNDERVOLTAGE_MOL
@ DIAG_ID_LOW_INSULATION_RESISTANCE_ERROR
@ DIAG_ID_CELL_VOLTAGE_OVERVOLTAGE_MOL
@ DIAG_ID_CURRENT_ON_OPEN_STRING
@ DIAG_ID_STRING_OVERCURRENT_DISCHARGE_MSL
@ DIAG_ID_REDUNDANCY0_CELL_VOLTAGE_MEASUREMENT_TIMEOUT
@ DIAG_ID_OVERCURRENT_CHARGE_CELL_MSL
@ DIAG_ID_OVERCURRENT_DISCHARGE_CELL_MOL
@ DIAG_ID_CURRENT_SENSOR_RESPONDING
@ DIAG_ID_CURRENT_MEASUREMENT_ERROR
@ DIAG_ID_CAN_RX_QUEUE_FULL
@ DIAG_ID_OVERCURRENT_CHARGE_CELL_MOL
@ DIAG_ID_CAN_EC_RESPONDING
@ DIAG_ID_TEMP_OVERTEMPERATURE_CHARGE_RSL
@ DIAG_ID_INTERLOCK_FEEDBACK
@ DIAG_ID_OVERCURRENT_DISCHARGE_CELL_RSL
@ DIAG_ID_TEMP_UNDERTEMPERATURE_DISCHARGE_MSL
@ DIAG_ID_REDUNDANCY0_CELL_TEMPERATURE_MEASUREMENT_TIMEOUT
@ DIAG_ID_LOW_INSULATION_RESISTANCE_WARNING
#define DIAG_CAN_TIMING
Value that is written into the field that describes whether CAN timing diag entries should be generat...
#define DIAG_ERROR_CURRENT_SENSITIVITY_MSL
#define DIAG_ERROR_LTC_PEC_SENSITIVITY
#define DIAG_DELAY_OVERVOLTAGE_ms
#define DIAG_CAN_SENSOR_PRESENT
Value that is written into the field that describes whether current sensor diag entries should be gen...
#define DIAG_DELAY_SBC_ms
#define DIAG_DELAY_DISCARDED
#define DIAG_ERROR_VOLTAGE_SENSITIVITY_MOL
#define DIAG_ERROR_TEMPERATURE_SENSITIVITY_MSL
#define DIAG_ERROR_CAN_TIMING_SENSITIVITY
#define DIAG_ERROR_SENSITIVITY_FIRST_EVENT
#define DIAG_ERROR_CONTACTOR_FEEDBACK_SENSITIVITY
#define DIAG_DELAY_CAN_TIMING_ms
#define DIAG_DELAY_CURRENT_SENSOR_ms
#define DIAG_DELAY_UNDERVOLTAGE_ms
#define DIAG_ERROR_LTC_SPI_SENSITIVITY
#define DIAG_ERROR_VOLTAGE_SENSITIVITY_MSL
#define NULL_PTR
Null pointer.
General macros and definitions for the whole platform.
#define GEN_REPEAT_U(x, n)
Macro that helps to generate a series of literals (for array initializers).
DATA_BLOCK_HEADER_s header
DATA_BLOCK_HEADER_s header
DATA_BLOCK_HEADER_s header
DATA_BLOCK_HEADER_s header
DATA_BLOCK_ERROR_STATE_s * pTableError
uint8_t nrOfConfiguredDiagnosisEntries