Index: firmware/App/Drivers/SafetyShutdown.c =================================================================== diff -u -r8e50cc04fb92d9b4ee9045e445ca8451abe951ab -r6ddc5298786a4b5055f75330c49b62c6ae7adeb0 --- firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision 8e50cc04fb92d9b4ee9045e445ca8451abe951ab) +++ firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision 6ddc5298786a4b5055f75330c49b62c6ae7adeb0) @@ -46,6 +46,11 @@ #define MIN_BACKUP_ALARM_CURRENT_MA 200.0 ///< Minimum backup alarm audio current (in mA) detected when safety shutdown asserted. #define MAX_BACKUP_ALARM_CURRENT_MA 10.0 ///< Maximum backup alarm audio current (in mA) detected when safety shutdown is recovered. +#define SAFETY_POST_24V_NOT_CUT 1 ///< Safety shutdown POST failed because 24V was not cut when safety line pulled. +#define SAFETY_POST_NO_BUZZER 2 ///< Safety shutdown POST failed because buzzer was not detected when safety line pulled. +#define SAFETY_POST_NO_24V_RESTORE 3 ///< Safety shutdown POST failed because 24V was not restored when safety line reset. +#define SAFETY_POST_NO_BUZZER_OFF 4 ///< Safety shutdown POST failed because buzzer was not turned off when safety line reset. + /// Enumeration of safety shutdown self-test states. typedef enum Safety_Shutdown_Self_Test_States { @@ -138,13 +143,13 @@ // Verify 24V is down when w.d. expired if ( v24 > MAX_24V_LEVEL_ON_SAFETY_SHUTDOWN ) { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, 1.0, v24 ); + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_24V_NOT_CUT, v24 ); safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; } // Verify backup alarm audio is on when w.d. expired else if ( audioCurrent < MIN_BACKUP_ALARM_CURRENT_MA ) { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, 2.0, audioCurrent ); + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_NO_BUZZER, audioCurrent ); safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; } safetyShutdownSelfTestTimerCount = getMSTimerCount(); @@ -163,13 +168,13 @@ // Verify 24V is down when w.d. recovered if ( v24 < MIN_24V_LEVEL_ON_SAFETY_RECOVER ) { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, 3.0, v24 ); + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_NO_24V_RESTORE, v24 ); safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; } // Verify backup alarm audio is on when w.d. recovered else if ( audioCurrent > MAX_BACKUP_ALARM_CURRENT_MA ) { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, 4.0, audioCurrent ); + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_NO_BUZZER_OFF, audioCurrent ); safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; } else