Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -rbe6802eb077d77af6a2334508c428cc50a02ed39 -r57ee0134869672b53ab5b7146b8988ede8f828d6 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision be6802eb077d77af6a2334508c428cc50a02ed39) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 57ee0134869672b53ab5b7146b8988ede8f828d6) @@ -40,7 +40,7 @@ #define MAX_DIAL_OUT_FLOW_RATE 650 // mL/min #define MIN_DIAL_OUT_FLOW_RATE 100 // mL/min -#define MAX_DIAL_OUT_PUMP_PWM_STEP_CHANGE 0.005 // max duty cycle change when ramping +#define MAX_DIAL_OUT_PUMP_PWM_STEP_CHANGE 0.01 // max duty cycle change when ramping #define MAX_DIAL_OUT_PUMP_PWM_DUTY_CYCLE 0.88 // controller will error if PWM duty cycle > 90%, so set max to 88% #define MIN_DIAL_OUT_PUMP_PWM_DUTY_CYCLE 0.12 // controller will error if PWM duty cycle < 10%, so set min to 12% @@ -395,6 +395,10 @@ isDialOutPumpOn = TRUE; result = DIAL_OUT_PUMP_RAMPING_UP_STATE; } + else + { + dialOutPumpPWMDutyCyclePct = 0.0; + } return result; } @@ -545,6 +549,7 @@ *************************************************************************/ static void stopDialOutPump( void ) { + dialOutPumpPWMDutyCyclePctSet = 0.0; setDialOutPumpControlSignalPWM( 0 ); SET_DOP_STOP(); isDialOutPumpOn = FALSE; @@ -608,7 +613,7 @@ static void publishDialOutFlowData( void ) { // publish dialysate outlet pump and UF volume data on interval - if ( ++dialOutFlowDataPublicationTimerCounter > DIAL_OUT_DATA_PUB_INTERVAL ) + if ( ++dialOutFlowDataPublicationTimerCounter > getPublishDialOutDataInterval() ) { dialOutBroadCastVariables.refUFVolMl = getTotalTargetDialOutUFVolumeInMl(); dialOutBroadCastVariables.measUFVolMl = getTotalMeasuredUFVolumeInMl(); @@ -637,7 +642,7 @@ * @param none * @return the current dialysate out flow data publication interval (in ms). *************************************************************************/ -DATA_GET( U32, getPublishDialOutFlowDataInterval, DialOutDataPublishInterval ) +static DATA_GET( U32, getPublishDialOutDataInterval, DialOutDataPublishInterval ) /************************************************************************* * @brief