Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove telemetry processing from frontend #105

Open
aywaldron opened this issue Mar 20, 2019 · 0 comments
Open

Remove telemetry processing from frontend #105

aywaldron opened this issue Mar 20, 2019 · 0 comments
Labels

Comments

@aywaldron
Copy link
Contributor

aywaldron commented Mar 20, 2019

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
aywaldron added a commit that referenced this issue Mar 22, 2019
- Update tlm/realtime route to send packet to front end in JSON format
- Update TelemetryStream on frontend to parse JSON formatted packet
- Update plotting on frontend to work with JSON formatted packet
- Update getting field values from packet on frontend to work with JSON
aywaldron added a commit that referenced this issue Apr 17, 2019
When a message is received the GUI now checks to see if the topic
is within its log and telem stream name attributes, and if so,
processes the message accordingly. If these attributes do not exist
or if the received topic is in not in them, the GUI checks if the
topic contains either "telem_stream" or "log_stream" and processes
accordingly. If none of these conditions are met, an error is
thrown that a message with an unrecognized topic has been received.
aywaldron added a commit that referenced this issue Sep 9, 2019
- Update tlm/realtime route to send packet to front end in JSON format
- Update TelemetryStream on frontend to parse JSON formatted packet
- Update plotting on frontend to work with JSON formatted packet
- Update getting field values from packet on frontend to work with JSON
aywaldron added a commit that referenced this issue Oct 22, 2019
- Update tlm/realtime route to send packet to front end in JSON format
- Update TelemetryStream on frontend to parse JSON formatted packet
- Update plotting on frontend to work with JSON formatted packet
- Update getting field values from packet on frontend to work with JSON
Futabay pushed a commit that referenced this issue May 19, 2020
- Update tlm/realtime route to send packet to front end in JSON format
- Update TelemetryStream on frontend to parse JSON formatted packet
- Update plotting on frontend to work with JSON formatted packet
- Update getting field values from packet on frontend to work with JSON
Futabay added a commit that referenced this issue May 19, 2020
Futabay added a commit that referenced this issue May 19, 2020
Futabay added a commit that referenced this issue May 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants