Index: firmware/App/Controllers/MixingControl.c =================================================================== diff -u -rfcd31ba31379396ba18db1a7e13b9f26d7837958 -r5075786897d42d24a93ae5485936b5d50c307f65 --- firmware/App/Controllers/MixingControl.c (.../MixingControl.c) (revision fcd31ba31379396ba18db1a7e13b9f26d7837958) +++ firmware/App/Controllers/MixingControl.c (.../MixingControl.c) (revision 5075786897d42d24a93ae5485936b5d50c307f65) @@ -130,7 +130,8 @@ #define TOTAL_CONDUCTIVITY ( ACID_CONDUCTIVITY_POST + BICARB_CONDUCTIVITY_POST ) ///< Theoretical Dialysate conductivity - +#define FLOW_SETTING_FOR_STATIC_CONTROL_INTERVAL_UPDATE 100 +#define STATIC_CONTROL_INTERVAL 2 /// Enumeration of dialysate Mixing id. typedef enum DialysateMixingID { @@ -452,8 +453,13 @@ // For acid control period, we are using 3 cycles of balancing chamber switching period (for ex: At Qd = 600, switching period = 3sec, so acid control interval = 3*3 = 9sec // For bicarb control period, we are using 5 cycles of balancing chamber switching period (for ex: At Qd = 600, switching period = 3sec, so bicarb control interval = 3*5 = 15sec - if ( balChamberSwitchingPeriod > 0) + if ( ( balChamberSwitchingPeriod > 0 ) && ( tdDialysateFlowRate <= FLOW_SETTING_FOR_STATIC_CONTROL_INTERVAL_UPDATE ) ) { + mixingControlAcidControlInterval.data = STATIC_CONTROL_INTERVAL * balChamberSwitchingPeriod; + mixingControlBicarbControlInterval.data = STATIC_CONTROL_INTERVAL * balChamberSwitchingPeriod; + } + else if ( tdDialysateFlowRate > FLOW_SETTING_FOR_STATIC_CONTROL_INTERVAL_UPDATE ) + { mixingControlAcidControlInterval.data = ACID_MIX_CONTROL_INTERVAL_MULTIPLIER * balChamberSwitchingPeriod; mixingControlBicarbControlInterval.data = BICARB_MIX_CONTROL_INTERVAL_MULTIPLIER * balChamberSwitchingPeriod; }