Compare commits

...
3 Commits
Author SHA1 Message Date
melfely cf36c515fc fix: marked 'p' in main as unusued.
Lint & Build / Linting (pull_request) Successful in 1m52s
Lint & Build / Build (pull_request) Successful in 1m21s
changed 'p' to '_p'
2026-09-22 15:43:28 -05:00
melfely c0012e1c2e fix: Setup machete ignoring all template crates.
Many of these crates would be effectively required once a project starts OR, are very powerful additions. heapless and static_cell are good examples.
2026-09-22 15:41:46 -05:00
melfely a99599110d ci: Added linting file.
Lint & Build / Linting (pull_request) Failing after 1m30s
Lint & Build / Build (pull_request) Skipped
2026-09-22 15:07:01 -05:00
3 changed files with 98 additions and 7 deletions
+67
View File
@@ -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
View File
@@ -3,8 +3,36 @@ name = "embassy_template"
version = "0.1.0"
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]
cortex-m = { version = "0.7.6", features = ["inline-asm"] }
cortex-m-rt = "0.7.0"
critical-section = "1.1"
defmt = "1.1.1"
defmt-rtt = "1.3.0"
embassy-embedded-hal = { version = "0.6.0", features = ["defmt"] }
embassy-executor = { version = "0.10.0", 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-time = { version = "0.5.1", features = ["defmt", "defmt-timestamp-uptime"] }
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-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"
+1 -1
View File
@@ -25,7 +25,7 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
entry = "cortex_m_rt::entry"
)]
async fn main(_spawner: Spawner) {
let p = embassy_rp::init(Default::default());
let _p = embassy_rp::init(Default::default());
loop {
info!("led on!");