Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -r7d303b8558436dc19ca5bc77f1f2f4f61e12d62d -r7d7129ebe8a98694bea7cf4118f3bedf62f2157b --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 7d303b8558436dc19ca5bc77f1f2f4f61e12d62d) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 7d7129ebe8a98694bea7cf4118f3bedf62f2157b) @@ -66,7 +66,11 @@ #define DRY_BICART_FILL_VENT_COMPLETE_PRESSURE 1.5F ///< Pressure reached to indicate the dry bicart venting being completed. // Bicarb chamber fill/Supply -#define DRY_BICART_SUPPLY_VALVE_D80_OPEN_TIME_MS ( 3 * MS_PER_SECOND ) ///< Max time allowed for supply (opening D80 valve) during bicarb chamber (F) fill. +#ifdef CONDUCTIVE_LEVEL_SENSOR_ENABLED +#define DRY_BICART_SUPPLY_VALVE_D80_TIMEOUT_MS ( 10 * MS_PER_SECOND ) ///< Max time allowed for supply (opening D80 valve) during bicarb chamber (F) fill. +#else +#define DRY_BICART_SUPPLY_VALVE_D80_TIMEOUT_MS ( 3 * MS_PER_SECOND ) ///< Max time allowed for supply (opening D80 valve) during bicarb chamber (F) fill. +#endif #define DRY_BICART_SUPPLY_VENT_TIME_MS ( 1 * MS_PER_SECOND ) ///< Wait time to vent dry bicart gas before actuating Bicarb chamber(F) venting. #define DRY_BICART_SUPPLY_VENT_MAX_TIME_MS ( 1.1 * MS_PER_SECOND ) ///< Max time to vent both dry bicart and Chamber F. @@ -461,11 +465,11 @@ void execDryBicart( void ) { //( TRUE == getBicarbChamberFillRequested() ) - //supply dryBicartStartRequest = DRY_BICART_SUPPLY ; + // supply dryBicartStartRequest = DRY_BICART_SUPPLY ; //( TRUE == getBicartFillRequested() ) - //fill dryBicartStartRequest = DRY_BICART_INITIAL_FILL; + // fill dryBicartStartRequest = DRY_BICART_INITIAL_FILL; //( TRUE == getBicartDrainRequested() ) - //drain dryBicartStartRequest = DRY_BICART_DRAIN; + // drain dryBicartStartRequest = DRY_BICART_DRAIN; //else idle dryBicartStartRequest = DRY_BICART_IDLE; updateDrybicartOperation(); @@ -1201,6 +1205,7 @@ state = DRY_BICART_FILL_WATER_START_STATE; } + // alrm } return state; @@ -1512,22 +1517,18 @@ static BICARB_CHAMBER_FILL_EXEC_STATE_T handleBicarbChamberCheckLevelState( void ) { BICARB_CHAMBER_FILL_EXEC_STATE_T state = BICARB_CHAMBER_CHECK_LEVEL_STATE; - LEVEL_STATE_T bicarbChamberLevel = getBicarbChamberLevelStatus(); + LVL_STATE_T bicarbChamberLevel = getBicarbChamberLevelStatus(); // TODO: Confirm D80 open on chamber low or end of balancing chamber switching? - // TODO: Enable the below code once level sensor is working - //if ( LEVEL_STATE_LOW == bicarbChamberLevel ) + // if ( getBalancingChamberFillinProgressStatus() == FALSE ) { - // if ( getBalancingChamberFillinProgressStatus() == FALSE ) - { - // Open the Bicarb chamber inlet valve - setValveState( D80_VALV, VALVE_STATE_OPEN ); + // Open the Bicarb chamber inlet valve + setValveState( D80_VALV, VALVE_STATE_OPEN ); - // Start a timer when bicarb supply started to chamber F - dryBiCarbSupplyStartTime = getMSTimerCount(); + // Start a timer when bicarb supply started to chamber F + dryBiCarbSupplyStartTime = getMSTimerCount(); - state = BICARB_CHAMBER_FILL_STATE; - } + state = BICARB_CHAMBER_FILL_STATE; } // TODO: alarm @@ -1546,10 +1547,10 @@ { BICARB_CHAMBER_FILL_EXEC_STATE_T state = BICARB_CHAMBER_FILL_STATE; F32 d66Pressure = getFilteredPressure( D66_PRES ); - LEVEL_STATE_T bicarbChamberLevel = getBicarbChamberLevelStatus(); + LVL_STATE_T bicarbChamberLevel = getBicarbChamberLevelStatus(); // Once level reached, close the valve - if ( LEVEL_STATE_HIGH == bicarbChamberLevel ) + if ( LVL_STATE_HIGH == bicarbChamberLevel ) { setValveState( D80_VALV, VALVE_STATE_CLOSED ); state = BICARB_CHAMBER_PRESSURE_CHECK_STATE; @@ -1580,11 +1581,11 @@ { BICARB_CHAMBER_FILL_EXEC_STATE_T state = BICARB_CHAMBER_PRESSURE_CHECK_STATE; F32 d66Pressure = getFilteredPressure( D66_PRES ); - LEVEL_STATE_T bicarbChamberLevel = getBicarbChamberLevelStatus(); + LVL_STATE_T bicarbChamberLevel = getBicarbChamberLevelStatus(); // Once level reached, close the valve - if ( ( LEVEL_STATE_HIGH == bicarbChamberLevel ) || - ( TRUE == didTimeout( dryBiCarbSupplyStartTime, DRY_BICART_SUPPLY_VALVE_D80_OPEN_TIME_MS ) ) ) + if ( ( LVL_STATE_HIGH == bicarbChamberLevel ) || + ( TRUE == didTimeout( dryBiCarbSupplyStartTime, DRY_BICART_SUPPLY_VALVE_D80_TIMEOUT_MS ) ) ) { setValveState( D65_VALV, VALVE_STATE_CLOSED ); setValveState( D80_VALV, VALVE_STATE_CLOSED ); @@ -1632,7 +1633,6 @@ //if ( TRUE == didTimeout( dryBiCarbSupplyStartTime, 10 ) ) #if 0 while ( tmpD66Pressure >= getDryBicartLowerCartPressure() && tmpD66Pressure >= setpoint ) { - //setpoint = d66Pressure - 1.0; // Venting loop: stay open until target PSI is reached setValveState( D64_VALV, VALVE_STATE_CLOSED ); @@ -1641,7 +1641,7 @@ while ( TRUE != didTimeout( startTime, 12 ) ) { } - // close the vallve + // close the valve setValveState( D85_VALV, VALVE_STATE_CLOSED ); setValveState( D64_VALV, VALVE_STATE_OPEN ); startTime = getMSTimerCount(); @@ -1696,7 +1696,7 @@ if ( TRUE == didTimeout( dryBiCarbSypplyVentStartTime, DRY_BICART_SUPPLY_VENT_TIME_MS ) ) { setValveState( D85_VALV, VALVE_STATE_CLOSED ); - //setValveState( D64_VALV, VALVE_STATE_CLOSED); + setValveState( D64_VALV, VALVE_STATE_OPEN); bicarbChamberFillRequested.data = FALSE; // for this request override also cleared