How ubcaerodesign/thrust-stand-v2 works
AeroThrust is a desktop application for connecting to a test board, monitoring and calibrating thrust/torque and electrical readings, sending commands, and running scripted tests that can produce data points. The main flow is user → desktop UI → serial board → readings/commands, with a separate script-execution branch. The README is a startup guide rather than a feature specification; script-to-UI data handling and several UI details are not shown in the sampled source, so those links are omitted where wiring is uncertain.
Main entry points: window.py Main window · __init__.py Board API · connect.py Connection console · reader.py Script parser and runner
Components 19
Desktop application
- Application entry
main.py - Main window
ui/window.py - Navigation
ui/navbar.py - Connection console
ui/connect.py - Board calibration
ui/board.py - Test interface
ui/test.py - Settings
ui/settings.py - Connection status
ui/infobar.py - Theme manager
ui/themeManager.py
Board communication
- Board API
board/__init__.py - Telemetry decoder
board/read.py - Command worker
board/command.py
Scripted testing
- Script controls
autoTest/__init__.py - Script parser and runner
autoTest/reader.py - Script grammar
autoTest/grammar.lark
Test data
- Data table
nums/__init__.py - Data interface
ui/data.py
Other components
- Operator
- Board firmware
boardCode/ardSketch/ardSketch.ino
Connections 21
- Operator → Application entry: launches
- Application entry → Main window: starts UI
- Main window → Navigation: constructs
- Main window → Connection console: constructs
- Main window → Board calibration: constructs
- Main window → Test interface: constructs
- Main window → Settings: constructs
- Main window → Connection status: constructs
- Connection console → Connection status: updates status
- Connection console → Board API: connects and polls
- Board calibration → Board API: calibrates readings
- Board API → Telemetry decoder: decodes lines
- Board API → Command worker: dispatches commands
- Board firmware → Board API: sends telemetry
- Board API → Board firmware: sends commands
- Script controls → Script parser and runner: runs scripts
- Script parser and runner → Script grammar: parses with
- Script parser and runner → Board API: reads and controls
- Data table → Data interface: provides data
- Theme manager → Connection console: supplies theme
- Theme manager → Board calibration: supplies theme