Index: firmware/App/Drivers/SafetyShutdown.c =================================================================== diff -u -re5e7a37f5f1e2942630f748be23eac9f452af3aa -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 --- firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision e5e7a37f5f1e2942630f748be23eac9f452af3aa) +++ firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2023 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2024 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file SafetyShutdown.c * -* @author (last) Dara Navaei -* @date (last) 17-Jan-2023 +* @author (last) Vinayakam Mani +* @date (last) 03-Oct-2023 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -74,7 +74,7 @@ safetyShutdownSelfTestState = SAFETY_SHUTDOWN_SELF_TEST_STATE_START; safetyShutdownSelfTestStatus = SELF_TEST_STATUS_IN_PROGRESS; safetyShutdownSelfTestTimerCount = 0; - CLR_SAFETY_SHUTDOWN(); + CLR_SAFETY_SHUTDOWN(); } /*********************************************************************//** @@ -128,10 +128,10 @@ if ( TRUE == didTimeout( safetyShutdownSelfTestTimerCount, SAFETY_SHUTDOWN_POST_TIMEOUT_MS ) ) { 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_SAFETY_SHUTDOWN ) + if ( ( v24 > MAX_24V_LEVEL_ON_SAFETY_SHUTDOWN ) || ( isolatedV24 > MAX_ISOLATED_24V_LEVEL_ON_SS_EXPIRED ) ) { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_SAFETY_SHUTDOWN_POST_TEST_FAILED, 1.0, v24 ); safetyShutdownSelfTestStatus = SELF_TEST_STATUS_FAILED; @@ -147,10 +147,10 @@ if ( TRUE == didTimeout( safetyShutdownSelfTestTimerCount, SAFETY_SHUTDOWN_RECOVERY_TIME_MS ) ) { 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 - if ( v24 < MIN_24V_LEVEL_ON_SAFETY_RECOVER ) + if ( ( v24 < MIN_24V_LEVEL_ON_SAFETY_RECOVER ) || ( isolatedV24 < MAX_ISOLATED_24V_LEVEL_ON_SS_EXPIRED ) ) { // TODO - If issue persisted talk with systems why 24V does not recover fully. SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_SAFETY_SHUTDOWN_POST_TEST_FAILED, 2.0, v24 );