Skip to content

Add payload build system#20

Merged
mindstormpro merged 1 commit into
payload-read-diagnosticsfrom
payload-build-system
May 10, 2026
Merged

Add payload build system#20
mindstormpro merged 1 commit into
payload-read-diagnosticsfrom
payload-build-system

Conversation

@ericlewis

Copy link
Copy Markdown
Collaborator

Summary

  • adds a tested Python packager that writes the PlayBrew /payload.bin header
  • builds a hello payload through CMake as hello-payload.elf, hello-payload.raw, and hello-payload.bin
  • runs Python tests in the release workflow, packages hello-payload.bin, and documents payload building and troubleshooting

Why

People should not have to hand-make payload.bin. This adds a small build path that creates the file the loader expects, like using a recipe instead of guessing the ingredients.

Verification

  • python3 -m unittest discover -s tests
  • python3 -m py_compile combine.py generate_start.py firmware_addresses.py tools/package_payload.py tests/test_combine.py tests/test_package_payload.py
  • cmake -S . -B /tmp/playbrew-payload-system-final -G Ninja && cmake --build /tmp/playbrew-payload-system-final
  • checked hello-payload.bin header: size=87, entry=0, total=95
  • parsed .github/workflows/release.yml as YAML
  • git diff --check HEAD~2..HEAD

This adds a small way to build a real payload.bin instead of guessing the file by hand. The helper puts the right 8-byte header in front of the raw payload, like putting a label on a package so the loader knows how big it is and where to start.

CMake now builds hello-payload.bin as an example payload, CI runs the Python tests, releases include the example payload, and the README explains how to build and package custom payloads.
@ericlewis ericlewis added documentation Improvements or additions to documentation enhancement New feature or request build Build system and compile changes tooling Developer scripts and workflow tooling release Release packaging and publishing labels May 10, 2026
@mindstormpro mindstormpro merged commit 1ecb369 into payload-read-diagnostics May 10, 2026
1 check passed
@mindstormpro mindstormpro deleted the payload-build-system branch May 30, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Build system and compile changes documentation Improvements or additions to documentation enhancement New feature or request release Release packaging and publishing tooling Developer scripts and workflow tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants