Repository navigation
64kb cartridges, sdkconfig changes, new python tools for WiFi and Store settings, removed old scripts - #39
Merged
Merged
Conversation
Commit 596bcf9 made CONFIG_PRG32_CART_RAM_EXTENDED (64 KiB) the default firmware profile, but the host tools still assumed 32 KiB, so `cartridge build` and `qemu upload` rejected carts between 32 and 64 KiB. - env_variables: DEFAULT_CART_RAM_KIB = 64 (matches Kconfig PRG32_CART_RAM_KIB); FALLBACK_CART_RAM_SIZE derives from it. - Add --cart-ram-kib (16-128) to `cartridge build` (default 64) and `qemu upload` (default: CONFIG_PRG32_CART_RAM_KIB from the sdkconfig next to --flash, else 64). Use 32 for the classroom profile. - Restore inject_cartridge() in upload_qemu.py and fix stale imports that stopped prg32.qemu.load_cart, start and run_qemu from importing. - Convert the random and sprite-render tests to unittest.TestCase so they run without pytest; add a test that imports every prg32 module. - Document host-side profile matching in docs/usage/profiles.md and link it from cartridges.md, framework_manual.md and tooling.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- audio_synth.c: decode sample_id with the documented PRG32_AUDIO_SYNTH_ID layout (resonance 11:10, cutoff 9:6, pulse 5:2). The old decoder capped cutoff at index 7 and could produce resonance 4..7, reading past the four-entry damping table. Filter indices are now masked defensively. - audio_tracker.c: only waiting consumes ticks; events with delta 0 run in the same tick so chords are no longer arpeggiated. A per-step cap of 256 events protects against malformed delta-0 JUMP loops. - Add host-compiled C tests for both fixes. - Document the behaviour change and compatibility impact (no ABI change). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r. Small changes to AGENTS.md and README.
…rences in the documentation. Added .pytest_cache to gitignore. Small changes to README.
…, PRG32_WIFI_BOOT_MODE_STA, PRG32_WIFI_SSID and PRG32_WIFI_PASSWORD in KConfig. These can be modified with the python tooling with new "prg32 wifi" and "prg32 store" commands. The sdkconfig.defaults has now been separated from sdkconfig.defaults.esp32c6 to allow base defaults to apply to all configurations. The commands use a local "sdkconfig.local" file that is untracked to store the wifi and store settings for future local builds. CMakeLists was updated for this new build process.
…sed for validation by agents and humans. Edits to CONTRIBUTING andd moved some docs to more relevant places.
…ore settings, now configurable via python tooling with prg32 wifi and prg32 store. Moved many default options between Kconfig and sdkconfig default profiles; many settings can now be edited with menuconfig. Small changes to AGENTS.md.
…ope.it/". Added certificate bundle for TLS handshake. Fixed the store setup menu which was not accepting input.
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.
This PR: