Open-Agriculture / AgIsoVirtualTerminal

A free, experimental ISO11783-6 Virtual Terminal (VT) server GUI based on AgIsoStack++
GNU General Public License v3.0
13 stars 0 forks source link

Client connecting progress indicator #4

Open GwnDaan opened 10 months ago

GwnDaan commented 10 months ago

Add loading indicator in UI that there is a VT client being connected. For really large pools, you think it's hanging, while in practice it is transferring the object pool(s).

ad3154 commented 10 months ago

100% agreed but will be tricky... I think maybe the server should register for the EDPO message and calculate progress based on that plus the total byte count compared to the requested byte count in the Get Memory message? Will have to experiment...

GwnDaan commented 10 months ago

I think it's better to integrate it into the stack itself. Like a function to get the active transport protocol sessions between two control functions. And then there can simply be a getter to get the progress in fractions/percentages of the total number of bytes transferred. Though then we should consider waiting for https://github.com/Open-Agriculture/AgIsoStack-plus-plus/pull/344 first, because otherwise we are duplicating our work...

I think this approach will result in a smoother progress bar than solely depending on EDPO (which can be every 255 frames, and can even reach up to 255*200ms = +/-25 seconds)

GwnDaan commented 10 months ago

A function to get progress percentage for transportation sessions will be added with https://github.com/Open-Agriculture/AgIsoStack-plus-plus/pull/391

ad3154 commented 9 months ago

Now that your ETP/TP changes are merged, I might be able to knock this out this weekend. I am thinking of drawing a circular progress bar where each working set icon would be drawn once it's fully transferred.