diff options
43 files changed, 141 insertions, 88 deletions
diff --git a/.github/ci/build-nightly.sh b/.github/ci/build-nightly.sh index 2d7c4db3f..257d7ebd3 100755 --- a/.github/ci/build-nightly.sh +++ b/.github/ci/build-nightly.sh | |||
| @@ -23,7 +23,7 @@ fi | |||
| 23 | hashtime restore /ci/cache/filetime.json || true | 23 | hashtime restore /ci/cache/filetime.json || true |
| 24 | hashtime save /ci/cache/filetime.json | 24 | hashtime save /ci/cache/filetime.json |
| 25 | 25 | ||
| 26 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 280829ad163f1444999468a57d28fb7c412babbe | 26 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 3ca80f7065acbe0b69b7da463fab60e744f9de79 |
| 27 | 27 | ||
| 28 | ./ci-nightly.sh | 28 | ./ci-nightly.sh |
| 29 | 29 | ||
diff --git a/.github/ci/build-xtensa.sh b/.github/ci/build-xtensa.sh index b6626639d..339e28467 100755 --- a/.github/ci/build-xtensa.sh +++ b/.github/ci/build-xtensa.sh | |||
| @@ -25,7 +25,7 @@ fi | |||
| 25 | hashtime restore /ci/cache/filetime.json || true | 25 | hashtime restore /ci/cache/filetime.json || true |
| 26 | hashtime save /ci/cache/filetime.json | 26 | hashtime save /ci/cache/filetime.json |
| 27 | 27 | ||
| 28 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 280829ad163f1444999468a57d28fb7c412babbe | 28 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 3ca80f7065acbe0b69b7da463fab60e744f9de79 |
| 29 | 29 | ||
| 30 | ./ci-xtensa.sh | 30 | ./ci-xtensa.sh |
| 31 | 31 | ||
diff --git a/.github/ci/build.sh b/.github/ci/build.sh index 59bcefed6..d7201aedb 100755 --- a/.github/ci/build.sh +++ b/.github/ci/build.sh | |||
| @@ -28,7 +28,7 @@ fi | |||
| 28 | hashtime restore /ci/cache/filetime.json || true | 28 | hashtime restore /ci/cache/filetime.json || true |
| 29 | hashtime save /ci/cache/filetime.json | 29 | hashtime save /ci/cache/filetime.json |
| 30 | 30 | ||
| 31 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 280829ad163f1444999468a57d28fb7c412babbe | 31 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 3ca80f7065acbe0b69b7da463fab60e744f9de79 |
| 32 | 32 | ||
| 33 | ./ci.sh | 33 | ./ci.sh |
| 34 | 34 | ||
diff --git a/.github/ci/crlf.sh b/.github/ci/crlf.sh deleted file mode 100755 index 69838ce88..000000000 --- a/.github/ci/crlf.sh +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | ## on push branch~=gh-readonly-queue/main/.* | ||
| 3 | ## on pull_request | ||
| 4 | |||
| 5 | set -euo pipefail | ||
| 6 | |||
| 7 | FILES_WITH_CRLF=$(find ! -path "./.git/*" -not -type d | xargs file -N | (grep " CRLF " || true)) | ||
| 8 | |||
| 9 | if [ -z "$FILES_WITH_CRLF" ]; then | ||
| 10 | echo -e "No files with CRLF endings found." | ||
| 11 | exit 0 | ||
| 12 | else | ||
| 13 | NR_FILES=$(echo "$FILES_WITH_CRLF" | wc -l) | ||
| 14 | echo -e "ERROR: Found ${NR_FILES} files with CRLF endings." | ||
| 15 | echo "$FILES_WITH_CRLF" | ||
| 16 | exit "$NR_FILES" | ||
| 17 | fi | ||
diff --git a/.github/ci/doc.sh b/.github/ci/doc.sh index 876c261a1..70ce110d1 100755 --- a/.github/ci/doc.sh +++ b/.github/ci/doc.sh | |||
| @@ -9,62 +9,14 @@ set -euxo pipefail | |||
| 9 | export RUSTUP_HOME=/ci/cache/rustup | 9 | export RUSTUP_HOME=/ci/cache/rustup |
| 10 | export CARGO_HOME=/ci/cache/cargo | 10 | export CARGO_HOME=/ci/cache/cargo |
| 11 | export CARGO_TARGET_DIR=/ci/cache/target | 11 | export CARGO_TARGET_DIR=/ci/cache/target |
| 12 | export BUILDER_THREADS=4 | 12 | export PATH=$CARGO_HOME/bin:$PATH |
| 13 | export BUILDER_COMPRESS=true | ||
| 14 | mv rust-toolchain-nightly.toml rust-toolchain.toml | 13 | mv rust-toolchain-nightly.toml rust-toolchain.toml |
| 15 | 14 | ||
| 16 | # force rustup to download the toolchain before starting building. | 15 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 3ca80f7065acbe0b69b7da463fab60e744f9de79 |
| 17 | # Otherwise, the docs builder is running multiple instances of cargo rustdoc concurrently. | ||
| 18 | # They all see the toolchain is not installed and try to install it in parallel | ||
| 19 | # which makes rustup very sad | ||
| 20 | rustc --version > /dev/null | ||
| 21 | 16 | ||
| 22 | docserver build -i ./embassy-boot -o webroot/crates/embassy-boot/git.zup | 17 | cargo embassy-devtool doc -o webroot |
| 23 | docserver build -i ./embassy-boot-nrf -o webroot/crates/embassy-boot-nrf/git.zup | ||
| 24 | docserver build -i ./embassy-boot-rp -o webroot/crates/embassy-boot-rp/git.zup | ||
| 25 | docserver build -i ./embassy-boot-stm32 -o webroot/crates/embassy-boot-stm32/git.zup | ||
| 26 | docserver build -i ./embassy-embedded-hal -o webroot/crates/embassy-embedded-hal/git.zup | ||
| 27 | docserver build -i ./embassy-executor -o webroot/crates/embassy-executor/git.zup | ||
| 28 | docserver build -i ./embassy-futures -o webroot/crates/embassy-futures/git.zup | ||
| 29 | docserver build -i ./embassy-nrf -o webroot/crates/embassy-nrf/git.zup | ||
| 30 | docserver build -i ./embassy-rp -o webroot/crates/embassy-rp/git.zup | ||
| 31 | docserver build -i ./embassy-mspm0 -o webroot/crates/embassy-mspm0/git.zup | ||
| 32 | docserver build -i ./embassy-nxp -o webroot/crates/embassy-nxp/git.zup | ||
| 33 | docserver build -i ./embassy-sync -o webroot/crates/embassy-sync/git.zup | ||
| 34 | docserver build -i ./cyw43 -o webroot/crates/cyw43/git.zup | ||
| 35 | docserver build -i ./cyw43-pio -o webroot/crates/cyw43-pio/git.zup | ||
| 36 | docserver build -i ./embassy-stm32-wpan -o webroot/crates/embassy-stm32-wpan/git.zup --output-static webroot/static | ||
| 37 | |||
| 38 | docserver build -i ./embassy-time -o webroot/crates/embassy-time/git.zup | ||
| 39 | docserver build -i ./embassy-time-driver -o webroot/crates/embassy-time-driver/git.zup | ||
| 40 | docserver build -i ./embassy-time-queue-utils -o webroot/crates/embassy-time-queue-utils/git.zup | ||
| 41 | |||
| 42 | docserver build -i ./embassy-usb -o webroot/crates/embassy-usb/git.zup | ||
| 43 | docserver build -i ./embassy-usb-dfu -o webroot/crates/embassy-usb-dfu/git.zup | ||
| 44 | docserver build -i ./embassy-usb-driver -o webroot/crates/embassy-usb-driver/git.zup | ||
| 45 | docserver build -i ./embassy-usb-logger -o webroot/crates/embassy-usb-logger/git.zup | ||
| 46 | docserver build -i ./embassy-usb-synopsys-otg -o webroot/crates/embassy-usb-synopsys-otg/git.zup | ||
| 47 | |||
| 48 | docserver build -i ./embassy-net -o webroot/crates/embassy-net/git.zup | ||
| 49 | docserver build -i ./embassy-net-nrf91 -o webroot/crates/embassy-net-nrf91/git.zup | ||
| 50 | docserver build -i ./embassy-net-driver -o webroot/crates/embassy-net-driver/git.zup | ||
| 51 | docserver build -i ./embassy-net-driver-channel -o webroot/crates/embassy-net-driver-channel/git.zup | ||
| 52 | docserver build -i ./embassy-net-wiznet -o webroot/crates/embassy-net-wiznet/git.zup | ||
| 53 | docserver build -i ./embassy-net-ppp -o webroot/crates/embassy-net-ppp/git.zup | ||
| 54 | docserver build -i ./embassy-net-tuntap -o webroot/crates/embassy-net-tuntap/git.zup | ||
| 55 | docserver build -i ./embassy-net-enc28j60 -o webroot/crates/embassy-net-enc28j60/git.zup | ||
| 56 | docserver build -i ./embassy-net-esp-hosted -o webroot/crates/embassy-net-esp-hosted/git.zup | ||
| 57 | docserver build -i ./embassy-net-adin1110 -o webroot/crates/embassy-net-adin1110/git.zup | ||
| 58 | 18 | ||
| 59 | export KUBECONFIG=/ci/secrets/kubeconfig.yml | 19 | export KUBECONFIG=/ci/secrets/kubeconfig.yml |
| 60 | POD=$(kubectl -n embassy get po -l app=docserver -o jsonpath={.items[0].metadata.name}) | 20 | POD=$(kubectl -n embassy get po -l app=docserver -o jsonpath={.items[0].metadata.name}) |
| 61 | kubectl cp webroot/crates $POD:/data | 21 | kubectl cp webroot/crates $POD:/data |
| 62 | kubectl cp webroot/static $POD:/data | 22 | kubectl cp webroot/static $POD:/data |
| 63 | |||
| 64 | # build and upload stm32 last | ||
| 65 | # so that it doesn't prevent other crates from getting docs updates when it breaks. | ||
| 66 | |||
| 67 | rm -rf webroot | ||
| 68 | docserver build -i ./embassy-stm32 -o webroot/crates/embassy-stm32/git.zup | ||
| 69 | POD=$(kubectl -n embassy get po -l app=docserver -o jsonpath={.items[0].metadata.name}) | ||
| 70 | kubectl cp webroot/crates $POD:/data | ||
diff --git a/.github/ci/janitor.sh b/.github/ci/janitor.sh new file mode 100755 index 000000000..bd04f47fc --- /dev/null +++ b/.github/ci/janitor.sh | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | ## on push branch~=gh-readonly-queue/main/.* | ||
| 3 | ## on pull_request | ||
| 4 | |||
| 5 | set -euo pipefail | ||
| 6 | |||
| 7 | export RUSTUP_HOME=/ci/cache/rustup | ||
| 8 | export CARGO_HOME=/ci/cache/cargo | ||
| 9 | export CARGO_TARGET_DIR=/ci/cache/target | ||
| 10 | export PATH=$CARGO_HOME/bin:$PATH | ||
| 11 | |||
| 12 | cargo install --git https://github.com/embassy-rs/cargo-embassy-devtool --locked --rev 3ca80f7065acbe0b69b7da463fab60e744f9de79 | ||
| 13 | |||
| 14 | cargo embassy-devtool check-crlf | ||
| 15 | cargo embassy-devtool check-manifest | ||
diff --git a/cyw43-pio/Cargo.toml b/cyw43-pio/Cargo.toml index 40dd02f61..6ab5c453e 100644 --- a/cyw43-pio/Cargo.toml +++ b/cyw43-pio/Cargo.toml | |||
| @@ -15,6 +15,9 @@ embassy-rp = { version = "0.8.0", path = "../embassy-rp" } | |||
| 15 | fixed = "1.23.1" | 15 | fixed = "1.23.1" |
| 16 | defmt = { version = "1.0.1", optional = true } | 16 | defmt = { version = "1.0.1", optional = true } |
| 17 | 17 | ||
| 18 | [features] | ||
| 19 | defmt = ["dep:defmt"] | ||
| 20 | |||
| 18 | [package.metadata.embassy] | 21 | [package.metadata.embassy] |
| 19 | build = [ | 22 | build = [ |
| 20 | {target = "thumbv6m-none-eabi", features = ["embassy-rp/rp2040"]}, | 23 | {target = "thumbv6m-none-eabi", features = ["embassy-rp/rp2040"]}, |
diff --git a/embassy-boot-nrf/Cargo.toml b/embassy-boot-nrf/Cargo.toml index 3b631ef0c..49dff061a 100644 --- a/embassy-boot-nrf/Cargo.toml +++ b/embassy-boot-nrf/Cargo.toml | |||
| @@ -52,6 +52,7 @@ defmt = [ | |||
| 52 | "embassy-boot/defmt", | 52 | "embassy-boot/defmt", |
| 53 | "embassy-nrf/defmt", | 53 | "embassy-nrf/defmt", |
| 54 | ] | 54 | ] |
| 55 | log = ["dep:log"] | ||
| 55 | softdevice = [ | 56 | softdevice = [ |
| 56 | "nrf-softdevice-mbr", | 57 | "dep:nrf-softdevice-mbr", |
| 57 | ] | 58 | ] |
diff --git a/embassy-boot/Cargo.toml b/embassy-boot/Cargo.toml index ed0242c13..a18438c81 100644 --- a/embassy-boot/Cargo.toml +++ b/embassy-boot/Cargo.toml | |||
| @@ -45,6 +45,8 @@ critical-section = { version = "1.1.1", features = ["std"] } | |||
| 45 | ed25519-dalek = { version = "2", default-features = false, features = ["std", "rand_core", "digest"] } | 45 | ed25519-dalek = { version = "2", default-features = false, features = ["std", "rand_core", "digest"] } |
| 46 | 46 | ||
| 47 | [features] | 47 | [features] |
| 48 | defmt = ["dep:defmt"] | ||
| 49 | log = ["dep:log"] | ||
| 48 | ed25519-dalek = ["dep:ed25519-dalek", "_verify"] | 50 | ed25519-dalek = ["dep:ed25519-dalek", "_verify"] |
| 49 | ed25519-salty = ["dep:salty", "_verify"] | 51 | ed25519-salty = ["dep:salty", "_verify"] |
| 50 | flash-erase-zero = [] | 52 | flash-erase-zero = [] |
diff --git a/embassy-embedded-hal/Cargo.toml b/embassy-embedded-hal/Cargo.toml index a66e01717..8b8122567 100644 --- a/embassy-embedded-hal/Cargo.toml +++ b/embassy-embedded-hal/Cargo.toml | |||
| @@ -25,6 +25,7 @@ src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-embed | |||
| 25 | target = "x86_64-unknown-linux-gnu" | 25 | target = "x86_64-unknown-linux-gnu" |
| 26 | 26 | ||
| 27 | [features] | 27 | [features] |
| 28 | defmt = ["dep:defmt"] | ||
| 28 | time = ["dep:embassy-time"] | 29 | time = ["dep:embassy-time"] |
| 29 | 30 | ||
| 30 | [dependencies] | 31 | [dependencies] |
diff --git a/embassy-executor/Cargo.toml b/embassy-executor/Cargo.toml index f6dce5c0e..61d060630 100644 --- a/embassy-executor/Cargo.toml +++ b/embassy-executor/Cargo.toml | |||
| @@ -123,6 +123,12 @@ rustversion = "1.0.21" | |||
| 123 | ## Enable nightly-only features | 123 | ## Enable nightly-only features |
| 124 | nightly = ["embassy-executor-macros/nightly"] | 124 | nightly = ["embassy-executor-macros/nightly"] |
| 125 | 125 | ||
| 126 | ## Enable defmt logging | ||
| 127 | defmt = ["dep:defmt"] | ||
| 128 | |||
| 129 | ## Enable log logging | ||
| 130 | log = ["dep:log"] | ||
| 131 | |||
| 126 | # Enables turbo wakers, which requires patching core. Not surfaced in the docs by default due to | 132 | # Enables turbo wakers, which requires patching core. Not surfaced in the docs by default due to |
| 127 | # being an complicated advanced and undocumented feature. | 133 | # being an complicated advanced and undocumented feature. |
| 128 | # See: https://github.com/embassy-rs/embassy/pull/1263 | 134 | # See: https://github.com/embassy-rs/embassy/pull/1263 |
diff --git a/embassy-executor/tests/ui/spawn_nonsend.stderr b/embassy-executor/tests/ui/spawn_nonsend.stderr index 25bd7d78d..5a3131602 100644 --- a/embassy-executor/tests/ui/spawn_nonsend.stderr +++ b/embassy-executor/tests/ui/spawn_nonsend.stderr | |||
| @@ -9,7 +9,7 @@ warning: unused import: `core::future::Future` | |||
| 9 | error[E0277]: `*mut ()` cannot be sent between threads safely | 9 | error[E0277]: `*mut ()` cannot be sent between threads safely |
| 10 | --> tests/ui/spawn_nonsend.rs:13:13 | 10 | --> tests/ui/spawn_nonsend.rs:13:13 |
| 11 | | | 11 | | |
| 12 | 7 | #[embassy_executor::task] | 12 | 7 | #[embassy_executor::task] |
| 13 | | ------------------------- within this `impl Sized` | 13 | | ------------------------- within this `impl Sized` |
| 14 | ... | 14 | ... |
| 15 | 13 | s.spawn(task(core::ptr::null_mut()).unwrap()); | 15 | 13 | s.spawn(task(core::ptr::null_mut()).unwrap()); |
| @@ -21,7 +21,7 @@ error[E0277]: `*mut ()` cannot be sent between threads safely | |||
| 21 | note: required because it's used within this closure | 21 | note: required because it's used within this closure |
| 22 | --> tests/ui/spawn_nonsend.rs:7:1 | 22 | --> tests/ui/spawn_nonsend.rs:7:1 |
| 23 | | | 23 | | |
| 24 | 7 | #[embassy_executor::task] | 24 | 7 | #[embassy_executor::task] |
| 25 | | ^^^^^^^^^^^^^^^^^^^^^^^^^ | 25 | | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 26 | note: required because it appears within the type `impl Sized` | 26 | note: required because it appears within the type `impl Sized` |
| 27 | --> src/raw/mod.rs | 27 | --> src/raw/mod.rs |
| @@ -31,7 +31,7 @@ note: required because it appears within the type `impl Sized` | |||
| 31 | note: required because it appears within the type `impl Sized` | 31 | note: required because it appears within the type `impl Sized` |
| 32 | --> tests/ui/spawn_nonsend.rs:7:1 | 32 | --> tests/ui/spawn_nonsend.rs:7:1 |
| 33 | | | 33 | | |
| 34 | 7 | #[embassy_executor::task] | 34 | 7 | #[embassy_executor::task] |
| 35 | | ^^^^^^^^^^^^^^^^^^^^^^^^^ | 35 | | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 36 | note: required by a bound in `SendSpawner::spawn` | 36 | note: required by a bound in `SendSpawner::spawn` |
| 37 | --> src/spawner.rs | 37 | --> src/spawner.rs |
diff --git a/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr b/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr index d987a4b95..033395584 100644 --- a/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr +++ b/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr | |||
| @@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::rea | |||
| 4 | 7 | (&x as *const i32).read(); | 4 | 7 | (&x as *const i32).read(); |
| 5 | | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function | 5 | | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function |
| 6 | | | 6 | | |
| 7 | = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html> | 7 | = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html> |
| 8 | = note: consult the function's documentation for information on how to avoid undefined behavior | 8 | = note: consult the function's documentation for information on how to avoid undefined behavior |
| 9 | note: an unsafe function restricts its caller, but its body is safe by default | 9 | note: an unsafe function restricts its caller, but its body is safe by default |
| 10 | --> tests/ui/unsafe_op_in_unsafe_task.rs:5:1 | 10 | --> tests/ui/unsafe_op_in_unsafe_task.rs:5:1 |
diff --git a/embassy-futures/Cargo.toml b/embassy-futures/Cargo.toml index 2d62b28e5..07d5219cf 100644 --- a/embassy-futures/Cargo.toml +++ b/embassy-futures/Cargo.toml | |||
| @@ -26,3 +26,7 @@ features = ["defmt"] | |||
| 26 | [dependencies] | 26 | [dependencies] |
| 27 | defmt = { version = "1.0.1", optional = true } | 27 | defmt = { version = "1.0.1", optional = true } |
| 28 | log = { version = "0.4.14", optional = true } | 28 | log = { version = "0.4.14", optional = true } |
| 29 | |||
| 30 | [features] | ||
| 31 | defmt = ["dep:defmt"] | ||
| 32 | log = ["dep:log"] | ||
diff --git a/embassy-hal-internal/Cargo.toml b/embassy-hal-internal/Cargo.toml index b4c52ccfa..11dcc2466 100644 --- a/embassy-hal-internal/Cargo.toml +++ b/embassy-hal-internal/Cargo.toml | |||
| @@ -14,6 +14,9 @@ categories = [ | |||
| 14 | 14 | ||
| 15 | [features] | 15 | [features] |
| 16 | 16 | ||
| 17 | defmt = ["dep:defmt"] | ||
| 18 | log = ["dep:log"] | ||
| 19 | |||
| 17 | # Define the number of NVIC priority bits. | 20 | # Define the number of NVIC priority bits. |
| 18 | prio-bits-0 = [] | 21 | prio-bits-0 = [] |
| 19 | prio-bits-1 = [] | 22 | prio-bits-1 = [] |
diff --git a/embassy-imxrt/Cargo.toml b/embassy-imxrt/Cargo.toml index 8a9c1252e..7561640dd 100644 --- a/embassy-imxrt/Cargo.toml +++ b/embassy-imxrt/Cargo.toml | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | name = "embassy-imxrt" | 2 | name = "embassy-imxrt" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "Embassy Hardware Abstraction Layer (HAL) for the IMXRT microcontroller" | 6 | description = "Embassy Hardware Abstraction Layer (HAL) for the IMXRT microcontroller" |
| 7 | keywords = ["embedded", "async", "imxrt", "rt600", "embedded-hal"] | 7 | keywords = ["embedded", "async", "imxrt", "rt600", "embedded-hal"] |
| 8 | categories = ["embedded", "hardware-support", "no-std", "asynchronous"] | 8 | categories = ["embedded", "hardware-support", "no-std", "asynchronous"] |
diff --git a/embassy-net-driver-channel/Cargo.toml b/embassy-net-driver-channel/Cargo.toml index cf498c59f..1e40c2d87 100644 --- a/embassy-net-driver-channel/Cargo.toml +++ b/embassy-net-driver-channel/Cargo.toml | |||
| @@ -28,3 +28,7 @@ log = { version = "0.4.14", optional = true } | |||
| 28 | embassy-sync = { version = "0.7.2", path = "../embassy-sync" } | 28 | embassy-sync = { version = "0.7.2", path = "../embassy-sync" } |
| 29 | embassy-futures = { version = "0.1.2", path = "../embassy-futures" } | 29 | embassy-futures = { version = "0.1.2", path = "../embassy-futures" } |
| 30 | embassy-net-driver = { version = "0.2.0", path = "../embassy-net-driver" } | 30 | embassy-net-driver = { version = "0.2.0", path = "../embassy-net-driver" } |
| 31 | |||
| 32 | [features] | ||
| 33 | defmt = ["dep:defmt"] | ||
| 34 | log = ["dep:log"] | ||
diff --git a/embassy-net-driver/Cargo.toml b/embassy-net-driver/Cargo.toml index 34bc6c91a..a36e412ad 100644 --- a/embassy-net-driver/Cargo.toml +++ b/embassy-net-driver/Cargo.toml | |||
| @@ -23,3 +23,6 @@ features = ["defmt"] | |||
| 23 | 23 | ||
| 24 | [dependencies] | 24 | [dependencies] |
| 25 | defmt = { version = "1.0.1", optional = true } | 25 | defmt = { version = "1.0.1", optional = true } |
| 26 | |||
| 27 | [features] | ||
| 28 | defmt = ["dep:defmt"] | ||
diff --git a/embassy-net-enc28j60/Cargo.toml b/embassy-net-enc28j60/Cargo.toml index a3e3285a3..e7bad118b 100644 --- a/embassy-net-enc28j60/Cargo.toml +++ b/embassy-net-enc28j60/Cargo.toml | |||
| @@ -19,6 +19,10 @@ embassy-futures = { version = "0.1.2", path = "../embassy-futures" } | |||
| 19 | defmt = { version = "1.0.1", optional = true } | 19 | defmt = { version = "1.0.1", optional = true } |
| 20 | log = { version = "0.4.14", optional = true } | 20 | log = { version = "0.4.14", optional = true } |
| 21 | 21 | ||
| 22 | [features] | ||
| 23 | defmt = ["dep:defmt", "embassy-net-driver/defmt"] | ||
| 24 | log = ["dep:log"] | ||
| 25 | |||
| 22 | [package.metadata.embassy_docs] | 26 | [package.metadata.embassy_docs] |
| 23 | src_base = "https://github.com/embassy-rs/embassy/blob/embassy-net-enc28j60-v$VERSION/embassy-net-enc28j60/src/" | 27 | src_base = "https://github.com/embassy-rs/embassy/blob/embassy-net-enc28j60-v$VERSION/embassy-net-enc28j60/src/" |
| 24 | src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-net-enc28j60/src/" | 28 | src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-net-enc28j60/src/" |
diff --git a/embassy-net-wiznet/Cargo.toml b/embassy-net-wiznet/Cargo.toml index 36c349df1..6e6dccebd 100644 --- a/embassy-net-wiznet/Cargo.toml +++ b/embassy-net-wiznet/Cargo.toml | |||
| @@ -17,6 +17,9 @@ embassy-time = { version = "0.5.0", path = "../embassy-time" } | |||
| 17 | embassy-futures = { version = "0.1.2", path = "../embassy-futures" } | 17 | embassy-futures = { version = "0.1.2", path = "../embassy-futures" } |
| 18 | defmt = { version = "1.0.1", optional = true } | 18 | defmt = { version = "1.0.1", optional = true } |
| 19 | 19 | ||
| 20 | [features] | ||
| 21 | defmt = ["dep:defmt", "embassy-net-driver-channel/defmt"] | ||
| 22 | |||
| 20 | [package.metadata.embassy_docs] | 23 | [package.metadata.embassy_docs] |
| 21 | src_base = "https://github.com/embassy-rs/embassy/blob/embassy-net-wiznet-v$VERSION/embassy-net-wiznet/src/" | 24 | src_base = "https://github.com/embassy-rs/embassy/blob/embassy-net-wiznet-v$VERSION/embassy-net-wiznet/src/" |
| 22 | src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-net-wiznet/src/" | 25 | src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-net-wiznet/src/" |
diff --git a/embassy-net/Cargo.toml b/embassy-net/Cargo.toml index 61a2c858a..31ce7e9a6 100644 --- a/embassy-net/Cargo.toml +++ b/embassy-net/Cargo.toml | |||
| @@ -53,6 +53,8 @@ features = ["defmt", "tcp", "udp", "raw", "dns", "icmp", "dhcpv4", "proto-ipv6", | |||
| 53 | [features] | 53 | [features] |
| 54 | ## Enable defmt | 54 | ## Enable defmt |
| 55 | defmt = ["dep:defmt", "smoltcp/defmt", "embassy-net-driver/defmt", "embassy-time/defmt", "heapless/defmt-03", "defmt?/ip_in_core"] | 55 | defmt = ["dep:defmt", "smoltcp/defmt", "embassy-net-driver/defmt", "embassy-time/defmt", "heapless/defmt-03", "defmt?/ip_in_core"] |
| 56 | ## Enable log | ||
| 57 | log = ["dep:log"] | ||
| 56 | 58 | ||
| 57 | ## Trace all raw received and transmitted packets using defmt or log. | 59 | ## Trace all raw received and transmitted packets using defmt or log. |
| 58 | packet-trace = [] | 60 | packet-trace = [] |
diff --git a/embassy-nrf/CHANGELOG.md b/embassy-nrf/CHANGELOG.md index 7c783c2d4..0fedf9360 100644 --- a/embassy-nrf/CHANGELOG.md +++ b/embassy-nrf/CHANGELOG.md | |||
| @@ -12,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 12 | - changed: Add embassy-net-driver-channel implementation for IEEE 802.15.4 | 12 | - changed: Add embassy-net-driver-channel implementation for IEEE 802.15.4 |
| 13 | - changed: add persist() method for gpio and ppi | 13 | - changed: add persist() method for gpio and ppi |
| 14 | - added: basic RTC driver | 14 | - added: basic RTC driver |
| 15 | - changed: add persist() method for gpio, gpiote, timer and ppi | ||
| 16 | - changed: impl Drop for Timer | ||
| 15 | 17 | ||
| 16 | ## 0.7.0 - 2025-08-26 | 18 | ## 0.7.0 - 2025-08-26 |
| 17 | 19 | ||
diff --git a/embassy-nrf/Cargo.toml b/embassy-nrf/Cargo.toml index 4afd28fbd..1af633500 100644 --- a/embassy-nrf/Cargo.toml +++ b/embassy-nrf/Cargo.toml | |||
| @@ -66,6 +66,8 @@ time = ["dep:embassy-time", "embassy-embedded-hal/time"] | |||
| 66 | 66 | ||
| 67 | ## Enable defmt | 67 | ## Enable defmt |
| 68 | defmt = ["dep:defmt", "embassy-hal-internal/defmt", "embassy-sync/defmt", "embassy-usb-driver/defmt", "embassy-embedded-hal/defmt"] | 68 | defmt = ["dep:defmt", "embassy-hal-internal/defmt", "embassy-sync/defmt", "embassy-usb-driver/defmt", "embassy-embedded-hal/defmt"] |
| 69 | ## Enable log | ||
| 70 | log = ["dep:log"] | ||
| 69 | 71 | ||
| 70 | ## Reexport the PAC for the currently enabled chip at `embassy_nrf::pac` (unstable) | 72 | ## Reexport the PAC for the currently enabled chip at `embassy_nrf::pac` (unstable) |
| 71 | unstable-pac = [] | 73 | unstable-pac = [] |
diff --git a/embassy-nrf/src/gpiote.rs b/embassy-nrf/src/gpiote.rs index d169b49f9..43e43f0bf 100644 --- a/embassy-nrf/src/gpiote.rs +++ b/embassy-nrf/src/gpiote.rs | |||
| @@ -193,6 +193,15 @@ pub struct InputChannel<'d> { | |||
| 193 | pin: Input<'d>, | 193 | pin: Input<'d>, |
| 194 | } | 194 | } |
| 195 | 195 | ||
| 196 | impl InputChannel<'static> { | ||
| 197 | /// Persist the channel's configuration for the rest of the program's lifetime. This method | ||
| 198 | /// should be preferred over [`core::mem::forget()`] because the `'static` bound prevents | ||
| 199 | /// accidental reuse of the underlying peripheral. | ||
| 200 | pub fn persist(self) { | ||
| 201 | core::mem::forget(self); | ||
| 202 | } | ||
| 203 | } | ||
| 204 | |||
| 196 | impl<'d> Drop for InputChannel<'d> { | 205 | impl<'d> Drop for InputChannel<'d> { |
| 197 | fn drop(&mut self) { | 206 | fn drop(&mut self) { |
| 198 | let g = regs(); | 207 | let g = regs(); |
| @@ -263,6 +272,15 @@ pub struct OutputChannel<'d> { | |||
| 263 | _pin: Output<'d>, | 272 | _pin: Output<'d>, |
| 264 | } | 273 | } |
| 265 | 274 | ||
| 275 | impl OutputChannel<'static> { | ||
| 276 | /// Persist the channel's configuration for the rest of the program's lifetime. This method | ||
| 277 | /// should be preferred over [`core::mem::forget()`] because the `'static` bound prevents | ||
| 278 | /// accidental reuse of the underlying peripheral. | ||
| 279 | pub fn persist(self) { | ||
| 280 | core::mem::forget(self); | ||
| 281 | } | ||
| 282 | } | ||
| 283 | |||
| 266 | impl<'d> Drop for OutputChannel<'d> { | 284 | impl<'d> Drop for OutputChannel<'d> { |
| 267 | fn drop(&mut self) { | 285 | fn drop(&mut self) { |
| 268 | let g = regs(); | 286 | let g = regs(); |
diff --git a/embassy-nrf/src/timer.rs b/embassy-nrf/src/timer.rs index de2875765..5d6afe49b 100644 --- a/embassy-nrf/src/timer.rs +++ b/embassy-nrf/src/timer.rs | |||
| @@ -104,7 +104,7 @@ impl<'d, T: Instance> Timer<'d, T> { | |||
| 104 | Self::new_inner(timer, true) | 104 | Self::new_inner(timer, true) |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | fn new_inner(timer: Peri<'d, T>, _is_counter: bool) -> Self { | 107 | fn new_inner(timer: Peri<'d, T>, is_counter: bool) -> Self { |
| 108 | let regs = T::regs(); | 108 | let regs = T::regs(); |
| 109 | 109 | ||
| 110 | let this = Self { _p: timer }; | 110 | let this = Self { _p: timer }; |
| @@ -114,7 +114,7 @@ impl<'d, T: Instance> Timer<'d, T> { | |||
| 114 | this.stop(); | 114 | this.stop(); |
| 115 | 115 | ||
| 116 | regs.mode().write(|w| { | 116 | regs.mode().write(|w| { |
| 117 | w.set_mode(match _is_counter { | 117 | w.set_mode(match is_counter { |
| 118 | #[cfg(not(feature = "_nrf51"))] | 118 | #[cfg(not(feature = "_nrf51"))] |
| 119 | true => vals::Mode::LOW_POWER_COUNTER, | 119 | true => vals::Mode::LOW_POWER_COUNTER, |
| 120 | #[cfg(feature = "_nrf51")] | 120 | #[cfg(feature = "_nrf51")] |
| @@ -218,6 +218,21 @@ impl<'d, T: Instance> Timer<'d, T> { | |||
| 218 | } | 218 | } |
| 219 | } | 219 | } |
| 220 | 220 | ||
| 221 | impl<T: Instance> Timer<'static, T> { | ||
| 222 | /// Persist the timer's configuration for the rest of the program's lifetime. This method | ||
| 223 | /// should be preferred over [`core::mem::forget()`] because the `'static` bound prevents | ||
| 224 | /// accidental reuse of the underlying peripheral. | ||
| 225 | pub fn persist(self) { | ||
| 226 | core::mem::forget(self); | ||
| 227 | } | ||
| 228 | } | ||
| 229 | |||
| 230 | impl<'d, T: Instance> Drop for Timer<'d, T> { | ||
| 231 | fn drop(&mut self) { | ||
| 232 | self.stop(); | ||
| 233 | } | ||
| 234 | } | ||
| 235 | |||
| 221 | /// A representation of a timer's Capture/Compare (CC) register. | 236 | /// A representation of a timer's Capture/Compare (CC) register. |
| 222 | /// | 237 | /// |
| 223 | /// A CC register holds a 32-bit value. | 238 | /// A CC register holds a 32-bit value. |
diff --git a/embassy-nxp/Cargo.toml b/embassy-nxp/Cargo.toml index 455915f29..073fdabe4 100644 --- a/embassy-nxp/Cargo.toml +++ b/embassy-nxp/Cargo.toml | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | name = "embassy-nxp" | 2 | name = "embassy-nxp" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | ||
| 5 | 6 | ||
| 6 | publish = false | 7 | publish = false |
| 7 | 8 | ||
diff --git a/embassy-rp/Cargo.toml b/embassy-rp/Cargo.toml index 101914a36..f6b0900f2 100644 --- a/embassy-rp/Cargo.toml +++ b/embassy-rp/Cargo.toml | |||
| @@ -45,6 +45,10 @@ rt = [ "rp-pac/rt" ] | |||
| 45 | 45 | ||
| 46 | ## Enable [defmt support](https://docs.rs/defmt) and enables `defmt` debug-log messages and formatting in embassy drivers. | 46 | ## Enable [defmt support](https://docs.rs/defmt) and enables `defmt` debug-log messages and formatting in embassy drivers. |
| 47 | defmt = ["dep:defmt", "embassy-usb-driver/defmt", "embassy-hal-internal/defmt"] | 47 | defmt = ["dep:defmt", "embassy-usb-driver/defmt", "embassy-hal-internal/defmt"] |
| 48 | ## Enable log support | ||
| 49 | log = ["dep:log"] | ||
| 50 | ## Enable chrono support | ||
| 51 | chrono = ["dep:chrono"] | ||
| 48 | 52 | ||
| 49 | ## Configure the [`critical-section`](https://docs.rs/critical-section) crate to use an implementation that is safe for multicore use on rp2040. | 53 | ## Configure the [`critical-section`](https://docs.rs/critical-section) crate to use an implementation that is safe for multicore use on rp2040. |
| 50 | critical-section-impl = ["critical-section/restore-state-u8"] | 54 | critical-section-impl = ["critical-section/restore-state-u8"] |
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index 6cd8ed262..369fabc50 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml | |||
| @@ -225,6 +225,10 @@ defmt = [ | |||
| 225 | "embassy-usb-synopsys-otg/defmt", | 225 | "embassy-usb-synopsys-otg/defmt", |
| 226 | "stm32-metapac/defmt" | 226 | "stm32-metapac/defmt" |
| 227 | ] | 227 | ] |
| 228 | ## Use log for logging | ||
| 229 | log = ["dep:log"] | ||
| 230 | ## Enable chrono support | ||
| 231 | chrono = ["dep:chrono"] | ||
| 228 | 232 | ||
| 229 | exti = [] | 233 | exti = [] |
| 230 | low-power = [ "dep:embassy-executor", "embassy-executor?/arch-cortex-m", "time" ] | 234 | low-power = [ "dep:embassy-executor", "embassy-executor?/arch-cortex-m", "time" ] |
diff --git a/embassy-sync/Cargo.toml b/embassy-sync/Cargo.toml index 6494da727..64d76baba 100644 --- a/embassy-sync/Cargo.toml +++ b/embassy-sync/Cargo.toml | |||
| @@ -27,6 +27,8 @@ src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-sync/ | |||
| 27 | target = "thumbv7em-none-eabi" | 27 | target = "thumbv7em-none-eabi" |
| 28 | 28 | ||
| 29 | [features] | 29 | [features] |
| 30 | defmt = ["dep:defmt"] | ||
| 31 | log = ["dep:log"] | ||
| 30 | std = [] | 32 | std = [] |
| 31 | turbowakers = [] | 33 | turbowakers = [] |
| 32 | 34 | ||
diff --git a/embassy-sync/tests/ui/sync_impl/lazy_lock_function.stderr b/embassy-sync/tests/ui/sync_impl/lazy_lock_function.stderr index daf79ad28..417fb8e31 100644 --- a/embassy-sync/tests/ui/sync_impl/lazy_lock_function.stderr +++ b/embassy-sync/tests/ui/sync_impl/lazy_lock_function.stderr | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | error[E0277]: `*const u8` cannot be shared between threads safely | 1 | error[E0277]: `*const u8` cannot be shared between threads safely |
| 2 | --> tests/ui/sync_impl/lazy_lock_function.rs:8:16 | 2 | --> tests/ui/sync_impl/lazy_lock_function.rs:8:16 |
| 3 | | | 3 | | |
| 4 | 6 | let closure_capturing_non_sync_variable = || unsafe { core::ptr::read(x_ptr) }; | 4 | 6 | let closure_capturing_non_sync_variable = || unsafe { core::ptr::read(x_ptr) }; |
| 5 | | -- within this `{closure@$DIR/tests/ui/sync_impl/lazy_lock_function.rs:6:47: 6:49}` | 5 | | -- within this `{closure@$DIR/tests/ui/sync_impl/lazy_lock_function.rs:6:47: 6:49}` |
| 6 | 7 | | 6 | 7 | |
| 7 | 8 | check_sync(LazyLock::new(closure_capturing_non_sync_variable)); | 7 | 8 | check_sync(LazyLock::new(closure_capturing_non_sync_variable)); |
| 8 | | ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be shared between threads safely | 8 | | ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be shared between threads safely |
| 9 | | | | 9 | | | |
| 10 | | required by a bound introduced by this call | 10 | | required by a bound introduced by this call |
| @@ -14,7 +14,7 @@ error[E0277]: `*const u8` cannot be shared between threads safely | |||
| 14 | note: required because it's used within this closure | 14 | note: required because it's used within this closure |
| 15 | --> tests/ui/sync_impl/lazy_lock_function.rs:6:47 | 15 | --> tests/ui/sync_impl/lazy_lock_function.rs:6:47 |
| 16 | | | 16 | | |
| 17 | 6 | let closure_capturing_non_sync_variable = || unsafe { core::ptr::read(x_ptr) }; | 17 | 6 | let closure_capturing_non_sync_variable = || unsafe { core::ptr::read(x_ptr) }; |
| 18 | | ^^ | 18 | | ^^ |
| 19 | = note: required for `embassy_sync::lazy_lock::LazyLock<u8, {closure@$DIR/tests/ui/sync_impl/lazy_lock_function.rs:6:47: 6:49}>` to implement `Sync` | 19 | = note: required for `embassy_sync::lazy_lock::LazyLock<u8, {closure@$DIR/tests/ui/sync_impl/lazy_lock_function.rs:6:47: 6:49}>` to implement `Sync` |
| 20 | note: required by a bound in `check_sync` | 20 | note: required by a bound in `check_sync` |
diff --git a/embassy-time/Cargo.toml b/embassy-time/Cargo.toml index 2d7c3c1fa..bad6ecf97 100644 --- a/embassy-time/Cargo.toml +++ b/embassy-time/Cargo.toml | |||
| @@ -31,6 +31,11 @@ target = "x86_64-unknown-linux-gnu" | |||
| 31 | features = ["defmt", "std"] | 31 | features = ["defmt", "std"] |
| 32 | 32 | ||
| 33 | [features] | 33 | [features] |
| 34 | ## Enable defmt | ||
| 35 | defmt = ["dep:defmt"] | ||
| 36 | ## Enable log | ||
| 37 | log = ["dep:log"] | ||
| 38 | |||
| 34 | ## Display the time since startup next to defmt log messages. | 39 | ## Display the time since startup next to defmt log messages. |
| 35 | ## At most 1 `defmt-timestamp-uptime-*` feature can be used. | 40 | ## At most 1 `defmt-timestamp-uptime-*` feature can be used. |
| 36 | ## `defmt-timestamp-uptime` is provided for backwards compatibility (provides the same format as `uptime-us`). | 41 | ## `defmt-timestamp-uptime` is provided for backwards compatibility (provides the same format as `uptime-us`). |
diff --git a/embassy-usb-dfu/Cargo.toml b/embassy-usb-dfu/Cargo.toml index 4a65c6895..e70ab970e 100644 --- a/embassy-usb-dfu/Cargo.toml +++ b/embassy-usb-dfu/Cargo.toml | |||
| @@ -49,6 +49,9 @@ esp32c3-hal = { version = "0.13.0", optional = true, default-features = false } | |||
| 49 | dfu = [] | 49 | dfu = [] |
| 50 | application = [] | 50 | application = [] |
| 51 | defmt = ["dep:defmt", "embassy-boot/defmt", "embassy-usb/defmt"] | 51 | defmt = ["dep:defmt", "embassy-boot/defmt", "embassy-usb/defmt"] |
| 52 | log = ["dep:log"] | ||
| 53 | cortex-m = ["dep:cortex-m"] | ||
| 54 | esp32c3-hal = ["dep:esp32c3-hal"] | ||
| 52 | ed25519-dalek = ["embassy-boot/ed25519-dalek", "_verify"] | 55 | ed25519-dalek = ["embassy-boot/ed25519-dalek", "_verify"] |
| 53 | ed25519-salty = ["embassy-boot/ed25519-salty", "_verify"] | 56 | ed25519-salty = ["embassy-boot/ed25519-salty", "_verify"] |
| 54 | 57 | ||
diff --git a/embassy-usb-driver/Cargo.toml b/embassy-usb-driver/Cargo.toml index de69bf694..6e4c31273 100644 --- a/embassy-usb-driver/Cargo.toml +++ b/embassy-usb-driver/Cargo.toml | |||
| @@ -21,3 +21,6 @@ features = ["defmt"] | |||
| 21 | [dependencies] | 21 | [dependencies] |
| 22 | embedded-io-async = "0.6.1" | 22 | embedded-io-async = "0.6.1" |
| 23 | defmt = { version = "1", optional = true } | 23 | defmt = { version = "1", optional = true } |
| 24 | |||
| 25 | [features] | ||
| 26 | defmt = ["dep:defmt"] | ||
diff --git a/embassy-usb-synopsys-otg/Cargo.toml b/embassy-usb-synopsys-otg/Cargo.toml index ec518ac93..61b14a215 100644 --- a/embassy-usb-synopsys-otg/Cargo.toml +++ b/embassy-usb-synopsys-otg/Cargo.toml | |||
| @@ -23,3 +23,7 @@ embassy-usb-driver = { version = "0.2.0", path = "../embassy-usb-driver" } | |||
| 23 | 23 | ||
| 24 | defmt = { version = "1.0.1", optional = true } | 24 | defmt = { version = "1.0.1", optional = true } |
| 25 | log = { version = "0.4.14", optional = true } | 25 | log = { version = "0.4.14", optional = true } |
| 26 | |||
| 27 | [features] | ||
| 28 | defmt = ["dep:defmt", "embassy-usb-driver/defmt"] | ||
| 29 | log = ["dep:log"] | ||
diff --git a/embassy-usb/Cargo.toml b/embassy-usb/Cargo.toml index e309eec93..bff48c4a6 100644 --- a/embassy-usb/Cargo.toml +++ b/embassy-usb/Cargo.toml | |||
| @@ -31,6 +31,7 @@ features = ["defmt", "usbd-hid"] | |||
| 31 | 31 | ||
| 32 | [features] | 32 | [features] |
| 33 | defmt = ["dep:defmt", "embassy-usb-driver/defmt"] | 33 | defmt = ["dep:defmt", "embassy-usb-driver/defmt"] |
| 34 | log = ["dep:log"] | ||
| 34 | usbd-hid = ["dep:usbd-hid", "dep:ssmarshal"] | 35 | usbd-hid = ["dep:usbd-hid", "dep:ssmarshal"] |
| 35 | default = ["usbd-hid"] | 36 | default = ["usbd-hid"] |
| 36 | 37 | ||
diff --git a/examples/mimxrt1011/Cargo.toml b/examples/mimxrt1011/Cargo.toml index 488f3167b..3038f5d4d 100644 --- a/examples/mimxrt1011/Cargo.toml +++ b/examples/mimxrt1011/Cargo.toml | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | name = "embassy-imxrt1011-examples" | 2 | name = "embassy-imxrt1011-examples" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT or Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | publish = false | 6 | publish = false |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
diff --git a/examples/mimxrt1062-evk/Cargo.toml b/examples/mimxrt1062-evk/Cargo.toml index ec6c5c872..82a24490d 100644 --- a/examples/mimxrt1062-evk/Cargo.toml +++ b/examples/mimxrt1062-evk/Cargo.toml | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | name = "embassy-imxrt1062-evk-examples" | 2 | name = "embassy-imxrt1062-evk-examples" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT or Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | publish = false | 6 | publish = false |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
diff --git a/examples/mimxrt6/Cargo.toml b/examples/mimxrt6/Cargo.toml index 28de9d273..3f7ad8485 100644 --- a/examples/mimxrt6/Cargo.toml +++ b/examples/mimxrt6/Cargo.toml | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | name = "embassy-imxrt-examples" | 2 | name = "embassy-imxrt-examples" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT or Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | publish = false | 6 | publish = false |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
diff --git a/rust-toolchain-nightly.toml b/rust-toolchain-nightly.toml index 411cc6946..d3e88c7e1 100644 --- a/rust-toolchain-nightly.toml +++ b/rust-toolchain-nightly.toml | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | [toolchain] | 1 | [toolchain] |
| 2 | channel = "nightly-2025-06-29" | 2 | channel = "nightly-2025-08-05" |
| 3 | components = [ "rust-src", "rustfmt", "llvm-tools", "miri" ] | 3 | components = [ "rust-src", "rustfmt", "llvm-tools", "miri" ] |
| 4 | targets = [ | 4 | targets = [ |
| 5 | "thumbv7em-none-eabi", | 5 | "thumbv7em-none-eabi", |
diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e24864037..5d925c934 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | [toolchain] | 1 | [toolchain] |
| 2 | channel = "1.88" | 2 | channel = "1.90" |
| 3 | components = [ "rust-src", "rustfmt", "llvm-tools" ] | 3 | components = [ "rust-src", "rustfmt", "llvm-tools" ] |
| 4 | targets = [ | 4 | targets = [ |
| 5 | "thumbv7em-none-eabi", | 5 | "thumbv7em-none-eabi", |
diff --git a/tests/perf-client/Cargo.toml b/tests/perf-client/Cargo.toml index 581b60d6f..c426fdd74 100644 --- a/tests/perf-client/Cargo.toml +++ b/tests/perf-client/Cargo.toml | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | name = "perf-client" | 2 | name = "perf-client" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | ||
| 5 | publish = false | 6 | publish = false |
| 6 | 7 | ||
| 7 | [dependencies] | 8 | [dependencies] |
diff --git a/tests/perf-server/Cargo.toml b/tests/perf-server/Cargo.toml index 22614a33a..f048eade2 100644 --- a/tests/perf-server/Cargo.toml +++ b/tests/perf-server/Cargo.toml | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | name = "perf-server" | 2 | name = "perf-server" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | ||
| 5 | publish = false | 6 | publish = false |
| 6 | 7 | ||
| 7 | [dependencies] | 8 | [dependencies] |
diff --git a/tests/utils/Cargo.toml b/tests/utils/Cargo.toml index f76feaa20..ddb990e0f 100644 --- a/tests/utils/Cargo.toml +++ b/tests/utils/Cargo.toml | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | name = "test-utils" | 2 | name = "test-utils" |
| 3 | version = "0.1.0" | 3 | version = "0.1.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | ||
| 5 | publish = false | 6 | publish = false |
| 6 | 7 | ||
| 7 | [dependencies] | 8 | [dependencies] |
