-
-
Notifications
You must be signed in to change notification settings - Fork 39
feat(example): Add RP2040-Zero example with EPD #187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 5 commits
53cb884
b403fc2
74cccc2
a13a667
f1fb01d
a90a543
ab25141
f2c0787
774bd15
38f57a6
b4c0311
4c0deff
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -89,14 +89,23 @@ jobs: | |
| dir: examples/lilygo-epd47-demo | ||
| target: "" | ||
| setup_xtensa: true | ||
| # RP2040-Zero EPD demo | ||
| # Run from its own dir so .cargo/config.toml supplies | ||
| # build-std = ["core", "alloc"], required for thumbv6m-none-eabi. | ||
| # kasuari (via ratatui) uses alloc::sync + fetch_add which are | ||
| # unavailable on thumbv6m without build-std. | ||
| - name: rp2040-1in54-epd-example | ||
| dir: examples/rp2040-1in54-epd-example | ||
| target: "thumbv6m-none-eabi" | ||
| setup_xtensa: false | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Rust (stable) | ||
| if: ${{ matrix.project.setup_xtensa == false }} | ||
| uses: dtolnay/rust-toolchain@stable | ||
| with: | ||
| components: clippy | ||
| components: clippy, rust-src | ||
orhun marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - name: Setup Xtensa toolchain (ESP-IDF) | ||
| if: ${{ matrix.project.setup_xtensa == true }} | ||
| uses: esp-rs/xtensa-toolchain@v1.6.0 | ||
|
|
@@ -145,10 +154,10 @@ jobs: | |
| - thumbv7em-none-eabi | ||
| - thumbv7em-none-eabihf | ||
| - thumbv7m-none-eabi | ||
| # no alloc::sync, required by kasuari | ||
| # - thumbv6m-none-eabi | ||
| # - riscv32imc-unknown-none-elf # esp32c2, esp32c3 | ||
| # - riscv32imac-unknown-none-elf # esp32c6, esp32h2 | ||
| # thumbv6m-none-eabi is excluded here: kasuari (pulled in by ratatui) | ||
| # uses alloc::sync::Arc which requires target_has_atomic = "ptr", | ||
| # which thumbv6m does not have. alloc::sync does not exist on this | ||
| # target regardless of build-std. Validated instead by build-rp2040. | ||
Vaishnav-Sabari-Girish marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| toolchain: ["1.86.0", "stable"] | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
|
|
@@ -160,6 +169,27 @@ jobs: | |
| - uses: Swatinem/rust-cache@v2 | ||
| - run: cargo build --release --target ${{ matrix.target }} | ||
|
|
||
| # thumbv6m-none-eabi is validated by building the rp2040 example from its | ||
|
||
| # own directory. Its .cargo/config.toml already provides: | ||
| # build-std = ["core", "alloc"] | ||
| # build-std-features = ["panic_immediate_abort"] | ||
| # and the example uses portable-atomic + rp2040-hal's critical-section-impl | ||
| # to provide software atomics, which is what makes kasuari compile correctly | ||
| # on this target. This is the only supported approach for thumbv6m. | ||
| build-rp2040: | ||
| name: build [no-std] thumbv6m-none-eabi (rp2040 example) | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| - uses: dtolnay/rust-toolchain@stable | ||
| with: | ||
| target: thumbv6m-none-eabi | ||
| components: rust-src | ||
| - uses: Swatinem/rust-cache@v2 | ||
| - name: Build rp2040 example | ||
| working-directory: examples/rp2040-1in54-epd-example | ||
| run: cargo build --release | ||
|
|
||
| build-espidf-std: | ||
| name: build [std] ${{ matrix.target }} | ||
| strategy: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,3 +3,4 @@ | |
| /.idea | ||
| .DS_Store | ||
| /.vscode | ||
| *.uf2 | ||
Uh oh!
There was an error while loading. Please reload this page.