Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r2ed28d3fdc3345c4a3d8f1684d1541f2a27467d8 -r0580c86830b1dabab9c5b73eb45abeab870c1383 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 2ed28d3fdc3345c4a3d8f1684d1541f2a27467d8) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 0580c86830b1dabab9c5b73eb45abeab870c1383) @@ -1276,6 +1276,7 @@ data.tgtSalineVolumeMl = getTreatmentParameterU32( TREATMENT_PARAM_SALINE_BOLUS_VOLUME ); data.cumSalineVolumeMl = totalSalineVolumeDelivered_mL; data.bolSalineVolumeMl = bolusSalineVolumeDelivered_mL; + data.bloodLeakZeroingDPi2BLDFlushVolumeML = bloodLeakZeroingStatus.DPiToBLDFlushedVolML; broadcastData( MSG_ID_SALINE_BOLUS_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( SALINE_BOLUS_DATA_PAYLOAD_T ) ); salineBolusBroadcastTimerCtr = 0; } @@ -1608,8 +1609,8 @@ BOOL status = FALSE; F32 measuredDPiMLPM = getMeasuredDialInFlowRate(); - bloodLeakZeroingStatus.DPiToBLDFlushedVolML += ( measuredDPiMLPM * TASK_GENERAL_INTERVAL ) / (F32)( SEC_PER_MIN * MS_PER_SECOND ); - status = ( ( bloodLeakZeroingStatus.DPiToBLDFlushedVolML - DPI_TO_BLD_VOLUME_ML ) < NEARLY_ZERO ? TRUE : FALSE ); + bloodLeakZeroingStatus.DPiToBLDFlushedVolML += ( (F32)( measuredDPiMLPM * TASK_GENERAL_INTERVAL ) / (F32)( SEC_PER_MIN * MS_PER_SECOND ) ); + status = ( fabs( bloodLeakZeroingStatus.DPiToBLDFlushedVolML - DPI_TO_BLD_VOLUME_ML ) < NEARLY_ZERO ? TRUE : FALSE ); return status; }