Index: RTC.c =================================================================== diff -u -r5ae8aa4f20756e41805c0259c4e5b7f56f523240 -re3eeaed468ddf4eb9e0aef5904cee301870e676e --- RTC.c (.../RTC.c) (revision 5ae8aa4f20756e41805c0259c4e5b7f56f523240) +++ RTC.c (.../RTC.c) (revision e3eeaed468ddf4eb9e0aef5904cee301870e676e) @@ -712,7 +712,6 @@ static BOOL isRTCFunctional( void ) { ALARM_ID_T alarm; - BOOL hasTestPassed = TRUE; #ifdef _DG_ @@ -1398,26 +1397,30 @@ if ( ( TRUE == isStatusOk ) && ( rxBuffer[ RTC_SECONDS_INDEX ] != RTCPreviousSecond ) ) { - S32 const elapsedTime = (S32)calcTimeSince( RTCSelfTestTimer ); - S32 const deltaTime = elapsedTime - (S32)MS_PER_SECOND; - S32 const elapsedFPGATime = (S32)u16DiffWithWrap( previousFPGATimerCount, getFPGATimerCount() ); - result = RTC_SELF_TEST_STATE_COMPLETE; - RTCSelfTestResult = SELF_TEST_STATUS_PASSED; + ALARM_ID_T alarm; + S32 elapsedTime = (S32)calcTimeSince( RTCSelfTestTimer ); + S32 deltaTime = elapsedTime - (S32)MS_PER_SECOND; + S32 elapsedFPGATime = (S32)u16DiffWithWrap( previousFPGATimerCount, getFPGATimerCount() ); + result = RTC_SELF_TEST_STATE_COMPLETE; + RTCSelfTestResult = SELF_TEST_STATUS_PASSED; +#ifdef _DG_ + alarm = ALARM_ID_DG_RTC_OR_TIMER_ACCURACY_FAILURE; +#endif +#ifdef _HD_ + alarm = ALARM_ID_HD_RTC_OR_TIMER_ACCURACY_FAILURE; +#endif + if ( abs( deltaTime ) > RTC_ACCURACY_TOLERANCE ) { RTCSelfTestResult = SELF_TEST_STATUS_FAILED; -#ifdef _DG_ - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_RTC_OR_TIMER_ACCURACY_FAILURE, (U32)deltaTime, RTC_ACCURACY_TOLERANCE ); -#endif + SET_ALARM_WITH_2_U32_DATA( alarm, (U32)deltaTime, RTC_ACCURACY_TOLERANCE ); } if ( abs( elapsedFPGATime - elapsedTime ) > FPGA_ACCURACY_TOLERANCE ) { RTCSelfTestResult = SELF_TEST_STATUS_FAILED; -#ifdef _DG_ - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_RTC_OR_TIMER_ACCURACY_FAILURE, (U32)elapsedFPGATime, (U32)elapsedTime ); -#endif + SET_ALARM_WITH_2_U32_DATA( alarm, (U32)elapsedFPGATime, (U32)elapsedTime ); } }