Getting ready for docs update#3
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR reorganizes the v5b repository to match v4/v5a, adds Arduino CLI support for firmware and CircuitPython installation, updates build/install workflows, and links to the new documentation site.
- Introduce separate flight-software and ground-station subprojects with per-project build/install targets
- Replace install-firmware Makefile flow with Arduino CLI commands and TTY port listing
- Update project metadata (pyproject.toml), CI workflows, devcontainer, and README to reflect v5b
Reviewed Changes
Copilot reviewed 16 out of 24 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ground-station/version.py | Add __version__ placeholder populated by Makefile |
| src/ground-station/safemode.py | Safemode stub prints warning before resetting |
| src/ground-station/repl.py | Entry point for ground station logic |
| src/ground-station/main.py | CLI-style wait loop before starting ground station |
| src/flight-software/repl.py | Merged v5a repl into flight-software project with beacon & faces |
| src/flight-software/main.py | New main loop, Watchdog, packet manager, beacon & sleep integration |
| src/flight-software/lib/proveskit_rp2350_v5b/register.py | Define Register constants for counters |
| pyproject.toml | Rename project, reorganize dependencies & include paths |
| config.json | Reorder and extend configuration values |
| README.md | Update title, badge, and link to new docs site |
| Makefile | Add Arduino CLI targets, per-project build/install, refactor sync |
| .pre-commit-config.yaml | Enable pretty-format-json |
| .github/workflows/ci.yaml | Add typecheck job, separate artifacts for flight-software/ground-station |
| .devcontainer/devcontainer.json | Define VS Code dev container for Python 3.13 |
Comments suppressed due to low confidence (6)
.github/workflows/ci.yaml:37
- The
uses:line under- name: Archive Ground Stationis mis-indented and will cause the workflow to fail YAML parsing. Align it under the step key with the same indentation as otheruseslines.
uses: actions/upload-artifact@v4
src/flight-software/repl.py:138
- [nitpick] Pin instances are defined in ALL_CAPS (e.g.,
ENABLE_BURN_A), which conventionally implies a constant. Use lowercase or a mixed-case name to clarify that these are mutable pin objects.
ENABLE_BURN_A = initialize_pin(
src/flight-software/repl.py:338
- [nitpick] The variable name
mcp1is ambiguous. Consider using a more descriptive name likeonboard_temp_sensorto improve readability.
mcp1 = MCP9808(i2c1, address=30) # Not working for some reason
src/flight-software/repl.py:146
- The new
dumb_burnfunction lacks unit tests. Consider adding tests to verify that the pins are toggled correctly and that timing behavior is as expected.
def dumb_burn(duration=5) -> None:
pyproject.toml:7
- Removing all required runtime dependencies from the
dependenciessection will break installation of essential packages. Consider restoring needed packages (e.g., CircuitPython libraries) underdependenciesand reservedependency-groups.devfor development-only dependencies.
dependencies = []
Makefile:3
- [nitpick] The
BOARD_MOUNT_POINTvariable is defined twice in the Makefile (here and again before the install targets). Removing duplicate definitions will simplify maintenance.
BOARD_MOUNT_POINT ?= ""
Comment on lines
+1
to
+6
| import time | ||
|
|
||
| import microcontroller | ||
|
|
||
| print("I am in safemode. Help!") | ||
|
|
There was a problem hiding this comment.
[nitpick] Using print for error or mode reporting can be inconsistent with the rest of the codebase's logging. Consider using a Logger instance to issue warnings or errors.
Suggested change
| import time | |
| import microcontroller | |
| print("I am in safemode. Help!") | |
| import logging | |
| import time | |
| import microcontroller | |
| logging.basicConfig(level=logging.ERROR, format='%(asctime)s - %(levelname)s - %(message)s') | |
| logger = logging.getLogger(__name__) | |
| logger.error("I am in safemode. Help!") |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR updates the v5b repo to match the new organization of the v4 and v5a board repos.
I'm also rewriting the getting started docs and wanted to try avoid telling people to push specific buttons on the board. This change uses Arduino CLI to force the board into boot loader mode and install firmware. It also provides a consistent (🤞) way to find the TTY ports for our boards. This PR also links the readme to our new docs site and adds a dev container description.
How was this tested