feat(examples): ESP32-C3 Super Mini blinky — fallback demo for bare C3 labs#442
Open
w1ne wants to merge 1 commit into
Open
feat(examples): ESP32-C3 Super Mini blinky — fallback demo for bare C3 labs#442w1ne wants to merge 1 commit into
w1ne wants to merge 1 commit into
Conversation
…re C3 labs The Playground has no prod compiler, so a shared/agent lab only runs from a pre-built binary. Bare esp32c3-supermini labs had none, so every C3 lab opened from the hosted MCP died with "Cannot run: no firmware". This adds the canonical GPIO8 blink example whose committed ELF the Playground can fall back to (app-side wiring lands separately). Drives the plain R/W GPIO_OUT/GPIO_ENABLE registers (silicon-valid) because the C3 gpio block is the declarative register file without W1TS/W1TC side effects. The e2e test also pins rv32 C.JAL decoding: the blinky is small enough that the linker emits a compressed jal from _start to main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.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.
Why
Hosted MCP / shared Playground labs only run from a pre-built binary (prod has no compiler). Bare
esp32c3-superminilabs had none, so every C3 lab opened from ChatGPT died with "Cannot run ESP32-C3 Super Mini: no firmware".What
examples/esp32c3-blinky: bare-metal rv32imc GPIO8 (user LED) blink with UART narration, reusing the Leo example'sstartup.S/c3.ld/c3_uart. Committed ELF so no toolchain is needed to consume it.GPIO_OUT/GPIO_ENABLEregisters (silicon-valid) because the C3 gpio block is the declarative register file without W1TS/W1TC side effects.test-blink.yamlscenario +e2e_esp32c3_blinky.rs: asserts boot banner, several LED ON/OFF transitions, andGPIO_ENABLEbit 8. Also pins rv32 C.JAL decoding — the blinky is small enough that the linker emits a compressedjalfrom_starttomain(the pre-esp32c3: RISC-V rom-boot + RV32C decode fixes + WiFi MAC RE #254 decoder bug class would send it into unmapped flash; none of the existing examples exercise it).Verification
cargo test -p labwired-cli --test e2e_esp32c3_blinky→ pass🤖 Generated with Claude Code