Index: firmware/App/Services/CpldInterface.c =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -r056bb7c3e42a6c56e10ff75f69aa1d7b9e5c8af8 --- firmware/App/Services/CpldInterface.c (.../CpldInterface.c) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Services/CpldInterface.c (.../CpldInterface.c) (revision 056bb7c3e42a6c56e10ff75f69aa1d7b9e5c8af8) @@ -19,7 +19,9 @@ #include "mibspi.h" #include "CpldInterface.h" +#include "FpgaTD.h" #include "GPIO.h" +#include "InternalADC.h" #include "Messaging.h" #include "Timers.h" @@ -294,16 +296,16 @@ { case SAFETY_SHUTDOWN_SELF_TEST_STATE_START: { -// F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); -// -// safetyShutdownSelfTestState = SAFETY_SHUTDOWN_SELF_TEST_STATE_IN_PROGRESS; -// -// // 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; -// } + F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS_1 ); //ToDo + + safetyShutdownSelfTestState = SAFETY_SHUTDOWN_SELF_TEST_STATE_IN_PROGRESS; + + // Verify 24V is up + if ( v24 < MIN_24V_LEVEL_ON_SAFETY_RECOVER ) + { + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_TD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_24V_INITIAL, v24 ) + safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; + } safetyShutdownSelfTestTimerCount = getMSTimerCount(); activateSafetyShutdown(); } @@ -312,15 +314,15 @@ case SAFETY_SHUTDOWN_SELF_TEST_STATE_IN_PROGRESS: if ( TRUE == didTimeout( safetyShutdownSelfTestTimerCount, SAFETY_SHUTDOWN_POST_TIMEOUT_MS ) ) { -// F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); -// F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); -// -// // 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, (F32)SAFETY_POST_24V_NOT_CUT, v24 ) -// safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; -// } + F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS_1 ); //ToDo + F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); + + // Verify 24V is down when w.d. expired + if ( v24 > MAX_24V_LEVEL_ON_SAFETY_SHUTDOWN ) + { + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_TD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_24V_NOT_CUT, v24 ) + safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; + } safetyShutdownSelfTestTimerCount = getMSTimerCount(); clrSafetyShutdownSignal(); safetyShutdownActivated = FALSE; @@ -331,19 +333,19 @@ case SAFETY_SHUTDOWN_SELF_TEST_STATE_RECOVER: if ( TRUE == didTimeout( safetyShutdownSelfTestTimerCount, SAFETY_SHUTDOWN_RECOVERY_TIME_MS ) ) { -// F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); -// F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); -// -// // 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, (F32)SAFETY_POST_NO_24V_RESTORE, v24 ) -// safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; -// } -// else -// { -// safetyShutdownSelfTestStatus = SELF_TEST_STATUS_PASSED; -// } + F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS_1 ); + F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); + + // Verify 24V is down when w.d. recovered + if ( v24 < MIN_24V_LEVEL_ON_SAFETY_RECOVER ) + { + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_TD_SAFETY_SHUTDOWN_POST_TEST_FAILED, (F32)SAFETY_POST_NO_24V_RESTORE, v24 ) + safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; + } + else + { + safetyShutdownSelfTestStatus = SELF_TEST_STATUS_PASSED; + } safetyShutdownSelfTestState = SAFETY_SHUTDOWN_SELF_TEST_STATE_COMPLETE; result = safetyShutdownSelfTestStatus; }