Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -r07d08d88c15fdce1e46ec341034c909807694f0a -rbdee7caad13de484d50de4089497725c44a43c74 --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 07d08d88c15fdce1e46ec341034c909807694f0a) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision bdee7caad13de484d50de4089497725c44a43c74) @@ -304,7 +304,6 @@ if ( TRUE == getU32OverrideValue( &bicarbChamberFillRequested ) ) { bicarbChamberFillExecState = BICARB_CARTRIDGE_FILL_WATER_START_STATE; - bicarbChamberFillRequested.data = FALSE; } break; @@ -399,11 +398,19 @@ * flag value to be True. * @details \b Inputs: none * @details \b Outputs: bicarbChamberFillRequested - * @return none. + * @return TRUE if successful, FALSE if not. *************************************************************************/ -void setBicarbChamberFillRequested( void ) +BOOL setBicarbChamberFillRequested( void ) { - bicarbChamberFillRequested.data = TRUE; + BOOL result = FALSE; + + if ( FALSE == dryBiCartFillRequested.data && FALSE == dryBiCartDrainRequested.data ) + { + bicarbChamberFillRequested.data = TRUE; + result = TRUE; + } + + return result; } /*********************************************************************//** @@ -412,11 +419,19 @@ * flag value to be True. * @details \b Inputs: none * @details \b Outputs: dryBiCartFillRequested - * @return none. + * @return TRUE if successful, FALSE if not. *************************************************************************/ -void setBicartFillRequested( void ) +BOOL setBicartFillRequested( void ) { - dryBiCartFillRequested.data = TRUE; + BOOL result = FALSE; + + if( FALSE == bicarbChamberFillRequested.data && FALSE == dryBiCartDrainRequested.data ) + { + dryBiCartFillRequested.data = TRUE; + result = TRUE; + } + + return result; } /*********************************************************************//** @@ -425,11 +440,19 @@ * flag value to be True. * @details \b Inputs: none * @details \b Outputs: dryBiCartDrainRequested - * @return none. + * @return TRUE if successful, FALSE if not. *************************************************************************/ -void setBicartDrainRequested( void ) +BOOL setBicartDrainRequested( void ) { - dryBiCartDrainRequested.data = TRUE; + BOOL result = FALSE; + + if( FALSE == bicarbChamberFillRequested.data && FALSE == dryBiCartFillRequested.data ) + { + dryBiCartDrainRequested.data = TRUE; + result = TRUE; + } + + return result; } /*********************************************************************//** @@ -831,6 +854,8 @@ setValveState( D85_VALV, VALVE_STATE_CLOSED ); setValveState( D64_VALV, VALVE_STATE_CLOSED); + bicarbChamberFillRequested.data = FALSE; + state = BICARB_CHAMBER_START_STATE; }