Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r3ebd93b5235d4fde813ce09d15fa5fd163ca0902 -r2e6fa30976d3fd57cf43c7e4667d165c973c17b2 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 3ebd93b5235d4fde813ce09d15fa5fd163ca0902) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 2e6fa30976d3fd57cf43c7e4667d165c973c17b2) @@ -42,7 +42,6 @@ #define CONCENTRATE_PUMP_SPD_OUT_OF_RANGE_TOL_WHEN_SLOW_MLPM 1.0F ///< Concentrate pump speed out of range tolerance when slow in mL/min. #define CONCENTRATE_PUMP_LOW_SPEED_THRESHOLD_MLPM 10.0F ///< Concentrate pump low speed threshold in mL/min. #define CONCENTRATE_PUMP_ZERO_FLOW_RATE 0xFFFF ///< Pulse width value when zero flow rate or pump is off. - #define CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER 0.4F ///< Volume output every revolution (mL). #define CONCENTRATE_PUMP_VOLUME_PER_REV 0.1F ///< Volume output every revolution (mL). @@ -56,25 +55,18 @@ #define CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION_DIENER ( ( 1.0F / CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER ) * \ ( CONCENTRATE_PUMP_STEP_PER_REV * \ CONCENTRATE_PUMP_MICRO_STEPS_PER_STEP ) ) ///< Convert volume in to number of revolutions needed. -#define CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION ( ( 1.0F / CONCENTRATE_PUMP_VOLUME_PER_REV ) * \ - ( CONCENTRATE_PUMP_STEP_PER_REV * \ - CONCENTRATE_PUMP_MICRO_STEPS_PER_STEP ) ) ///< Convert volume in to number of revolutions needed. #define CONCENTRATE_PUMP_STEP_PERIOD_RESOLUTION ( 0.50F / ( US_PER_SECOND * SEC_PER_MIN ) ) ///< Convert step period resolution (0.50 us) to minute. /// Volume output per pulse. #define CONCENTRATE_PUMP_VOLUME_PER_PULSE_DIENER ( CONCENTRATE_PUMP_VOLUME_PER_REV / CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER ) -#define CONCENTRATE_PUMP_VOLUME_PER_PULSE ( CONCENTRATE_PUMP_VOLUME_PER_REV / CONCENTRATE_PUMP_VOLUME_PER_REV ) #define CONCENTRATE_PUMP_DATA_PUBLISH_INTERVAL ( 1000 / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the concentrate pump is monitored. #define CONCENTRATE_PUMP_CONTROL_INTERVAL ( 100 / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the concentrate pump is controlled. #define CONCENTRATE_PUMP_SPEED_OUT_OF_RANGE_TIMEOUT_MS ( 10 * MS_PER_SECOND ) ///< Concentrate pumps speed out of range timeout in milliseconds. #define NUMBER_OF_ACID_AND_BICARB_NV_DATA_TO_CHECK 1 ///< Number of acid and bicarb non-volatile data to check. - #define DATA_PUBLISH_COUNTER_START_COUNT 0 ///< Data publish counter start count. - #define ZERO_REVOLUTION_COUNT 0 ///< Revolution count reached to Zero. - #define CONCENTRATE_PUMP_FAULT_PERSISTENCE_PERIOD 500 ///< Concentrate pump fault persistence period in milliseconds. #define CONCENTRATE_PUMP_TRANS_TO_RAMP_SPEED_THRESHOLD_MLPM 20.0F ///< Concentrate pump transition to ramp to target speed threshold in mL/min. @@ -564,16 +556,7 @@ } else { - if ( TRUE != getTestConfigStatus( TEST_CONFIG_DISABLE_DIENER_CONC_PUMP ) ) - { - pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION_DIENER ); - } - else - { - //Restrict FMI pump speed to 48.0 ml/min. - targetSpeed_ml_min = ( targetSpeed_ml_min > CONCENTRATE_PUMP_MAX_SPEED_FMI ) ? CONCENTRATE_PUMP_MAX_SPEED_FMI : targetSpeed_ml_min; - pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION ); - } + pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * CONCENTRATE_PUMP_VOLUME_TO_REVOLUTION_DIENER ); } if ( D11_PUMP == pumpId ) @@ -593,9 +576,9 @@ } /* - * If 3.0 <= speed <= 48 set it + * If 3.0 <= speed <= 60 set it * If speed < 3.0 set to 0 - * else speed > 48 set to 48 + * else speed > 60 set to 60 */ if ( ( CONCENTRATE_PUMP_MIN_SPEED <= targetSpeed_ml_min ) && ( targetSpeed_ml_min <= CONCENTRATE_PUMP_MAX_SPEED ) ) { @@ -1072,14 +1055,7 @@ F32 timePerStep; F32 stepPeriodCounts; - if ( TRUE != getTestConfigStatus( TEST_CONFIG_DISABLE_DIENER_CONC_PUMP ) ) - { - timePerStep = CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER / ( concentratePumps[ pumpId ].currentPumpSpeed * CONCENTRATE_PUMP_STEP_PER_REV ); - } - else - { - timePerStep = CONCENTRATE_PUMP_VOLUME_PER_REV / ( concentratePumps[ pumpId ].currentPumpSpeed * CONCENTRATE_PUMP_STEP_PER_REV ); - } + timePerStep = CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER / ( concentratePumps[ pumpId ].currentPumpSpeed * CONCENTRATE_PUMP_STEP_PER_REV ); stepPeriodCounts = timePerStep / ( CONCENTRATE_PUMP_STEP_PERIOD_RESOLUTION * CONCENTRATE_PUMP_MICRO_STEPS_PER_STEP ); concentratePumps[ pumpId ].togglePeriodCount = (U16)( stepPeriodCounts + FLOAT_TO_INT_ROUNDUP_OFFSET ); } @@ -1154,14 +1130,7 @@ } else if ( FALSE == isPumpPulseWidthOut ) { - if ( TRUE != getTestConfigStatus( TEST_CONFIG_DISABLE_DIENER_CONC_PUMP ) ) - { - measuredPumpSpeed[ pumpId ].data = ( US_PER_SECOND / pulseWidthInMicroSeconds ) * CONCENTRATE_PUMP_VOLUME_PER_PULSE_DIENER * SEC_PER_MIN; - } - else - { - measuredPumpSpeed[ pumpId ].data = ( US_PER_SECOND / pulseWidthInMicroSeconds ) * CONCENTRATE_PUMP_VOLUME_PER_PULSE * SEC_PER_MIN; - } + measuredPumpSpeed[ pumpId ].data = ( US_PER_SECOND / pulseWidthInMicroSeconds ) * CONCENTRATE_PUMP_VOLUME_PER_PULSE_DIENER * SEC_PER_MIN; } // If pulse width is out of range capture pump out of range, pumpId and pulse width Index: firmware/App/Controllers/ConcentratePumps.h =================================================================== diff -u -r3ebd93b5235d4fde813ce09d15fa5fd163ca0902 -r2e6fa30976d3fd57cf43c7e4667d165c973c17b2 --- firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision 3ebd93b5235d4fde813ce09d15fa5fd163ca0902) +++ firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision 2e6fa30976d3fd57cf43c7e4667d165c973c17b2) @@ -32,7 +32,6 @@ // ********** public definitions ********** // For 150 RPM, Diener pump delivers 60ml/min #define CONCENTRATE_PUMP_MAX_SPEED 60.0F ///< Maximum Diener pump speed for concentrate pump in mL/min -#define CONCENTRATE_PUMP_MAX_SPEED_FMI 48.0F ///< Maximum FMI pump speed for concentrate pump in mL/min #define DEFAULT_ACID_VOLUME_ML 0.67F ///< Acid concentrate volume in ml. #define DEFAULT_BICARB_VOLUME_ML 1.15F ///< Bicarb concentrate volume in ml.