Skip to content

Create standalone leddy-stm32 repository and complete hardware validation #6

Description

@ORESoftware

Goal

Create public led-dynamo/leddy-stm32, extract the merged STM32Cube HAL implementation from leddy-arduino/src/ports/stm32cube, and validate it on a Nucleo F446RE plus a real LED fixture.

Acceptance criteria

  • public led-dynamo/leddy-stm32 repository exists with standard org governance files
  • STM32Cube HAL firmware builds for nucleo_f446re
  • shared embedded capability/frame-planning layer and host tests are preserved
  • device hello advertises platform=stm32 and only configured transports
  • board clock, matrix-present, and telemetry hooks have a documented reference implementation
  • hardware-in-loop test covers boot, configure, show, clear, telemetry, reconnect, watchdog, and brownout recovery
  • pin map and power-budget documentation is published
  • CI runs native tests and STM32Cube compilation
  • leddy-monorepo, organization docs, and Linear links are updated

Publication readiness

leddy-arduino PR #3 provides deterministic standalone-tree extraction:

bash scripts/extract-controller-repo.sh stm32 /tmp/leddy-stm32

PR #4 adds reproducible leddy-stm32.tar.gz generation, SHA-256 sidecars, and controller-artifacts.json, with CI requiring byte-identical repeated packaging.

PR #5 is now merged and adds the network-ready publisher:

export GH_TOKEN='...'
bash scripts/publish-controller-repos.sh stm32

The publisher creates the missing public org repository through GitHub REST, publishes the extracted tree, initializes main and dev, keeps the PAT environment-only, and refuses to overwrite a repository that already contains branches. All five PR #5 CI jobs passed.

The replacement PAT was exercised against this path from the current runtime. It fails before authentication at DNS resolution (curl: (6) Could not resolve host: api.github.com), confirming the remaining publication blocker is outbound network reachability. Physical Nucleo/HUB75 validation remains a separate acceptance gate after repository publication.

Existing implementation

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions