Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -rd0f8958c30ff294da7e5088b89226f0ac30f3a36 -rc29d60cd59d549a617ed077248f5d19dfec74e76 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision d0f8958c30ff294da7e5088b89226f0ac30f3a36) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision c29d60cd59d549a617ed077248f5d19dfec74e76) @@ -1097,6 +1097,7 @@ if ( ++dialInFlowDataPublicationTimerCounter >= getU32OverrideValue( &dialInFlowDataPublishInterval ) ) { DIALIN_PUMP_STATUS_PAYLOAD_T payload; + HD_OP_MODE_T opMode = getCurrentOperationMode(); payload.setPoint = targetDialInFlowRate; payload.measFlow = getMeasuredDialInFlowRate(); @@ -1106,6 +1107,14 @@ payload.measMCCurr = getMeasuredDialInPumpMCCurrent(); payload.pwmDC = dialInPumpPWMDutyCyclePctSet * FRACTION_TO_PERCENT_FACTOR; payload.rotorCount = getDialInPumpRotorCount(); + if ( ( MODE_PRET == opMode ) || ( MODE_TREA == opMode ) || ( MODE_POST == opMode ) ) + { // prescribed flow only available in treatment modes + payload.presFlow = getTreatmentParameterS32( TREATMENT_PARAM_DIALYSATE_FLOW ); + } + else + { + payload.presFlow = 0.0F; + } broadcastData( MSG_ID_DIALYSATE_FLOW_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&payload, sizeof( DIALIN_PUMP_STATUS_PAYLOAD_T ) ); dialInFlowDataPublicationTimerCounter = 0; }