Index: firmware/App/Controllers/DialysatePumps.c =================================================================== diff -u -ra8a9efaaea2ba9f38705b4ec2d47ff1252c833e2 -r5422509f9d8db102b62952ba9f5923e832d6b2fa --- firmware/App/Controllers/DialysatePumps.c (.../DialysatePumps.c) (revision a8a9efaaea2ba9f38705b4ec2d47ff1252c833e2) +++ firmware/App/Controllers/DialysatePumps.c (.../DialysatePumps.c) (revision 5422509f9d8db102b62952ba9f5923e832d6b2fa) @@ -260,7 +260,7 @@ * @param rpm new dialysate pump target RPM * @return TRUE if new target RPM is set, FALSE if not *************************************************************************/ -BOOL setDialysatePumpTargetRPM( DIALYSATE_PUMPS_T pumpId, U32 rpm ) +BOOL setDialysatePumpTargetRPM( DIALYSATE_PUMPS_T pumpId, U32 rpm, BOOL isOpenLoopControlEnabled ) { BOOL result = FALSE; @@ -280,6 +280,9 @@ pumpTargetSpeed[ pumpId ].data = MAX_DIALYSATE_PUMP_RPM; } + // Open loop or close loop control + isDialPumpOpenLoopEnabled[ pumpId ] = isOpenLoopControlEnabled; + //handle target speed update when pump is running if ( DIALYSATE_PUMP_CONTROL_TO_TARGET_STATE == dialysatePumps[ pumpId ].dialysatePumpState ) { @@ -1135,9 +1138,7 @@ if ( ( TRUE == payload.startStop ) && ( ( payload.rpm >= MIN_DIALYSATE_PUMP_RPM ) && ( payload.rpm <= MAX_DIALYSATE_PUMP_RPM ) ) ) { - setDialysatePumpTargetRPM( (DIALYSATE_PUMPS_T)payload.pumpID, payload.rpm ); - // Pump control - isDialPumpOpenLoopEnabled[payload.pumpID] = payload.pumpControl; + setDialysatePumpTargetRPM( (DIALYSATE_PUMPS_T)payload.pumpID, payload.rpm, (BOOL)payload.pumpControl ); result = TRUE; }