-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Description
Current Behavior
Currently, the backend of the GUI sends an entire packet to the frontend, where the packet must be decommed and processed for display in the GUI. This optimizes bandwidth, but duplicates packet decomming/processing code in both the frontend and backend, which makes maintenance difficult.
Desired Behavior
All packet decomming/processing will happen on the backend of the GUI, and only changed packet fields will be sent to the front end for updated display. This will improve code maintenance and still prioritize bandwidth.
Proposed Changes
- Remove all telemetry decomm/processing from front end of GUI
- Track state on back end and propagate to the front end
- Only updated packet fields will be sent to frontend (dict of name: value pairs that were changed from last packet)
- To keep ability to view both raw and dntoeu values on frontend, have to send both
- Remove limit monitoring from front end
- Redraw tries to redraw all fields from latest packet - we will have to keep track of what the previous value was for fields that are not changed since front end will need to redraw them
- Plotting functions will need rewrite
- Event emission in frontend should only happen every x seconds (current configuration in GUI) - will need to keep track of deltas its gotten since last emit and aggregate all of them for next emit