Index: firmware/App/Modes/Rinseback.c =================================================================== diff -u -r3d72b777cf1ceb673d118341c46e2d6d5b7b75f5 -r736f71acb75b31a1f60e1b2f1651f4cf3073d22d --- firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision 3d72b777cf1ceb673d118341c46e2d6d5b7b75f5) +++ firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision 736f71acb75b31a1f60e1b2f1651f4cf3073d22d) @@ -992,7 +992,7 @@ } // Scale to seconds countdown /= ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ); - + data.isCompleted = FALSE; data.targetRinsebackVolumeMl = TARGET_RINSEBACK_VOLUME_ML; rinsebackPublishTimerCtr = 0; // If we have completed rinseback, timeout is no longer in force - indicate by zeroing timeout. Also include any additionals to target. @@ -1009,7 +1009,10 @@ } data.timeout = timeout; data.countdown = countdown; - data.unused = 0.0; // TODO - remove when UI no longer looks for this field + if ( data.deliveredRinsebackVolumeMl >= TARGET_RINSEBACK_VOLUME_ML ) + { + data.isCompleted = TRUE; + } broadcastData( MSG_ID_HD_RINSEBACK_PROGRESS, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( RINSEBACK_DATA_PAYLOAD_T ) ); } } Index: firmware/App/Modes/Rinseback.h =================================================================== diff -u -r3d72b777cf1ceb673d118341c46e2d6d5b7b75f5 -r736f71acb75b31a1f60e1b2f1651f4cf3073d22d --- firmware/App/Modes/Rinseback.h (.../Rinseback.h) (revision 3d72b777cf1ceb673d118341c46e2d6d5b7b75f5) +++ firmware/App/Modes/Rinseback.h (.../Rinseback.h) (revision 736f71acb75b31a1f60e1b2f1651f4cf3073d22d) @@ -44,7 +44,7 @@ U32 rinsebackFlowRateMlMin; U32 timeout; U32 countdown; - F32 unused; + U32 isCompleted; } RINSEBACK_DATA_PAYLOAD_T; #pragma pack(pop)