Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r1a685471524555a374854c0c9ec8e208e71fe2df -r933a18d740285e70be9d00696ed0f5a5381bc8e4 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 1a685471524555a374854c0c9ec8e208e71fe2df) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 933a18d740285e70be9d00696ed0f5a5381bc8e4) @@ -45,7 +45,7 @@ NUM_OF_ALARM_DATA_TYPES ///< Total number of alarm data types. } ALARM_DATA_TYPES_T; -#pragma pack(push,4) +#pragma pack(push, 4) /// Record structure for detailing the properties of the current composite alarm status. typedef struct { @@ -106,6 +106,18 @@ ALARM_DATA_TYPES_T dataType; ///< The type of alarm data provided. ALARM_DATAS_T data; ///< The alarm data of specified type. } ALARM_DATA_T; +#pragma pack(pop) + +#pragma pack(push, 2) +/// Payload record structure for an alarm status message. +typedef struct +{ + U32 alarmState; ///< Alarm state: 0 = no alarms, 1 = low priority, 2 = medium priority, 3 = high priority + U32 alarmTop; ///< ID of top active alarm + U32 escalatesIn; ///< Top active alarm escalates in this many seconds + U32 silenceExpiresIn; ///< Silencing of alarms expires in this many seconds + U16 alarmsFlags; ///< bit flags: 1 = true, 0 = false for each bit flag +} ALARM_COMP_STATUS_PAYLOAD_T; #pragma pack(pop) /// Listing of specific software faults for logging purposes. @@ -153,19 +165,19 @@ SW_FAULT_ID_DIAL_OUT_FLOW_INVALID_DIAL_OUT_PUMP_DIRECTION, SW_FAULT_ID_DIAL_OUT_FLOW_INVALID_DIAL_OUT_PUMP_STATE, // 40 SW_FAULT_ID_DIAL_OUT_FLOW_SET_TOO_HIGH, - SW_FAULT_ID_BLOOD_FLOW_INVALID_FILTER_STATE, - SW_FAULT_ID_DIAL_IN_FLOW_INVALID_FILTER_STATE, + SW_FAULT_ID____AVAILABLE_1, + SW_FAULT_ID____AVAILABLE_2, SW_FAULT_ID_RTC_EXEC_INVALID_STATE, SW_FAULT_ID_RTC_SELF_TEST_INVALID_STATE, // 45 SW_FAULT_ID_RTC_TRANSACTION_SERVICE_INVALID_STATE, SW_FAULT_ID_PRES_OCCL_INVALID_STATE, - SW_FAULT_ID_PRES_OCCL_INVALID_PRES_SENSOR, - SW_FAULT_ID_PRES_OCCL_INVALID_OCCL_SENSOR, + SW_FAULT_ID____AVAILABLE_3, + SW_FAULT_ID____AVAILABLE_4, SW_FAULT_ID_MSG_PENDING_ACK_LIST_FULL, // 50 SW_FAULT_ID_PI_CTRL_INVALID_CONTROLLER, SW_FAULT_ID_PI_CTRL_INVALID_SIGNAL, - SW_FAULT_ID_DIAL_OUT_INVALID_MEASURED_SIGNAL_STATE, - SW_FAULT_ID_DIAL_OUT_SET_RX_OUT_OF_RANGE, + SW_FAULT_ID____AVAILABLE_5, + SW_FAULT_ID____AVAILABLE_6, SW_FAULT_ID_DIALYSIS_INVALID_STATE, // 55 SW_FAULT_ID_DIALYSIS_INVALID_UF_STATE, SW_FAULT_ID_NVDATAMGMT_INVALID_SELF_TEST_STATE, @@ -224,7 +236,8 @@ BOOL testSetAlarmStateOverride( U32 alarmID, BOOL value ); BOOL testResetAlarmStateOverride( U32 alarmID ); BOOL testSetAlarmStartOverride( U32 alarmID, U32 value ); -BOOL testResetAlarmStartOverride( U32 alarmID ); +BOOL testResetAlarmStartOverride( U32 alarmID ); +BOOL testClearAllAlarms( U32 key ); /**@}*/