Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -ra8b1004967be1c3bd4d46e96ff5886a0ec1446cc -r3ebd93b5235d4fde813ce09d15fa5fd163ca0902 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision a8b1004967be1c3bd4d46e96ff5886a0ec1446cc) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 3ebd93b5235d4fde813ce09d15fa5fd163ca0902) @@ -57,7 +57,7 @@ ( 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_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. @@ -564,12 +564,14 @@ } else { - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DIENER_CONC_PUMP ) ) + 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 ); } } @@ -1070,7 +1072,7 @@ F32 timePerStep; F32 stepPeriodCounts; - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DIENER_CONC_PUMP ) ) + if ( TRUE != getTestConfigStatus( TEST_CONFIG_DISABLE_DIENER_CONC_PUMP ) ) { timePerStep = CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER / ( concentratePumps[ pumpId ].currentPumpSpeed * CONCENTRATE_PUMP_STEP_PER_REV ); } @@ -1152,7 +1154,7 @@ } else if ( FALSE == isPumpPulseWidthOut ) { - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DIENER_CONC_PUMP ) ) + 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; } Index: firmware/App/Controllers/ConcentratePumps.h =================================================================== diff -u -r0a74bcce6674271e35d5154003dd6c25011f80f9 -r3ebd93b5235d4fde813ce09d15fa5fd163ca0902 --- firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision 0a74bcce6674271e35d5154003dd6c25011f80f9) +++ firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision 3ebd93b5235d4fde813ce09d15fa5fd163ca0902) @@ -30,12 +30,10 @@ */ // ********** public definitions ********** -#ifdef __DIENER_CONC_PUMP__ // For 150 RPM, Diener pump delivers 60ml/min -#define CONCENTRATE_PUMP_MAX_SPEED 60.0F ///< Optimal speed for concentrate pump in mL/min -#else -#define CONCENTRATE_PUMP_MAX_SPEED 48.0F ///< Maximum speed for concentrate pump in mL/min -#endif +#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. Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r38ee99e9adeb19cacb0c88807e8f6f48b076a241 -r3ebd93b5235d4fde813ce09d15fa5fd163ca0902 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 38ee99e9adeb19cacb0c88807e8f6f48b076a241) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 3ebd93b5235d4fde813ce09d15fa5fd163ca0902) @@ -217,8 +217,6 @@ *************************************************************************/ void deenergizeActuatorsWithDrainEnabled( BOOL parkPumps ) { - U32 i; - // Energize drain and spent balancing chamber valves to relieve the pressure. setValveState( D53_VALV, VALVE_STATE_OPEN ); setValveState( D23_VALV, VALVE_STATE_OPEN );