Index: firmware/App/Modes/Prime.c =================================================================== diff -u -ref698cbac7380448487c7b13c5484de0c89d1d5e -re0e5aff5a2d873dac91dfb1c1086572f7f1647da --- firmware/App/Modes/Prime.c (.../Prime.c) (revision ef698cbac7380448487c7b13c5484de0c89d1d5e) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision e0e5aff5a2d873dac91dfb1c1086572f7f1647da) @@ -76,6 +76,7 @@ static HD_PRE_TREATMENT_PRIME_STATE_T previousPrimeState; ///< Previous state of the prime sub-mode, to use when resuming from pause. static PRIME_RESERVOIR_MGMT_STATE_T currentReservoirMgmtState; ///< Current reservoir management state. +static BOOL primeCompleteResult; ///< Prime complete status. static U32 primeStartTime; ///< Starting time of priming (in ms). static U32 primePauseStartTime; ///< Priming pause start time (in ms). static U32 primeStatusBroadcastTimerCounter; ///< Prime status data broadcast timer counter used to schedule when to transmit data. @@ -135,6 +136,7 @@ currentPrimeState = HD_PRIME_START_STATE; currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_START_STATE; + primeCompleteResult = FALSE; primeStartTime = getMSTimerCount(); primePauseStartTime = 0; primeStatusBroadcastTimerCounter = 0; @@ -165,7 +167,11 @@ { case HD_PRIME_START_STATE: cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); +#ifdef SKIP_PRIMING + currentPrimeState = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; +#else currentPrimeState = HD_PRIME_SALINE_SETUP_STATE; +#endif break; case HD_PRIME_SALINE_SETUP_STATE: @@ -201,6 +207,7 @@ break; case HD_PRIME_COMPLETE: + primeCompleteResult = TRUE; break; case HD_PRIME_PAUSE: @@ -225,6 +232,19 @@ /*********************************************************************//** * @brief + * The isPrimeCompleted function returns the status of prime. + * @details Inputs: none + * @details Outputs: none + * @return TRUE if prime has completed succesfully, otherwise FALSE + *************************************************************************/ +BOOL isPrimeCompleted( void ) +{ + return primeCompleteResult; +} + + +/*********************************************************************//** + * @brief * The signalAlarmActionToPrimeMode function executes the given alarm action * as appropriate while in Prime Mode. * @details Inputs: none @@ -556,7 +576,12 @@ previousLoadCellReading = 0; loadcellSteadyVolumeStartTime = getMSTimerCount(); primeDialysateDialyzerStartTime = getMSTimerCount(); + +#ifdef SKIP_PRIMING + state = HD_PRIME_WET_SELF_TESTS_STATE; +#else state = HD_PRIME_DIALYSATE_DIALYZER_STATE; +#endif } return state;