Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rb1a931b5151819b00f9bc7bb7d352805c3e55015 -ra1768e13ef00f40c196a9d71094847c19e0ea8a6 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision b1a931b5151819b00f9bc7bb7d352805c3e55015) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision a1768e13ef00f40c196a9d71094847c19e0ea8a6) @@ -7,8 +7,8 @@ * * @file Prime.c * -* @author (last) Sean Nash -* @date (last) 10-Jul-2023 +* @author (last) Dara Navaei +* @date (last) 12-Jul-2023 * * @author (original) Quang Nguyen * @date (original) 08-Dec-2020 @@ -436,15 +436,20 @@ *************************************************************************/ static void broadcastPrimingStatus( void ) { - U32 const elapsedPrimeTimeInSecs = calcTimeSince( primeStartTime ) / MS_PER_SECOND; + U32 elapsedPrimeTimeInSecs = calcTimeSince( primeStartTime ) / MS_PER_SECOND; + // If the elapsed time is greater than the maximum prime time, it is capped to max prime time so the remaining time + // is a large number + elapsedPrimeTimeInSecs = CAP( elapsedPrimeTimeInSecs, MAX_PRIME_TIME ); + // timeout alarm that used to trigger when max prime time elapsed was removed. if ( ++primeStatusBroadcastTimerCounter >= PRIME_DATA_PUB_INTERVAL ) { PRIMING_DATA_PAYLOAD_T primeData; - primeData.totalTime = MAX_PRIME_TIME; - primeData.remainingTime = MAX_PRIME_TIME - elapsedPrimeTimeInSecs; + primeData.totalTime = MAX_PRIME_TIME; + primeData.remainingTime = MAX_PRIME_TIME - elapsedPrimeTimeInSecs; + broadcastData( MSG_ID_HD_PRIMING_STATUS_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&primeData, sizeof( PRIMING_DATA_PAYLOAD_T ) ); primeStatusBroadcastTimerCounter = 0; } @@ -1024,8 +1029,6 @@ else if ( TRUE == doesAlarmStatusIndicateStop() ) { setupForPrimePause(); - state = HD_PRIME_PAUSE; - setCurrent4thLevelState( NO_SUB_STATE ); } return state;