Skip to content

Getting ready for docs update#3

Merged
Mikefly123 merged 4 commits into
mainfrom
new-org
Jul 11, 2025
Merged

Getting ready for docs update#3
Mikefly123 merged 4 commits into
mainfrom
new-org

Conversation

@nateinaction
Copy link
Copy Markdown
Member

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

  • Added new unit tests
  • Ran code on hardware (screenshots are helpful)
  • Other (Please describe)

@nateinaction nateinaction requested a review from Copilot July 11, 2025 23:03
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 Station is mis-indented and will cause the workflow to fail YAML parsing. Align it under the step key with the same indentation as other uses lines.
        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 mcp1 is ambiguous. Consider using a more descriptive name like onboard_temp_sensor to improve readability.
mcp1 = MCP9808(i2c1, address=30)  # Not working for some reason

src/flight-software/repl.py:146

  • The new dumb_burn function 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 dependencies section will break installation of essential packages. Consider restoring needed packages (e.g., CircuitPython libraries) under dependencies and reserve dependency-groups.dev for development-only dependencies.
dependencies = []

Makefile:3

  • [nitpick] The BOARD_MOUNT_POINT variable is defined twice in the Makefile (here and again before the install targets). Removing duplicate definitions will simplify maintenance.
BOARD_MOUNT_POINT ?= ""

Comment thread pyproject.toml Outdated
Comment on lines +1 to +6
import time

import microcontroller

print("I am in safemode. Help!")

Copy link

Copilot AI Jul 11, 2025

Choose a reason for hiding this comment

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

[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!")

Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Mikefly123 Mikefly123 self-requested a review July 11, 2025 23:42
Copy link
Copy Markdown
Member

@Mikefly123 Mikefly123 left a comment

Choose a reason for hiding this comment

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

LGTM! Great work on this

@Mikefly123 Mikefly123 merged commit f4eacff into main Jul 11, 2025
3 checks passed
@Mikefly123 Mikefly123 deleted the new-org branch July 11, 2025 23:42
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.

3 participants