NASA-AMMOS / NASA-AMMOS/AIT-GUI

Remove telemetry processing from frontend

Open
#105 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

refactor
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.