Skip to content

Conversation

@c4bae
Copy link
Contributor

@c4bae c4bae commented Oct 27, 2025

Purpose

Closes #547, up until time tagged data functionality

New Changes

  • Reworked the ground station interface using the Textualize library, dividing it into 4 major panels:
    • Common commands executable using buttons
    • The CLI itself with an input field
    • Logs
    • Timetagged Data
  • Original cli remains unmodified apart from minor changes

Testing

Explain tests that you ran to verify code functionality.

  • I have unit-tested this PR. Otherwise, explain why it cannot be unit-tested.
  • I have tested this PR on a board if the code will run on a board (Only required for firmware developers).
  • I have tested this PR by running the ARO website (Only required if the code will impact the ARO website).
  • I have tested this PR by running the MCC website (Only required if the code will impact the MCC website).
  • I have included screenshots of the tests performed below.

Outstanding Changes

If there are non-critical changes (i.e. additional features) that can be made to this feature in the future, indicate them here.

  • Timetagged panel must be configured, am unable to do so due to incompatibility with MacOS
  • Add instructions on running interface to docs
  • Add more buttons to cmds panel

Screenshots

OLD LAYOUT BUT DEMONSTRATION OF LOGS
Screenshot 2025-10-15 at 1 21 28 AM

CURRENT LAYOUT
Screenshot 2025-11-09 at 5 43 19 PM

# Purpose
Previously, no instructions were provided on how to build the ground
station program for MacOS systems. This PR adds steps on how to fix the
errors that are encountered while building it.

# New Changes
- Instructions on building gs for MacOS systems were added to the readme

# Testing
Explain tests that you ran to verify code functionality.
- [x] I have unit-tested this PR. Otherwise, explain why it cannot be
unit-tested.
- [ ] I have tested this PR on a board if the code will run on a board
(Only required for firmware developers).
- [ ] I have tested this PR by running the ARO website (Only required if
the code will impact the ARO website).
- [ ] I have tested this PR by running the MCC website (Only required if
the code will impact the MCC website).
- [ ] I have included screenshots of the tests performed below.

# Outstanding Changes
If there are non-critical changes (i.e. additional features) that can be
made to this feature in the future, indicate them here.
- Currently, the instructions allow for successfully launching the cli.
More thorough testing may be required for full functionality

# Purpose
Closes #ISSUE_NUMBER.
Explain the purpose of the PR here if it doesn't match the linked issue.
Be sure to add a comment in the linked issue explaining the changes.

# New Changes
Explain new changes below in short bullet points.

# Testing
Explain tests that you ran to verify code functionality.
- [ ] I have unit-tested this PR. Otherwise, explain why it cannot be
unit-tested.
- [ ] I have tested this PR on a board if the code will run on a board
(Only required for firmware developers).
- [ ] I have tested this PR by running the ARO website (Only required if
the code will impact the ARO website).
- [ ] I have tested this PR by running the MCC website (Only required if
the code will impact the MCC website).
- [ ] I have included screenshots of the tests performed below.

# Outstanding Changes
If there are non-critical changes (i.e. additional features) that can be
made to this feature in the future, indicate them here.
@github-actions
Copy link

Pull reviewers stats

Stats of the last 120 days for UWOrbital:

User Total reviews Time to review Total comments
Adityya-K
🥇
49
▀▀▀▀▀
1d 2h 39m
167
▀▀▀▀
camspec
🥈
19
▀▀
23h 54m
130
▀▀▀
kepler452b123
🥉
17
▀▀
6d 6h 38m
▀▀
62
Yarik-Popov
5
1d 3h 12m
41
Navtajh04
2
7d 12h 7m
▀▀
25
sunray4
1
12d 21m
▀▀▀
9
proprogrammer504
1
8d 6h 19m
▀▀
5

⚡️ Pull request stats

@c4bae c4bae changed the title textual-gs-cli-test implement revamped textual-gs-cli Nov 9, 2025
Copy link
Member

@camspec camspec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of great revamping, but there are a few issues

"""
Entry point for the CLI application, sets up serial and runs the app
"""
if len(argv) != 2:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We never reach this point if the argument is missing since argv[1] is undefined

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Crashes on line 18

Copy link
Member

@camspec camspec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good! make sure Adityya reviews this

def main() -> None:
"""
Entry point for the CLI application, sets up serial and runs the app
Usage: Entry point for the CLI application; opens the serial port at the com port and runs the ground station cli.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Usage convention was referring to the error message when the arguments don't match. The original docstring was fine. Also, provide an exit code if there was a failure.

Copy link
Contributor

@Adityya-K Adityya-K left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code itself looks good and I see no glaring issues except for some minor things and the use of a lambda function I might be misunderstanding. Could you just move all the cli and ground_station_cli files into a separate folder named gs/backend/gs_cli.

Additionally this just needs to be tested and it should be good!

camspec
camspec previously approved these changes Feb 6, 2026
Copy link
Member

@camspec camspec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, one small thing that would be good to change (unrelated)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ground Station CLI UI Rework

3 participants