Index: firmware/App/Services/WatchdogMgmt.c =================================================================== diff -u -rb766ff89da93aeb7f423a61487933477ff3ec82d -r31f5b77ccd433ae24243a30699496cdb9c630f0f --- firmware/App/Services/WatchdogMgmt.c (.../WatchdogMgmt.c) (revision b766ff89da93aeb7f423a61487933477ff3ec82d) +++ firmware/App/Services/WatchdogMgmt.c (.../WatchdogMgmt.c) (revision 31f5b77ccd433ae24243a30699496cdb9c630f0f) @@ -31,7 +31,7 @@ #define MIN_WATCHDOG_PET_INTERVAL_MS 45 ///< Minimum watchdog pet interval. -#define WATCHDOG_POST_TIMEOUT_MS 500 ///< Watchdog POST timeout in ms. +#define WATCHDOG_POST_TIMEOUT_MS ( 0.5 * MS_PER_SECOND ) ///< Watchdog POST timeout in ms. #define WATCHDOG_RECOVERY_TIME_MS 750 ///< Watchdog recovery time in ms. #define MAX_24V_LEVEL_ON_WATCHDOG_EXPIRED 5.0F ///< Maximum voltage on 24V line when watchdog is expired. // TODO - check w/ Systems. Takes time for V to bleed off. Had to raise to 5V. @@ -173,10 +173,10 @@ if ( PIN_SIGNAL_LOW == getCPLDWatchdogExpired() ) { F32 v24 = getIntADCVoltageConverted( INT_ADC_SECONDARY_HEATER_24_VOLTS ); - F32 isolatedV24 = getMonitoredLineLevel( MONITORED_LINE_24V_POWER_PRIM_HTR_V ); + F32 isolatedV24 = getRawIsolatedPowerSupplyVoltage(); // Verify 24V is down when w.d. expired - if ( v24 > MAX_24V_LEVEL_ON_WATCHDOG_EXPIRED ) + if ( ( v24 > MAX_24V_LEVEL_ON_WATCHDOG_EXPIRED ) || ( isolatedV24 > MAX_ISOLATED_24V_LEVEL_ON_WD_EXPIRED ) ) { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_WATCHDOG_POST_TEST_FAILED, 2.0F, v24 ); watchdogSelfTestStatus = SELF_TEST_STATUS_FAILED; @@ -192,16 +192,16 @@ break; case WATCHDOG_SELF_TEST_STATE_RECOVER: - if ( TRUE == didTimeout( watchdogSelfTestTimerCount, WATCHDOG_RECOVERY_TIME_MS ) ) - { + if ( TRUE == didTimeout( watchdogSelfTestTimerCount, WATCHDOG_RECOVERY_TIME_MS ) ) + { if ( PIN_SIGNAL_HIGH == getCPLDWatchdogExpired() ) { F32 v24 = getIntADCVoltageConverted( INT_ADC_SECONDARY_HEATER_24_VOLTS ); - F32 isolatedV24 = getMonitoredLineLevel( MONITORED_LINE_24V_POWER_PRIM_HTR_V ); + F32 isolatedV24 = getRawIsolatedPowerSupplyVoltage(); // Verify 24V is down when w.d. recovered TODO - If issue persisted // ask EE team why 24V does not quite recover all the way to 22.6V even after 750 ms. How long should it take? - if ( v24 < MIN_24V_LEVEL_ON_WATCHDOG_RECOVER ) + if ( ( v24 < MIN_24V_LEVEL_ON_WATCHDOG_RECOVER ) || ( isolatedV24 < MIN_24V_LEVEL_ON_WATCHDOG_RECOVER ) ) { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_WATCHDOG_POST_TEST_FAILED, 3.0F, v24 ); watchdogSelfTestStatus = SELF_TEST_STATUS_FAILED;