Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -r145fd716a856f864f39fb0f9884865f6e45b9256 -rb134ecc440d93f07fadeb0101f2898ed876d5341 --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 145fd716a856f864f39fb0f9884865f6e45b9256) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision b134ecc440d93f07fadeb0101f2898ed876d5341) @@ -57,9 +57,7 @@ #define DRY_BICART_FILL_INITIATE_PRESSURE_PSI 1.5F ///< Minimum pressure required to initiate the dry bicart fill process. #define DRY_BICART_FILL_COMPLETE_SUPPLY_PRESSURE_PSI 10.0F ///< Maximum pressure allowed at bicart fill during supply process/state #define DRY_BICART_FILL_INITIATE_SUPPLY_PRESSURE_PSI 3.0F ///< Minimum pressure required to initiate the dry bicart fill during supply process/state -#define MAX_DRY_BICART_FILL_COMPLETE_PRESSURE 20.0F ///< Very max dry bicart fill complete pressure for persistence on d66 -#define DRY_BICART_DEFAULT_MAX_FILL_CYCLE_CNT 10 ///< Default max fill cycle allowed for dry bicart fill/mix with water. -#define DRY_BICART_MAX_FILL_CYCLE_CNT 15 ///< Max fill cycle allowed (by override) for dry bicart fill/mix with water. +#define DRY_BICART_MAX_FILL_CYCLE_CNT 10 ///< Max fill cycle allowed (by override) for dry bicart fill/mix with water. #define DRY_BICART_MINIMUM_FILL_CYCLE_CNT 3 ///< Minimum fill cycle count for filling dry bicart // Dry Bicart Fill Vent #define DRY_BICART_FILL_VENT_TIME_MS ( 1 * MS_PER_SECOND ) ///< Wait time to vent dry bicart gas before actuating Bicarb chamber(F) venting. @@ -192,8 +190,8 @@ dryBiCartDataPublishInterval.ovInitData = 0; dryBiCartDataPublishInterval.override = OVERRIDE_RESET; - biCartMaxFillCycleCount.data = DRY_BICART_DEFAULT_MAX_FILL_CYCLE_CNT; - biCartMaxFillCycleCount.ovData = DRY_BICART_DEFAULT_MAX_FILL_CYCLE_CNT; + biCartMaxFillCycleCount.data = DRY_BICART_MAX_FILL_CYCLE_CNT; + biCartMaxFillCycleCount.ovData = DRY_BICART_MAX_FILL_CYCLE_CNT; biCartMaxFillCycleCount.ovInitData = 0; biCartMaxFillCycleCount.override = OVERRIDE_RESET; @@ -735,19 +733,7 @@ { dryBiCartPersistenceStartTime = getMSTimerCount(); } - //check the the maximum cart pressure during persistence on D66 - if ( d66Pressure >= MAX_DRY_BICART_FILL_COMPLETE_PRESSURE ) - { - setValveState( D65_VALV, VALVE_STATE_CLOSED ); - lastFillDurationInMS = currentFillDurationInMS; - currentFillDurationInMS = calcTimeSince( dryBiCartFillStartTime ); - //Increment number of fill cycle - biCartFillCycleCounter++; - dryBiCartPersistenceStartTime = 0; - - state = DRY_BICART_DEGAS_START_STATE; - } // 200 ms persistence on D66 pressure since pressure overshoot just after D65 opening if ( TRUE == didTimeout( dryBiCartPersistenceStartTime, DRY_BICART_PERSISTENCE_DURATION_MS ) ) { @@ -762,6 +748,10 @@ state = DRY_BICART_DEGAS_START_STATE; } } + else + { + dryBiCartPersistenceStartTime = 0; + } //TODO:Handle timeout alarm for opening D65 valve too long return state; @@ -836,6 +826,10 @@ state = DRY_BICART_FILL_DURATION_CHECK_STATE; } + else + { + dryBiCartPersistenceStartTime = 0; + } } //TODO: Alarm when vent timeout exceeded, but pressure not dropped below expected PSI (0 psi) @@ -1002,15 +996,7 @@ { dryBiCartPersistenceStartTime = getMSTimerCount(); } - // check the the maximum cart pressure during persistence on D66 - if ( d66Pressure >= MAX_DRY_BICART_FILL_COMPLETE_PRESSURE ) - { - // Close water inlet valve as D66 pressure reaches max PSI(20) after persistence - setValveState( D65_VALV, VALVE_STATE_CLOSED ); - dryBiCartPersistenceStartTime = 0; - state = BICARB_CHAMBER_SUPPLY_STATE; - } // 200 ms persistence on D66 pressure since pressure overshoot just after D65 opening if ( TRUE == didTimeout( dryBiCartPersistenceStartTime, DRY_BICART_PERSISTENCE_DURATION_MS ) ) { @@ -1021,6 +1007,10 @@ state = BICARB_CHAMBER_SUPPLY_STATE; } } + else + { + dryBiCartPersistenceStartTime = 0; + } return state; } @@ -1114,19 +1104,19 @@ { dryBiCartPersistenceStartTime = getMSTimerCount(); } - //check the the maximum cart pressure during persistence on D66 - if ( d66Pressure >= MAX_DRY_BICART_FILL_COMPLETE_PRESSURE ) - { - setValveState( D65_VALV, VALVE_STATE_CLOSED ); - dryBiCartPersistenceStartTime = 0; - } + // 200 ms persistence on D66 pressure since pressure overshoot just after D65 opening if ( TRUE == didTimeout( dryBiCartPersistenceStartTime, DRY_BICART_PERSISTENCE_DURATION_MS ) ) { setValveState( D65_VALV, VALVE_STATE_CLOSED ); dryBiCartPersistenceStartTime = 0; } } + else + { + dryBiCartPersistenceStartTime = 0; + drybicartPersistenceOnLowercartPressureStartTime = 0; + } return state; } @@ -1174,6 +1164,10 @@ state = BICARB_SUPPLY_VENT_END_STATE; } + else + { + dryBiCartPersistenceStartTime = 0; + } } return state; @@ -1238,9 +1232,6 @@ // open bypass valve setValveState( D34_VALV, VALVE_STATE_OPEN ); - // open DD drain - setValveState( D53_VALV, VALVE_STATE_OPEN ); - // open iofp drain valve setValveState( M12_VALV, VALVE_STATE_OPEN );