/************************************************************************** * * Copyright (c) 2024-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) Vinayakam Mani * @date (last) 02-Oct-2025 * * @author (original) Vinayakam Mani * @date (original) 07-Aug-2024 * ***************************************************************************/ #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 = 1, SW_FAULT_ID_INT_ADC_INVALID_CHANNEL_REQUESTED = 2, SW_FAULT_ID_MODE_INIT_POST_INVALID_POST_STATE = 3, SW_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED = 4, SW_FAULT_ID_OP_MODES_INVALID_MODE_STATE = 5, SW_FAULT_ID_OP_MODES_INVALID_MODE_REQUESTED = 6, SW_FAULT_ID_OP_MODES_INVALID_MODE_TO_TRANSITION_TO = 7, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE = 8, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR = 9, SW_FAULT_ID_COMM_BUFFERS_ADD_TOO_MUCH_DATA = 10, SW_FAULT_ID_COMM_BUFFERS_ADD_INVALID_BUFFER = 11, SW_FAULT_ID_COMM_BUFFERS_GET_INVALID_BUFFER = 12, SW_FAULT_ID_COMM_BUFFERS_PEEK_INVALID_BUFFER = 13, SW_FAULT_ID_COMM_BUFFERS_COUNT_INVALID_BUFFER = 14, SW_FAULT_ID_FPGA_INVALID_STATE = 15, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR_COND = 16, SW_FAULT_ID_FPGA_WRITE_CMD_TOO_MUCH_DATA = 17, SW_FAULT_ID_FPGA_WRITE_RSP_TOO_MUCH_DATA = 18, SW_FAULT_ID_FPGA_READ_CMD_TOO_MUCH_DATA = 19, SW_FAULT_ID_FPGA_READ_RSP_TOO_MUCH_DATA = 20, SW_FAULT_ID_MSG_QUEUES_ADD_QUEUE_FULL = 21, SW_FAULT_ID_MSG_QUEUES_ADD_INVALID_QUEUE = 22, SW_FAULT_ID_MSG_QUEUES_GET_INVALID_QUEUE = 23, SW_FAULT_ID_MSG_QUEUES_IS_EMPTY_INVALID_QUEUE = 24, SW_FAULT_ID_MSG_QUEUES_IS_FULL_INVALID_QUEUE = 25, SW_FAULT_ID_WATCHDOG_INVALID_SELF_TEST_STATE = 26, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE3 = 27, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR2 = 28, SW_FAULT_ID_INVALID_ALARM_ID_REFERENCED1 = 29, SW_FAULT_ID_MSG_PENDING_ACK_LIST_FULL = 30, SW_FAULT_ID_VALVES_INVALID_VALVE_STATE_NAME = 31, SW_FAULT_ID_VALVES_INVALID_VALVE_ID = 32, SW_FAULT_ID_CAN_PARITY_ERROR = 33, SW_FAULT_ID_CAN_PASSIVE_WARNING = 34, SW_FAULT_ID_CAN_OFF_ERROR = 35, SW_FAULT_ID_UTIL_TIME_WINDOWED_COUNT_ERROR = 36, SW_FAULT_ID_INVALID_ALARM_ID_REFERENCED2 = 37, SW_FAULT_ID_INVALID_CAN_MESSAGE_BOX = 38, SW_FAULT_ID_SYSTEM_CMMM_CAN_TRANSMIT_REJECTED = 39, SW_FAULT_ID_SYSTEM_COMM_INVALID_FRAME_SIZE = 40, SW_FAULT_ID_UTIL_INVALID_WIN_COUNT = 41, SW_FAULT_ID_UTIL_INVALID_WIN_MAX_COUNT = 42, SW_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX = 43, SW_FAULT_ID_SEMAPHORE_IN_USE_TIMEOUT = 44, SW_FAULT_ID_SERVICE_MODE_INVALID_EXEC_STATE = 45, SW_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX1 = 46, SW_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX2 = 47, SW_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX3 = 48, SW_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED1 = 49, SW_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED2 = 50, SW_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED3 = 51, SW_FAULT_ID_DRAIN_PUMP_INVALID_RPM_SELECTED = 52, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_ID = 53, SW_FAULT_ID_WATCHDOG_INVALID_TASK = 54, SW_FAULT_ID_STANDBY_MODE_INVALID_EXEC_STATE = 55, SW_FAULT_ID_INVALID_INT_ADC_CHANNEL_NUMBER = 56, SW_FAULT_ID_INVALID_RTI_NOTIFICATION = 57, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_GET_PROPS = 58, SW_FAULT_ID_SAFETY_SHUTDOWN_INVALID_SELF_TEST_STATE = 59, SW_FAULT_ID_PHANTOM_INTERRUPT = 60, SW_FAULT_ID_ILLEGAL_MEM_ACCESS = 61, SW_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED = 62, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_GET_RANK = 63, SW_FAULT_ID_INVALID_ALARM_ID_REFERENCED3 = 64, SW_FAULT_ID_CAN_IN_INVALID_BUFFER = 65, SW_FAULT_ID_CAN_OUT_INVALID_BUFFER = 66, SW_FAULT_ID_PRESSURE_INVALID_EXEC_STATE = 67, SW_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR1 = 68, SW_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR2 = 69, SW_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR3 = 70, SW_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR4 = 71, SW_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR5 = 72, SW_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR6 = 73, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID = 74, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID1 = 75, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID2 = 76, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID3 = 77, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID4 = 78, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID5 = 79, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID6 = 80, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID7 = 81, SW_FAULT_ID_CONDUCTIVITY_WR_INVALID_EXEC_STATE = 82, SW_FAULT_ID_CONDUCTIVITY_RD_INVALID_EXEC_STATE = 83, SW_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID8 = 84, SW_FAULT_ID_CONCENTRATE_PUMP_EXEC_INVALID_STATE = 85, SW_FAULT_ID_CONCENTRATE_PUMP_INVALID_PUMP_ID = 86, SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED1 = 87, SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED2 = 88, SW_FAULT_ID_TEMPERATURE_SENSORS_EXEC_INVALID_STATE = 89, SW_FAULT_ID_PI_CTRL_INVALID_CONTROLLER = 90, SW_FAULT_ID_PI_CTRL_INVALID_SIGNAL = 91, SW_FAULT_ID_PI_CTRL_INVALID_STEP_LIMIT = 92, SW_FAULT_ID_DIALYSATE_PUMP_INVALID_RPM_SELECTED = 93, SW_FAULT_ID_DIALYSATE_PUMP_EXEC_INVALID_STATE = 94, SW_FAULT_ID_DIALYSATE_PUMP_INVALID_PUMP_ID = 95, SW_FAULT_ID_HEATERS_INVALID_HEATER_ID_SELECTED = 96, SW_FAULT_ID_HEATERS_INVALID_EXEC_STATE = 97, SW_FAULT_ID_INVALID_LEVEL_SELECTED = 98, SW_FAULT_ID_DD_INVALID_LEVEL_ID = 99, SW_FAULT_ID_BAL_CHAMBER_INVALID_EXEC_STATE = 100, SW_FAULT_ID_INVALID_TD_OPERATING_MODE = 101, SW_FAULT_ID_GEND_MODE_INVALID_EXEC_STATE = 102, SW_FAULT_ID_GEND_MODE_INVALID_EXEC_STATE1 = 103, SW_FAULT_ID_INVALID_FP_OPERATING_MODE = 104, SW_FAULT_ID_PRE_GEND_MODE_INVALID_EXEC_STATE = 105, SW_FAULT_ID_POST_GEND_MODE_INVALID_EXEC_STATE = 106, SW_FAULT_ID_PRE_GEND_WET_SELF_TEST_INVALID_EXEC_STATE = 107, SW_FAULT_ID_PRE_GEND_WET_SELF_TEST_INVALID_EXEC_STATE1 = 108, SW_FAULT_ID_UF_INVALID_EXEC_STATE = 109, SW_FAULT_ID_SPENT_CHAMBER_FILL_INVALID_EXEC_STATE = 110, SW_FAULT_ID_TD_INVALID_BLOOD_LEAK_STATE = 111, SW_FAULT_ID_BLOOD_LEAK_EMBEDDED_MODE_INVALID_STATE = 112, SW_FAULT_ID_BLOOD_LEAK_ENQUEUE_FAILURE = 113, SW_FAULT_ID_BLOOD_LEAK_INVALID_EMB_MODE_CMD_SELECTED = 114, SW_FAULT_ID_INVALID_FILTERED_CONDUCTIVITY_SENSOR_ID = 115, SW_FAULT_ID_VOLTAGES_INVALID_STATE = 116, SW_FAULT_ID_VOLTAGES_INVALID_SIGNAL = 117, SW_FAULT_ID_RINSE_PUMP_INVALID_EXEC_STATE = 118, SW_FAULT_ID_RINSE_PUMP_INVALID_STATE1 = 119, SW_FAULT_ID_DRY_BICART_FILL_INVALID_EXEC_STATE = 120, SW_FAULT_ID_BICARB_CHAMBER_FILL_INVALID_EXEC_STATE = 121, NUM_OF_SW_FAULT_IDS } DD_SW_FAULT_ID_T; typedef enum { // TODO clean up FP_FAULT_ID_NONE = 0, FP_FAULT_ID_MODE_INIT_POST_INVALID_POST_STATE = 1, FP_FAULT_ID_MODE_STANDBY_INVALID_STATE = 2, FP_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED = 3, FP_FAULT_ID_OP_MODES_INVALID_MODE_STATE = 4, FP_FAULT_ID_OP_MODES_INVALID_MODE_REQUESTED = 5, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE = 6, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR = 7, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE1 = 8, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE2 = 9, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR1 = 10, FP_FAULT_ID_ALARM_MGMT_INVALID_FIFO_TO_RESET = 11, FP_FAULT_ID_COMM_BUFFERS_ADD_TOO_MUCH_DATA = 12, FP_FAULT_ID_COMM_BUFFERS_ADD_INVALID_BUFFER = 13, FP_FAULT_ID_COMM_BUFFERS_GET_INVALID_BUFFER = 14, FP_FAULT_ID_COMM_BUFFERS_PEEK_INVALID_BUFFER = 15, FP_FAULT_ID_COMM_BUFFERS_COUNT_INVALID_BUFFER = 16, FP_FAULT_ID_INVALID_RO_OPERATING_MODE = 17, FP_FAULT_ID_PHANTOM_INTERRUPT = 18, FP_FAULT_ID_INVALID_RTI_NOTIFICATION = 19, FP_FAULT_ID_CAN_PARITY_ERROR = 20, FP_FAULT_ID_CAN_OFF_ERROR = 21, FP_FAULT_ID_UNEXPECTED_DMA_INTERRUPT = 22, FP_FAULT_ID_MSG_PENDING_ACK_LIST_FULL = 23, FP_FAULT_ID_MSG_QUEUES_ADD_QUEUE_FULL = 24, FP_FAULT_ID_MSG_QUEUES_ADD_INVALID_QUEUE = 25, FP_FAULT_ID_MSG_QUEUES_GET_INVALID_QUEUE = 26, FP_FAULT_ID_MSG_QUEUES_IS_EMPTY_INVALID_QUEUE = 27, FP_FAULT_ID_MSG_QUEUES_IS_FULL_INVALID_QUEUE = 28, FP_FAULT_ID_ILLEGAL_MEM_ACCESS = 29, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_ACTIVATE3 = 30, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR2 = 31, FP_FAULT_ID_INVALID_ALARM_ID_REFERENCED1 = 32, FP_FAULT_ID_INVALID_ALARM_ID_REFERENCED2 = 33, FP_FAULT_ID_FPGA_INVALID_STATE = 34, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_GET_PROPS = 35, FP_FAULT_ID_FPGA_WRITE_CMD_TOO_MUCH_DATA = 36, FP_FAULT_ID_FPGA_WRITE_RSP_TOO_MUCH_DATA = 37, FP_FAULT_ID_FPGA_READ_CMD_TOO_MUCH_DATA = 38, FP_FAULT_ID_FPGA_READ_RSP_TOO_MUCH_DATA = 39, FP_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX1 = 40, FP_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX2 = 41, FP_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX3 = 42, FP_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED1 = 43, FP_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED2 = 44, FP_FAULT_ID_INVALID_FPGA_SENSOR_GROUP_SELECTED3 = 45, FP_FAULT_ID_INVALID_CAN_MESSAGE_BOX = 46, FP_FAULT_ID_SYSTEM_CMMM_CAN_TRANSMIT_REJECTED = 47, FP_FAULT_ID_SYSTEM_COMM_INVALID_FRAME_SIZE = 48, FP_FAULT_ID_UTIL_INVALID_WIN_MAX_COUNT = 49, FP_FAULT_ID_UTIL_INVALID_WIN_COUNT = 50, FP_FAULT_ID_UTIL_TIME_WINDOWED_COUNT_ERROR = 51, FP_FAULT_ID_SEMAPHORE_IN_USE_TIMEOUT = 52, FP_FAULT_ID_WATCHDOG_INVALID_SELF_TEST_STATE = 53, FP_FAULT_ID_WATCHDOG_INVALID_TASK = 54, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_FOR_START_TIME = 55, FP_FAULT_ID_INT_ADC_DATA_OVERRUN = 56, FP_FAULT_ID_INT_ADC_INVALID_CHANNEL_REQUESTED1 = 57, FP_FAULT_ID_INT_ADC_INVALID_CHANNEL_REQUESTED2 = 58, FP_FAULT_ID_SAFETY_SHUTDOWN_INVALID_SELF_TEST_STATE = 59, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_GET_RANK = 60, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_CLEAR_COND = 61, FP_FAULT_ID_INVALID_ALARM_ID_REFERENCED3 = 62, FP_FAULT_ID_SYSTEM_COMM_INVALID_BUFFER_INDEX1 = 63, FP_FAULT_ID_SYSTEM_COMM_INVALID_BUFFER_INDEX2 = 64, FP_FAULT_ID_VOLTAGES_INVALID_STATE = 65, FP_FAULT_ID_VOLTAGES_INVALID_SIGNAL = 66, FP_FAULT_ID_TD_INVALID_SWITCH_ID = 67, FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_ID = 68, FP_FAULT_ID_PI_CTRL_INVALID_SIGNAL = 69, FP_FAULT_ID_PI_CTRL_INVALID_CONTROLLER = 70, FP_FAULT_ID_PI_CTRL_INVALID_STEP_LIMIT = 71, FP_FAULT_ID_VALVES_INVALID_VALVE_STATE_NAME = 72, FP_FAULT_ID_VALVES_INVALID_VALVE_STATE1 = 73, FP_FAULT_ID_VALVES_INVALID_VALVE_STATE2 = 74, FP_FAULT_ID_VALVES_INVALID_VALVE_ID1 = 75, FP_FAULT_ID_VALVES_INVALID_VALVE_ID2 = 76, FP_FAULT_ID_VALVES_INVALID_VALVE_ID3 = 77, FP_FAULT_ID_VALVES_INVALID_VALVE_ID4 = 78, FP_FAULT_ID_INVALID_FLUID_PUMP_ID1 = 79, FP_FAULT_ID_INVALID_FLUID_PUMP_ID2 = 80, FP_FAULT_ID_INVALID_FLUID_PUMP_ID3 = 81, FP_FAULT_ID_INVALID_FLUID_PUMP_ID4 = 82, FP_FAULT_ID_FP_PUMP_INVALID_EXEC_STATE = 83, FP_FAULT_ID_FP_PUMP_INVALID_PUMP_ID1 = 84, FP_FAULT_ID_OP_MODES_INVALID_MODE_TO_TRANSITION_TO = 85, FP_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR1 = 86, FP_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR2 = 87, FP_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR3 = 88, FP_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR4 = 89, FP_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR5 = 90, FP_FAULT_ID_PRESSURE_SENSOR_INVALID_SENSOR6 = 91, FP_FAULT_ID_PRESSURE_INVALID_EXEC_STATE = 92, FP_FAULT_ID_FLOW_SENSOR_INVALID_SENSOR1 = 93, FP_FAULT_ID_FLOW_SENSOR_INVALID_SENSOR2 = 94, FP_FAULT_ID_FLOW_SENSOR_INVALID_SENSOR3 = 95, FP_FAULT_ID_FLOW_SENSOR_INVALID_SENSOR4 = 96, FP_FAULT_ID_FLOW_INVALID_EXEC_STATE = 97, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID = 98, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID1 = 99, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID2 = 100, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID3 = 101, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID4 = 102, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID5 = 103, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID6 = 104, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID7 = 105, FP_FAULT_ID_INVALID_CONDUCTIVITY_SENSOR_ID8 = 106, FP_FAULT_ID_CONDUCTIVITY_RD_INVALID_EXEC_STATE = 107, FP_FAULT_ID_CONDUCTIVITY_WR_INVALID_EXEC_STATE = 108, FP_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED1 = 109, FP_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED2 = 110, FP_FAULT_ID_HEATER_INVALID_EXEC_STATE = 111, FP_FAULT_ID_FP_INVALID_GENP_STATE = 112, FP_FAULT_ID_FP_INVALID_PGEN_STATE = 113, FP_FAULT_ID_FP_INVALID_FP_CMD = 114, FP_FAULT_ID_FP_INVALID_PUMP_DUTY_CYCLE_SELECTED = 115, FP_FAULT_ID_FP_PUMP_INVALID_PRESSURE_SELECTED = 116, FP_FAULT_ID_FP_PUMP_INVALID_FLOW_RATE_SET = 117, FP_FAULT_ID_FP_INVALID_FILTER_FLUSH_STATE = 118, FP_FAULT_ID_FP_INVALID_PERMEATE_FLUSH_STATE = 119, FP_FAULT_ID_INVALID_FILTERED_CONDUCTIVITY_SENSOR_ID = 120, FP_FAULT_ID_FP_INVALID_CONCENTRATE_FLUSH_STATE = 121, FP_FAULT_ID_FP_INVALD_GENP_DEF_STATE = 122, FP_FAULT_ID_FP_INVALID_PERMEATE_TANK_STATE = 123, FP_FAULT_ID_FP_INVALID_INLET_PRESSURE_CHECK_STATE = 124, NUM_OF_FP_FAULT_IDS } FP_SW_FAULT_ID_T; /**@}*/ #endif