Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rb6b733b8d1f25bc2dbe2a94c620cd80aa3ae06f7 -rc0445144841904d5a6ea9d37af639e138e6a86b0 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision b6b733b8d1f25bc2dbe2a94c620cd80aa3ae06f7) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision c0445144841904d5a6ea9d37af639e138e6a86b0) @@ -268,6 +268,29 @@ /*********************************************************************//** * @brief + * The signalStartPrime function signals the prime sub-mode the user requested + * to start priming operation. + * @details Inputs: none + * @details Outputs: primeStartRequested + * @return none + *************************************************************************/ +void signalStartPrime( void ) +{ + BOOL accepted = FALSE; + REQUEST_REJECT_REASON_CODE_T rejReason = REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE; + + if ( HD_PRIME_WAIT_FOR_USER_START_STATE == currentPrimeState ) + { + primeStartRequested = TRUE; + accepted = TRUE; + rejReason = REQUEST_REJECT_REASON_NONE; + } + + sendStartPrimeCmdResponse( accepted, rejReason ); +} + +/*********************************************************************//** + * @brief * The signalResumePrime function signals the prime sub-mode to resume * previous operation. * @details Inputs: none @@ -301,8 +324,7 @@ *************************************************************************/ static void resetPrimeFlags( void ) { - // TODO: set to false after integration with UI - primeStartRequested = TRUE; + primeStartRequested = FALSE; primeResumeRequested = FALSE; primeStopRequested = FALSE; } @@ -349,7 +371,6 @@ if ( ++primeStatusBroadcastTimerCounter >= PRIME_DATA_PUB_INTERVAL ) { PRIMING_DATA_PAYLOAD_T primeData; - primeData.currentPrimeState = currentPrimeState; primeData.totalTime = MAX_PRIME_TIME; primeData.remainingTime = MAX_PRIME_TIME - elapsedPrimeTimeInSecs;