/************************************************************************** * * Copyright (c) 2021-2025 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file AlarmMgmtSWFaults.h * * @author (last) Dara Navaei * @date (last) 20-May-2025 * * @author (original) Quang Nguyen * @date (original) 20-May-2021 * ***************************************************************************/ #ifndef __ALARM_MGMT_SW_FAULTS_H__ #define __ALARM_MGMT_SW_FAULTS_H__ /** * @addtogroup AlarmManagement * @{ */ // ********** public definitions ********** // Listing of specific software faults for logging purposes. typedef enum { SW_FAULT_ID_NONE = 0, SW_FAULT_ID_INT_ADC_DATA_OVERRUN, SW_FAULT_ID_INT_ADC_INVALID_CHANNEL_REQUESTED, SW_FAULT_ID_MODE_INIT_POST_INVALID_POST_STATE, SW_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED, SW_FAULT_ID_OP_MODES_INVALID_MODE_STATE, // 5 SW_FAULT_ID_OP_MODES_INVALID_MODE_REQUESTED, SW_FAULT_ID_OP_MODES_INVALID_MODE_TO_TRANSITION_TO, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR, SW_FAULT_ID_COMM_BUFFERS_ADD_TOO_MUCH_DATA, // 10 SW_FAULT_ID_COMM_BUFFERS_ADD_INVALID_BUFFER, SW_FAULT_ID_COMM_BUFFERS_GET_INVALID_BUFFER, SW_FAULT_ID_COMM_BUFFERS_PEEK_INVALID_BUFFER, SW_FAULT_ID_COMM_BUFFERS_COUNT_INVALID_BUFFER, SW_FAULT_ID_FPGA_INVALID_IN_STATE, // 15 SW_FAULT_ID_FPGA_INVALID_OUT_STATE, SW_FAULT_ID_FPGA_WRITE_CMD_TOO_MUCH_DATA, SW_FAULT_ID_FPGA_WRITE_RSP_TOO_MUCH_DATA, SW_FAULT_ID_FPGA_READ_CMD_TOO_MUCH_DATA, SW_FAULT_ID_FPGA_READ_RSP_TOO_MUCH_DATA, // 20 SW_FAULT_ID_MSG_QUEUES_ADD_QUEUE_FULL, SW_FAULT_ID_MSG_QUEUES_ADD_INVALID_QUEUE, SW_FAULT_ID_MSG_QUEUES_GET_INVALID_QUEUE, SW_FAULT_ID_MSG_QUEUES_IS_EMPTY_INVALID_QUEUE, SW_FAULT_ID_MSG_QUEUES_IS_FULL_INVALID_QUEUE, // 25 SW_FAULT_ID_WATCHDOG_INVALID_SELF_TEST_STATE, SW_FAULT_ID_RTC_EXEC_INVALID_STATE, SW_FAULT_ID_RTC_SELF_TEST_INVALID_STATE, SW_FAULT_ID_RTC_TRANSACTION_SERVICE_INVALID_STATE, SW_FAULT_ID_MSG_PENDING_ACK_LIST_FULL, // 30 SW_FAULT_ID_PI_CTRL_INVALID_CONTROLLER, SW_FAULT_ID_PI_CTRL_INVALID_SIGNAL, SW_FAULT_ID_NVDATAMGMT_EXEC_INVALID_STATE, SW_FAULT_ID_NVDATAMGMT_INVALID_SELF_TEST_STATE, SW_FAULT_ID_TEMPERATURE_SENSORS_INVALID_SELF_TEST_STATE, // 35 SW_FAULT_ID_TEMPERATURE_SENSORS_EXEC_INVALID_STATE, SW_FAULT_ID_HEATERS_INVALID_HEATER_ID_SELECTED, SW_FAULT_ID_HEATERS_INVALID_EXEC_STATE, SW_FAULT_ID_INVALID_EMSTAT_CONDUCTIVITY_BOARD_SELECTED, SW_FAULT_ID_VALVES_INVALID_VALVE_STATE_NAME, // 40 SW_FAULT_ID_VALVES_INVALID_VALVE_ID, SW_FAULT_ID_CAN_PARITY_ERROR, SW_FAULT_ID_CAN_PASSIVE_WARNING, SW_FAULT_ID_CAN_OFF_ERROR, SW_FAULT_ID_FPGA_UART_FRAME_ERROR, // 45 SW_FAULT_ID_FPGA_UART_OVERRUN_ERROR, SW_FAULT_ID_UTIL_TIME_WINDOWED_COUNT_ERROR, SW_FAULT_ID_ACCEL_INVALID_STATE, SW_FAULT_ID_ACCEL_GET_INVALID_AXIS, SW_FAULT_ID_ACCEL_GET_MAX_INVALID_AXIS, // 50 SW_FAULT_ID_ACCEL_INVALID_SELF_TEST_STATE, SW_FAULT_ID_UTIL_INVALID_WIN_COUNT, SW_FAULT_ID_UTIL_INVALID_WIN_MAX_COUNT, SW_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX, SW_FAULT_ID_CONCENTRATE_PUMP_EXEC_INVALID_STATE, // 55 SW_FAULT_ID_CONCENTRATE_PUMP_INVALID_PUMP_ID, SW_FAULT_ID_SEMAPHORE_IN_USE_TIMEOUT, SW_FAULT_ID_SERVICE_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_UV_REACTORS_INVALID_EXEC_STATE, SW_FAULT_ID_UV_REACTORS_INVALID_SELF_TEST_STATE, // 60 SW_FAULT_ID_THERMISTORS_INVALID_EXEC_STATE, SW_FAULT_ID_THERMISTORS_INVALID_SELF_TEST_STATE, SW_FAULT_ID_INVALID_THERMISTOR_SELECTED, SW_FAULT_ID_FAN_INVALID_EXEC_STATE, SW_FAULT_ID_FAN_INVALID_SELF_TEST_STATE, // 65 SW_FAULT_ID_INVALID_FAN_SELECTED, SW_FAULT_ID_RO_PUMP_INVALID_EXEC_STATE, SW_FAULT_ID_RO_PUMP_INVALID_FLOW_RATE_SET, SW_FAULT_ID_DRAIN_PUMP_INVALID_EXEC_STATE, SW_FAULT_ID_UV_REACTORS_INVALID_REACTOR_SELECTD, // 70 SW_FAULT_ID_RO_PUMP_INVALID_PRESSURE_SELECTED, SW_FAULT_ID_DRAIN_PUMP_TARGET_FLOW_LPM_SELECTED, SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED, SW_FAULT_ID_DRAIN_PUMP_INVALID_RPM_SELECTED, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_ID, // 75 SW_FAULT_ID_DG_FLUSH_INVALID_EXEC_STATE, SW_FAULT_ID_HEAT_DISINFECT_INVALID_EXEC_STATE, SW_FAULT_ID_INVALID_DG_RESERVOIR_SELECTED, SW_FAULT_ID_STANDBY_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_GEN_IDLE_MODE_INVALID_EXEC_STATE, // 80 SW_FAULT_ID_DRAIN_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_FILL_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_SOLO_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_PRESSURE_INVALID_EXEC_STATE, SW_FAULT_ID_INVALID_NVDATAMGMT_EXEC_CAL_STATE, // 85 SW_FAULT_ID_INVALID_VALVE_ID, SW_FAULT_ID_INVALID_INT_ADC_CHANNEL_NUMBER, SW_FAULT_ID_INVALID_RTI_NOTIFICATION, SW_FAULT_ID_CAN_TX_FAULT, SW_FAULT_ID_INVALID_CAN_MESSAGE_SIZE, // 90 SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID, SW_FAULT_ID_INVALID_PRESSURE_SENSOR_SELECTED, SW_FAULT_ID_INVALID_TASK, SW_FAULT_ID_INVALID_VOLTAGE_MONITOR_STATE, SW_FAULT_ID_INVALID_MONITORED_VOLTAGE_ID, // 95 SW_FAULT_ID_INVALID_LOAD_CELL_ID, SW_FAULT_ID_DG_CHEM_DISINFECT_INVALID_EXEC_STATE, SW_FAULT_ID_DG_INVALID_SWITCH_ID, SW_FAULT_ID_DG_PRESSURES_INVALID_SELF_TEST_STATE, SW_FAULT_ID_SAFETY_SHUTDOWN_INVALID_SELF_TEST_STATE, // 100 SW_FAULT_ID_PHANTOM_INTERRUPT, SW_FAULT_ID_ILLEGAL_MEM_ACCESS, SW_FAULT_ID_INVALID_AVAILABLE_1, SW_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED, SW_FAULT_ID_INVALID_FLOW_SENSOR_SELECTED, // 105 SW_FAULT_ID_INVALID_SERVICE_STATE_SELECTED, SW_FAULT_ID_INVALID_NV_RECORD_SELECTED, SW_FAULT_ID_WRITE_USAGE_INFO_TO_NV_FAILURE, SW_FAULT_ID_INVALID_FPGA_ERROR_GROUP_SELECTED, SW_FAULT_ID_INVALID_LED_COLOR_SELECTED, // 110 SW_FAULT_ID_INVALID_SWITCH_SELECTED, SW_FAULT_ID_INVALID_USAGE_INFO_SELECTED, SW_FAULT_ID_NVDATA_MANAGEMENT_OPS_TIMEOUT, SW_FAULT_ID_NVDATA_RTC_RAM_OPS_FAILURE, SW_FAULT_ID_HEAT_DISINFECT_ACTIVE_COOL_INVALID_EXEC_STATE, // 115 SW_FAULT_ID_DG_CHEM_DISINFECT_FLUSH_INVALID_EXEC_STATE, SW_FAULT_ID_INVALID_PI_PROFILE_SELECTED, SW_FAULT_ID_PI_CTRL_INVALID_STEP_LIMIT, SW_FAULT_ID_DG_INVALID_RO_PUMP_DUTY_CYCLE_SELECTED, SW_FAULT_ID_DG_INVALID_TEST_CONFIG_SELECTED, // 120 SW_FAULT_ID_DG_INVALID_COND_SNSNR_CAL_TABLE_SELECTED, SW_FAULT_ID_DG_RO_PERMEATE_SAMPLE_INVALID_EXEC_STATE, SW_FAULT_ID_DG_RO_PERMEATE_SAMPLE_INVALID_MESSAGE, NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T; /**@}*/ #endif