Index: firmware/App/Controllers/BalancingChamber.h =================================================================== diff -u -r173453569b2eb31b3f19572bf5386440667b0162 -rcb071d7746fea6b6b6698cc9ba0747f2b8501861 --- firmware/App/Controllers/BalancingChamber.h (.../BalancingChamber.h) (revision 173453569b2eb31b3f19572bf5386440667b0162) +++ firmware/App/Controllers/BalancingChamber.h (.../BalancingChamber.h) (revision cb071d7746fea6b6b6698cc9ba0747f2b8501861) @@ -8,7 +8,7 @@ * @file BalancingChamber.h * * @author (last) Jashwant Gantyada -* @date (last) 30-Jun-2026 +* @date (last) 29-Jul-2026 * * @author (original) Vinayakam Mani * @date (original) 28-Jan-2025 @@ -39,6 +39,13 @@ #define BC_SPENT_FILL_PRESSURE_PSIG 29.0F ///< Spent side pressure (drop) during balancing chamber switching, indicates fill has been started / in progress. #define BAL_CHAMBER_FILL_VOLUME_ML 30.0F ///< Balancing chamber fill/drain volume per batch operation. #define BAL_CHAMBER_TIME_BASED_D48_SPEED_RPM 250 ///< Minimum D48 speed and fixed speed for time-based balancing chamber switching. +#define BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_1 50.0F ///< Band 1 flowrate (50 mL/min) +#define BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_2 60.0F ///< Band 2 flowrate (60 mL/min) +#define BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_3 70.0F ///< Band 3 flowrate (70 mL/min) +#define BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_4 80.0F ///< Band 4 flowrate (80 mL/min) +#define BAL_CHAMBER_TIME_BASED_BAND_1 250 ///< Speed at D48 pump runs when the flowrate is between 50 mL/min and 60 mL/min. +#define BAL_CHAMBER_TIME_BASED_BAND_2 290 ///< Speed at D48 pump runs when the flowrate is between 60 mL/min and 70 mL/min. +#define BAL_CHAMBER_TIME_BASED_BAND_3 330 ///< Speed at D48 pump runs when the flowrate is between 70 mL/min and 80 mL/min. /// balancing chamber data structure typedef struct @@ -69,13 +76,19 @@ void valveControlForBCClosedState( void ); // Closes all balancing chamber valves void valveControlForBCOpenState( void ); // Open all balancing chamber valves void valveControlForBCFreshSideOnlyOpenState( void ); // Open only fresh side balancing chamber valves +void valveControlForBCSpentSideOnlyOpenState( void ); // Open only spent side balancing chamber valves BOOL getBalChamberSwitchingOnlyStatus( void ); // Get balancing chamber switching only status void setBalChamberSwitchingOnlyStatus( BOOL OnOff ); // Set balancing chamber switching only status U32 getBalChamberSwitchingPeriod( void ); // Get balancing chamber switching period F32 getBalancingChamberError( void ); // Get balancing chamber error to adjust UF rate. F32 getBicarbDoseVol( void ); // Get liquid bicarb dose volume F32 getAcidDoseVol( void ); // Get acid dose volume +<<<<<<< HEAD BOOL getBalancingChamberStatus(void); // Get Balancing Chamber Switching Status +======= +BOOL isBalChamberSwitchImminent( void ); // Get the balancing chamber is within the valve-close window (50 ms) before switching. +BOOL getBalChamberFreshSideValvesClosedStatus( void ); // Get the balancing chamber fresh side valve close status +>>>>>>> origin/staging BOOL testDDBalChamberDataPublishIntervalOverride( MESSAGE_T *message ); // To override the balancing chamber data publish interval BOOL testBalChamberSwFreqOverride( MESSAGE_T *message ); // To override the balancing chamber switching frequency