Skip to content

Ground Station CLI UI Rework #547

@Adityya-K

Description

@Adityya-K

Background

A major component of our satellite is the command and command response infrastructure. We send commands to do things on the satellite, like get telemetry, reset the board, etc.

There are two types of commands that we currently send

  • Time Tagged >> These commands execute at a specified time
  • Non-time tagged >> These commands execute as soon as satellite receives them

After any command executes, it sends back a command-response which is read by the ground_station_cli.py file if it is running.

Problem

Since non-time tagged commands execute almost instantly, we log their response as soon as the user sends the command. But since the time-tagged commands execute after sometime, the command response is stored in logs and you currently have to search through logs to find the command response you need.

Solution

Spilt the ground station CLI so that there is a main terminal panel and a sidebar that just shows logs of previous command responses.
This will require remaking the UI using the python textualize library

Requirements

UI should

  • Show all responses for all commands (time-tagged and non-timetagged)
  • Show whether the response was from a time-tagged command or non-timetagged (i.e. if the command sent was not time-tagged, then receive the response immediately and show it on the sidebar with a tag stating it was non-timetagged )
  • Add time received
  • Toggle between time-tagged/non-time tagged command response only (OPTIONAL)
  • Add filtering for responses from different commands (i.e. I should be able to select something that only displays responses from CMD_PING or any other command) (OPTIONAL)
  • Have a space for typing in commands
  • Have autocomplete (OPTIONAL)
  • Have a space for logs that just keeps printing and stores it in a file

Important Information

To run the ground station, first make sure that the board is connected to your computer and run the following commands from the root directory of the repository...

source venv/bin/activate
cd gs/backend/
python ground_sattion_cli.py /dev/ttyUSB0

Replace /dev/ttyUSB0 with the usb port that is connected to the board.

Warning

Time-tagged commands will only work on the OBC_REVISION_1 board. It will not work RM46_LAUNCHPAD development boards

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions