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; } Index: firmware/App/Modes/Dialysis.h =================================================================== diff -u -rcef8ee5540ff7d849b1ccb2fa54e6d70e5d62db4 -r0580c86830b1dabab9c5b73eb45abeab870c1383 --- firmware/App/Modes/Dialysis.h (.../Dialysis.h) (revision cef8ee5540ff7d849b1ccb2fa54e6d70e5d62db4) +++ firmware/App/Modes/Dialysis.h (.../Dialysis.h) (revision 0580c86830b1dabab9c5b73eb45abeab870c1383) @@ -44,6 +44,7 @@ U32 tgtSalineVolumeMl; ///< Target saline volume in mL. F32 cumSalineVolumeMl; ///< Cumulative saline volume in mL. F32 bolSalineVolumeMl; ///< Bolus saline volume in mL. + F32 bloodLeakZeroingDPi2BLDFlushVolumeML; ///< Blood leak zeroing DPi to BLD flush volume in mL. } SALINE_BOLUS_DATA_PAYLOAD_T; #pragma pack(pop)