NASA-AMMOS / NASA-AMMOS/AIT-GUI
Remove telemetry processing from frontend
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 31
- Forks
- 15
- Avg merge
- 1m
- Merged PRs (30d)
- 1
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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the GUI frontend and backend paths that decomm and process packets, then trace redraw, plotting, limit monitoring, and event emission. Done means telemetry processing is backend-only, changed fields and both value forms reach the frontend, and frontend redraw and event behavior still work as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- full-stack
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100