-
Notifications
You must be signed in to change notification settings - Fork 31
Description
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_PINGor 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/ttyUSB0Replace /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