Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r7ed38e9408e5018e9b409351f1aca7a04e356144 -r89c337a55972374a341058652737cfb88d370f82 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 7ed38e9408e5018e9b409351f1aca7a04e356144) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 89c337a55972374a341058652737cfb88d370f82) @@ -1275,6 +1275,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; } @@ -1607,8 +1608,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; }