Index: firmware/App/Drivers/SafetyShutdown.c =================================================================== diff -u -r19a8bf98a7154e24c35da25225d4b55bf70ddd09 -rb9300084966f27ebd166962121c5217f5cd30eb0 --- firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision 19a8bf98a7154e24c35da25225d4b55bf70ddd09) +++ firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision b9300084966f27ebd166962121c5217f5cd30eb0) @@ -46,6 +46,7 @@ #define MIN_BACKUP_ALARM_CURRENT_MA 200.0F ///< Minimum backup alarm audio current (in mA) detected when safety shutdown asserted. #define MAX_BACKUP_ALARM_CURRENT_MA 10.0F ///< Maximum backup alarm audio current (in mA) detected when safety shutdown is recovered. +#define SAFETY_POST_24V_INITIAL 0 ///< Safety shutdown POST failed because 24V was out before safety line pulled. #define SAFETY_POST_24V_NOT_CUT 1 ///< Safety shutdown POST failed because 24V was not cut when safety line pulled. #define SAFETY_POST_NO_24V_RESTORE 2 ///< Safety shutdown POST failed because 24V was not restored when safety line reset. @@ -128,6 +129,14 @@ { case SAFETY_SHUTDOWN_SELF_TEST_STATE_START: safetyShutdownSelfTestState = SAFETY_SHUTDOWN_SELF_TEST_STATE_IN_PROGRESS; +#ifndef DISABLE_WD_AND_SFTY_POST_TESTS + // Verify 24V is up + if ( v24 < MIN_24V_LEVEL_ON_SAFETY_RECOVER ) + { + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_24V_INITIAL, v24 ); + safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; + } +#endif safetyShutdownSelfTestTimerCount = getMSTimerCount(); activateSafetyShutdown(); break;