Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r333e2d0c0462dcb4343a279420949cce716ebab7 -rf2b23abd44f71103b3ef6b0a96f18cc82d263735 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 333e2d0c0462dcb4343a279420949cce716ebab7) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision f2b23abd44f71103b3ef6b0a96f18cc82d263735) @@ -533,7 +533,14 @@ if ( targetVolume_ml > 0.0 ) { #ifndef __PUMPTEST__ - pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION ); + if ( DOSING_CONT_VOLUME == targetVolume_ml ) + { + pumpTargetRevCnt[ pumpId ].data = DOSING_CONT_VOLUME; + } + else + { + pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION ); + } #else pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * PISTON_PUMP_VOLUME_TO_REVOLUTION ); #endif Index: firmware/App/Controllers/ConcentratePumps.h =================================================================== diff -u -rafb05eebd86337012af4f6a9d21cb9a1e7f5f16a -rf2b23abd44f71103b3ef6b0a96f18cc82d263735 --- firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision afb05eebd86337012af4f6a9d21cb9a1e7f5f16a) +++ firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision f2b23abd44f71103b3ef6b0a96f18cc82d263735) @@ -42,6 +42,8 @@ #define DEFAULT_ACID_VOLUME_ML 0.67F ///< Acid concentrate volume in ml. #define DEFAULT_BICARB_VOLUME_ML 1.15F ///< Bicarb concentrate volume in ml. +#define DOSING_CONT_VOLUME 0xFFFF ///< Volume set to 0xFFFF enables contineous delivery based on the speed set. + #define PARK_CONC_PUMPS TRUE ///< For park parameter to requestConcentratePumpOff(). #define NO_PARK_CONC_PUMPS FALSE ///< For park parameter to requestConcentratePumpOff(). Index: firmware/App/Controllers/Ultrafiltration.c =================================================================== diff -u -r333e2d0c0462dcb4343a279420949cce716ebab7 -rf2b23abd44f71103b3ef6b0a96f18cc82d263735 --- firmware/App/Controllers/Ultrafiltration.c (.../Ultrafiltration.c) (revision 333e2d0c0462dcb4343a279420949cce716ebab7) +++ firmware/App/Controllers/Ultrafiltration.c (.../Ultrafiltration.c) (revision f2b23abd44f71103b3ef6b0a96f18cc82d263735) @@ -31,7 +31,6 @@ // ********** private definitions ********** #define UF_DATA_PUBLISH_INTERVAL ( 1000 / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the ultrafiltration data published. -#define UF_CONT_VOLUME 0xFFFF ///< Volume set to 0xFFFF enables contineous delivery based on the speed set. #define ZERO_RATE 0.0F ///< Zero value. // ********** private data ********** @@ -130,7 +129,7 @@ if ( TRUE == isUltrafiltrationRequested ) { - setConcentratePumpTargetSpeed( D76_PUMP, getTDUFRate(), UF_CONT_VOLUME ); + setConcentratePumpTargetSpeed( D76_PUMP, getTDUFRate(), DOSING_CONT_VOLUME ); requestConcentratePumpOn( D76_PUMP ); //Tranistion to run state @@ -157,6 +156,11 @@ requestConcentratePumpOff( D76_PUMP, FALSE ); state = DD_UF_PAUSED; } + else + { + // Get the updated rate if there is any change + setConcentratePumpTargetSpeed( D76_PUMP, getTDUFRate(), DOSING_CONT_VOLUME ); + } return state; }