Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -rf43eb1e9e0803776ec7420b16e1db8760b020bd9 -r5a61bccd959265c00e5276ba23391198ca82b6dd --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision f43eb1e9e0803776ec7420b16e1db8760b020bd9) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 5a61bccd959265c00e5276ba23391198ca82b6dd) @@ -61,31 +61,39 @@ drainVolumeTargetMl.data = DEFAULT_DRAIN_VOLUME_ML; } +BOOL setActiveReservoir( RESERVOIR_ID_T resID ) +{ + // switch reservoir command only valid in re-circulate mode + if ( MODE_CIRC == getCurrentOperationMode() ) + { + // validate parameters + if ( resID < NUM_OF_RESERVOIRS ) + { + activeReservoir.data = (U32)resID; + } + } +} + /*********************************************************************//** * @brief * The startFill function handles a fill command from the HD. * @details * Inputs : none * Outputs : move to fill mode - * @param resID : Reservoir to drain. * @param fillToVolMl : Target volume (in mL) to fill reservoir to. - * @param targetPrimeTemp : Target temperature of dialysate to fill reservoir with. - * @param targetTrimTemp : Target temperature of dialysate coming out of reservoir. * @return TRUE if fill command successful, FALSE if not. *************************************************************************/ -BOOL startFill( RESERVOIR_ID_T resID, U32 fillToVolMl, F32 targetPrimeTemp, F32 targetTrimTemp ) +BOOL startFill( U32 fillToVolMl ) { BOOL result = FALSE; - // fill command only valid in standby mode - if ( MODE_STAN == getCurrentOperationMode() ) + // fill command only valid in re-circulate mode + if ( MODE_CIRC == getCurrentOperationMode() ) { // validate parameters - if ( ( resID < NUM_OF_RESERVOIRS ) && ( fillToVolMl < MAX_FILL_VOLUME_ML ) ) + if ( fillToVolMl < MAX_FILL_VOLUME_ML ) { - activeReservoir.data = (U32)resID; fillVolumeTargetMl.data = fillToVolMl; - // TODO - relay temperature targets to the heater controller module requestNewOperationMode( MODE_FILL ); } } @@ -108,7 +116,7 @@ // stop fill command only valid in fill mode if ( MODE_FILL == getCurrentOperationMode() ) { - requestNewOperationMode( MODE_STAN ); + requestNewOperationMode( MODE_CIRC ); } return result; @@ -120,22 +128,19 @@ * @details * Inputs : none * Outputs : - * @param resID : Reservoir to drain. * @param drainToVolMl : Target volume (in mL) to drain reservoir to. * @return TRUE if drain command successful, FALSE if not. *************************************************************************/ -BOOL startDrain( RESERVOIR_ID_T resID, U32 drainToVolMl ) +BOOL startDrain( U32 drainToVolMl ) { BOOL result = FALSE; - // drain command only valid in standby mode - if ( MODE_STAN == getCurrentOperationMode() ) + // drain command only valid in re-circulate mode + if ( MODE_CIRC == getCurrentOperationMode() ) { // validate parameters - if ( ( resID < NUM_OF_RESERVOIRS ) && - ( drainToVolMl > MIN_DRAIN_VOLUME_ML ) && ( drainToVolMl < MAX_DRAIN_VOLUME_ML ) ) + if ( ( drainToVolMl > MIN_DRAIN_VOLUME_ML ) && ( drainToVolMl < MAX_DRAIN_VOLUME_ML ) ) { - activeReservoir.data = (U32)resID; drainVolumeTargetMl.data = drainToVolMl; requestNewOperationMode( MODE_DRAI ); } @@ -159,7 +164,7 @@ // stop drain command only valid in drain mode if ( MODE_DRAI == getCurrentOperationMode() ) { - requestNewOperationMode( MODE_STAN ); + requestNewOperationMode( MODE_CIRC ); } return result;