Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -rff6b765b44991e46891475022fa819cf3af05156 -r99e330b5b872f68fdf2d842bd0597e54044d9ba9 --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision ff6b765b44991e46891475022fa819cf3af05156) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 99e330b5b872f68fdf2d842bd0597e54044d9ba9) @@ -8,7 +8,7 @@ * @file DryBiCart.c * * @author (last) Sameer Kalliadan Poyil -* @date (last) 30-Apr-2026 +* @date (last) 16-Jun-2026 * * @author (original) Vinayakam Mani * @date (original) 19-Nov-2025 @@ -56,7 +56,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 MAX_DRY_BICART_FILL_COMPLETE_PRESSURE 22.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_MINIMUM_FILL_CYCLE_CNT 3 ///< Minimum fill cycle count for filling dry bicart @@ -738,19 +738,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 ) ) { @@ -765,6 +753,10 @@ state = DRY_BICART_DEGAS_START_STATE; } } + else + { + dryBiCartPersistenceStartTime = 0; + } //TODO:Handle timeout alarm for opening D65 valve too long return state; @@ -839,6 +831,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) @@ -1005,15 +1001,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 ) ) { @@ -1024,6 +1012,10 @@ state = BICARB_CHAMBER_SUPPLY_STATE; } } + else + { + dryBiCartPersistenceStartTime = 0; + } return state; } @@ -1130,6 +1122,11 @@ dryBiCartPersistenceStartTime = 0; } } + else + { + dryBiCartPersistenceStartTime = 0; + drybicartPersistenceOnLowercartPressureStartTime = 0; + } return state; } @@ -1241,9 +1238,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 );