Template
Compare commits
1
Commits
cf36c515fc
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13e4e1c893 |
@@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
name: Lint & Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main, master ]
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
name: Linting
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Project
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Setup Rust
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: thumbv8m.main-none-eabihf
|
||||||
|
components: rustfmt, clippy
|
||||||
|
|
||||||
|
- name: Install cargo sort
|
||||||
|
uses: taiki-e/install-action@v2
|
||||||
|
with:
|
||||||
|
tool: cargo-sort
|
||||||
|
|
||||||
|
- name: Install cargo machete
|
||||||
|
uses: taiki-e/install-action@v2
|
||||||
|
with:
|
||||||
|
tool: cargo-machete
|
||||||
|
|
||||||
|
- name: Check formatting
|
||||||
|
run: cargo fmt --check
|
||||||
|
|
||||||
|
- name: Check import sorting
|
||||||
|
run: cargo sort --grouped --check --check-format
|
||||||
|
|
||||||
|
- name: Check for unused dependencies
|
||||||
|
run: cargo machete
|
||||||
|
|
||||||
|
- name: Clippy for RP2350 ARM Cores
|
||||||
|
run: |
|
||||||
|
cargo clippy --target thumbv8m.main-none-eabihf -- -D warnings
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: lint
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Project
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Setup Rust
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: thumbv8m.main-none-eabihf
|
||||||
|
|
||||||
|
- name: Build for RP2350 ARM Cores
|
||||||
|
run: |
|
||||||
|
cargo build --target thumbv8m.main-none-eabihf --release --locked
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+30
-6
@@ -3,8 +3,36 @@ name = "embassy_template"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
|
# This lists off all of the crates that come DEFAULT with the template
|
||||||
|
# This is so machete doesn't catch them in projects that do not use the crates provided by the template. Since many are required once you go beyond getting started, a few others are nice to haves like heapless and static_cell.
|
||||||
|
[package.metadata.cargo-machete]
|
||||||
|
ignored = [
|
||||||
|
"cortex-m",
|
||||||
|
"cortex-m-rt",
|
||||||
|
"critical-section",
|
||||||
|
"defmt",
|
||||||
|
"defmt-rtt",
|
||||||
|
"embassy-embedded-hal",
|
||||||
|
"embassy-executor",
|
||||||
|
"embassy-futures",
|
||||||
|
"embassy-rp",
|
||||||
|
"embassy-sync",
|
||||||
|
"embassy-sync",
|
||||||
|
"embassy-time",
|
||||||
|
"embassy-usb",
|
||||||
|
"embedded-hal-async",
|
||||||
|
"embedded-io-async",
|
||||||
|
"heapless",
|
||||||
|
"panic-probe",
|
||||||
|
"static_cell",
|
||||||
|
]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
cortex-m = { version = "0.7.6", features = ["inline-asm"] }
|
||||||
|
cortex-m-rt = "0.7.0"
|
||||||
|
critical-section = "1.1"
|
||||||
defmt = "1.1.1"
|
defmt = "1.1.1"
|
||||||
|
defmt-rtt = "1.3.0"
|
||||||
embassy-embedded-hal = { version = "0.6.0", features = ["defmt"] }
|
embassy-embedded-hal = { version = "0.6.0", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.10.0", features = ["defmt"] }
|
embassy-executor = { version = "0.10.0", features = ["defmt"] }
|
||||||
embassy-futures = { version = "0.1.2", features = ["defmt"] }
|
embassy-futures = { version = "0.1.2", features = ["defmt"] }
|
||||||
@@ -12,12 +40,8 @@ embassy-rp = { version = "0.10.0", features = ["defmt", "unstable-pac", "time-dr
|
|||||||
embassy-sync = { version = "0.8.0", features = ["defmt"] }
|
embassy-sync = { version = "0.8.0", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.5.1", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.5.1", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-usb = { version = "0.6.0", features = ["defmt"] }
|
embassy-usb = { version = "0.6.0", features = ["defmt"] }
|
||||||
cortex-m = { version = "0.7.6", features = ["inline-asm"] }
|
|
||||||
cortex-m-rt = "0.7.0"
|
|
||||||
critical-section = "1.1"
|
|
||||||
panic-probe = { version = "1.0.0", features = ["print-defmt"] }
|
|
||||||
heapless = "0.9"
|
|
||||||
embedded-hal-async = "1.0"
|
embedded-hal-async = "1.0"
|
||||||
embedded-io-async = { version = "0.7.0", features = ["defmt"] }
|
embedded-io-async = { version = "0.7.0", features = ["defmt"] }
|
||||||
defmt-rtt = "1.3.0"
|
heapless = "0.9"
|
||||||
|
panic-probe = { version = "1.0.0", features = ["print-defmt"] }
|
||||||
static_cell = "2.1.1"
|
static_cell = "2.1.1"
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
|
|||||||
entry = "cortex_m_rt::entry"
|
entry = "cortex_m_rt::entry"
|
||||||
)]
|
)]
|
||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
let p = embassy_rp::init(Default::default());
|
let _p = embassy_rp::init(Default::default());
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
info!("led on!");
|
info!("led on!");
|
||||||
|
|||||||
Reference in New Issue
Block a user