diff options
| author | Gerzain Mata <[email protected]> | 2025-07-16 17:14:12 -0700 |
|---|---|---|
| committer | Gerzain Mata <[email protected]> | 2025-07-16 17:14:12 -0700 |
| commit | 6d0927b1746b7f972e9fbf2278aa854a64f4f776 (patch) | |
| tree | 057875552f7273e8e36094a05f0ee2c8e5f8495b | |
| parent | ed64d99a510dab0d2a8c9a1b6bf362a95e5ffd35 (diff) | |
| parent | 3b718b1e4d3aed9953717b460920a7736298a2a8 (diff) | |
Merge branch 'main' into feat/adc4-stm32wba
104 files changed, 413 insertions, 201 deletions
| @@ -155,6 +155,7 @@ cargo batch \ | |||
| 155 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f303c8,defmt,exti,time-driver-any,time \ | 155 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f303c8,defmt,exti,time-driver-any,time \ |
| 156 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f398ve,defmt,exti,time-driver-any,time \ | 156 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f398ve,defmt,exti,time-driver-any,time \ |
| 157 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f378cc,defmt,exti,time-driver-any,time \ | 157 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f378cc,defmt,exti,time-driver-any,time \ |
| 158 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32g0b0ce,defmt,exti,time-driver-any,time \ | ||
| 158 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32g0c1ve,defmt,exti,time-driver-any,time \ | 159 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32g0c1ve,defmt,exti,time-driver-any,time \ |
| 159 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32f217zg,defmt,exti,time-driver-any,time \ | 160 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32f217zg,defmt,exti,time-driver-any,time \ |
| 160 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv8m.main-none-eabihf --features stm32l552ze,dual-bank,defmt,exti,time-driver-any,low-power,time \ | 161 | --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv8m.main-none-eabihf --features stm32l552ze,dual-bank,defmt,exti,time-driver-any,low-power,time \ |
| @@ -372,6 +373,9 @@ rm out/tests/pimoroni-pico-plus-2/adc | |||
| 372 | # temporarily disabled | 373 | # temporarily disabled |
| 373 | rm out/tests/pimoroni-pico-plus-2/pwm | 374 | rm out/tests/pimoroni-pico-plus-2/pwm |
| 374 | 375 | ||
| 376 | # flaky | ||
| 377 | rm out/tests/rpi-pico/pwm | ||
| 378 | |||
| 375 | if [[ -z "${TELEPROBE_TOKEN-}" ]]; then | 379 | if [[ -z "${TELEPROBE_TOKEN-}" ]]; then |
| 376 | echo No teleprobe token found, skipping running HIL tests | 380 | echo No teleprobe token found, skipping running HIL tests |
| 377 | exit | 381 | exit |
diff --git a/cyw43-pio/CHANGELOG.md b/cyw43-pio/CHANGELOG.md index 4d56973df..218271e15 100644 --- a/cyw43-pio/CHANGELOG.md +++ b/cyw43-pio/CHANGELOG.md | |||
| @@ -5,9 +5,14 @@ All notable changes to this project will be documented in this file. | |||
| 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | 7 | ||
| 8 | ## Unreleased | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | ||
| 9 | 10 | ||
| 10 | - Update embassy-rp to 0.4.0 | 11 | ## 0.5.1 - 2025-07-16 |
| 12 | |||
| 13 | ## 0.5.0 - 2025-07-15 | ||
| 14 | |||
| 15 | - Update embassy-rp to 0.5.0 | ||
| 11 | 16 | ||
| 12 | ## 0.3.0 - 2025-01-05 | 17 | ## 0.3.0 - 2025-01-05 |
| 13 | 18 | ||
diff --git a/cyw43-pio/Cargo.toml b/cyw43-pio/Cargo.toml index 93a2e7089..d60793bdc 100644 --- a/cyw43-pio/Cargo.toml +++ b/cyw43-pio/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "cyw43-pio" | 2 | name = "cyw43-pio" |
| 3 | version = "0.4.0" | 3 | version = "0.5.1" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | description = "RP2040 PIO SPI implementation for cyw43" | 5 | description = "RP2040 PIO SPI implementation for cyw43" |
| 6 | keywords = ["embedded", "cyw43", "embassy-net", "embedded-hal-async", "wifi"] | 6 | keywords = ["embedded", "cyw43", "embassy-net", "embedded-hal-async", "wifi"] |
| @@ -10,8 +10,8 @@ repository = "https://github.com/embassy-rs/embassy" | |||
| 10 | documentation = "https://docs.embassy.dev/cyw43-pio" | 10 | documentation = "https://docs.embassy.dev/cyw43-pio" |
| 11 | 11 | ||
| 12 | [dependencies] | 12 | [dependencies] |
| 13 | cyw43 = { version = "0.3.0", path = "../cyw43" } | 13 | cyw43 = { version = "0.4.0", path = "../cyw43" } |
| 14 | embassy-rp = { version = "0.4.0", path = "../embassy-rp" } | 14 | embassy-rp = { version = "0.6.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 | ||
diff --git a/cyw43-pio/release.toml b/cyw43-pio/release.toml new file mode 100644 index 000000000..fb6feaf21 --- /dev/null +++ b/cyw43-pio/release.toml | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | pre-release-replacements = [ | ||
| 2 | {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1}, | ||
| 3 | {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1}, | ||
| 4 | {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## Unreleased - ReleaseDate\n", exactly=1}, | ||
| 5 | ] | ||
diff --git a/cyw43/CHANGELOG.md b/cyw43/CHANGELOG.md index 40a638388..c800e785b 100644 --- a/cyw43/CHANGELOG.md +++ b/cyw43/CHANGELOG.md | |||
| @@ -5,7 +5,14 @@ All notable changes to this project will be documented in this file. | |||
| 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | 7 | ||
| 8 | ## Unreleased | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | ||
| 10 | |||
| 11 | ## 0.4.0 - 2025-07-15 | ||
| 12 | |||
| 13 | - bump embassy-sync to 0.7.0 | ||
| 14 | - bump bt-hci to 0.3.0 | ||
| 15 | - make State::new const fn | ||
| 9 | 16 | ||
| 10 | ## 0.3.0 - 2025-01-05 | 17 | ## 0.3.0 - 2025-01-05 |
| 11 | 18 | ||
diff --git a/cyw43/Cargo.toml b/cyw43/Cargo.toml index c52a653bd..8aef8963c 100644 --- a/cyw43/Cargo.toml +++ b/cyw43/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "cyw43" | 2 | name = "cyw43" |
| 3 | version = "0.3.0" | 3 | version = "0.4.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | description = "Rust driver for the CYW43439 WiFi chip, used in the Raspberry Pi Pico W." | 5 | description = "Rust driver for the CYW43439 WiFi chip, used in the Raspberry Pi Pico W." |
| 6 | keywords = ["embedded", "cyw43", "embassy-net", "embedded-hal-async", "wifi"] | 6 | keywords = ["embedded", "cyw43", "embassy-net", "embedded-hal-async", "wifi"] |
| @@ -21,7 +21,7 @@ firmware-logs = [] | |||
| 21 | embassy-time = { version = "0.4.0", path = "../embassy-time"} | 21 | embassy-time = { version = "0.4.0", path = "../embassy-time"} |
| 22 | embassy-sync = { version = "0.7.0", path = "../embassy-sync"} | 22 | embassy-sync = { version = "0.7.0", path = "../embassy-sync"} |
| 23 | embassy-futures = { version = "0.1.0", path = "../embassy-futures"} | 23 | embassy-futures = { version = "0.1.0", path = "../embassy-futures"} |
| 24 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel"} | 24 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel"} |
| 25 | 25 | ||
| 26 | defmt = { version = "1.0.1", optional = true } | 26 | defmt = { version = "1.0.1", optional = true } |
| 27 | log = { version = "0.4.17", optional = true } | 27 | log = { version = "0.4.17", optional = true } |
diff --git a/cyw43/release.toml b/cyw43/release.toml new file mode 100644 index 000000000..fb6feaf21 --- /dev/null +++ b/cyw43/release.toml | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | pre-release-replacements = [ | ||
| 2 | {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1}, | ||
| 3 | {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1}, | ||
| 4 | {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## Unreleased - ReleaseDate\n", exactly=1}, | ||
| 5 | ] | ||
diff --git a/docs/examples/basic/Cargo.toml b/docs/examples/basic/Cargo.toml index 09fc517e7..c4b72d81a 100644 --- a/docs/examples/basic/Cargo.toml +++ b/docs/examples/basic/Cargo.toml | |||
| @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" | |||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["defmt", "arch-cortex-m", "executor-thread"] } | 9 | embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["defmt", "arch-cortex-m", "executor-thread"] } |
| 10 | embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt"] } |
| 11 | embassy-nrf = { version = "0.4.0", path = "../../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote"] } | 11 | embassy-nrf = { version = "0.5.0", path = "../../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote"] } |
| 12 | 12 | ||
| 13 | defmt = "1.0.1" | 13 | defmt = "1.0.1" |
| 14 | defmt-rtt = "1.0.0" | 14 | defmt-rtt = "1.0.0" |
diff --git a/embassy-boot-nrf/Cargo.toml b/embassy-boot-nrf/Cargo.toml index f5edc0716..1230cbd3b 100644 --- a/embassy-boot-nrf/Cargo.toml +++ b/embassy-boot-nrf/Cargo.toml | |||
| @@ -25,7 +25,7 @@ defmt = { version = "1.0.1", optional = true } | |||
| 25 | log = { version = "0.4.17", optional = true } | 25 | log = { version = "0.4.17", optional = true } |
| 26 | 26 | ||
| 27 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 27 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 28 | embassy-nrf = { version = "0.4.0", path = "../embassy-nrf", default-features = false } | 28 | embassy-nrf = { version = "0.5.0", path = "../embassy-nrf", default-features = false } |
| 29 | embassy-boot = { version = "0.4.0", path = "../embassy-boot" } | 29 | embassy-boot = { version = "0.4.0", path = "../embassy-boot" } |
| 30 | cortex-m = { version = "0.7.6" } | 30 | cortex-m = { version = "0.7.6" } |
| 31 | cortex-m-rt = { version = "0.7" } | 31 | cortex-m-rt = { version = "0.7" } |
diff --git a/embassy-boot-rp/Cargo.toml b/embassy-boot-rp/Cargo.toml index afe5d6691..23d6c7853 100644 --- a/embassy-boot-rp/Cargo.toml +++ b/embassy-boot-rp/Cargo.toml | |||
| @@ -25,7 +25,7 @@ defmt = { version = "1.0.1", optional = true } | |||
| 25 | log = { version = "0.4", optional = true } | 25 | log = { version = "0.4", optional = true } |
| 26 | 26 | ||
| 27 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 27 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 28 | embassy-rp = { version = "0.4.0", path = "../embassy-rp", default-features = false } | 28 | embassy-rp = { version = "0.6.0", path = "../embassy-rp", default-features = false } |
| 29 | embassy-boot = { version = "0.4.0", path = "../embassy-boot" } | 29 | embassy-boot = { version = "0.4.0", path = "../embassy-boot" } |
| 30 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 30 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 31 | 31 | ||
diff --git a/embassy-boot/Cargo.toml b/embassy-boot/Cargo.toml index f12e8e304..281278abb 100644 --- a/embassy-boot/Cargo.toml +++ b/embassy-boot/Cargo.toml | |||
| @@ -28,7 +28,7 @@ defmt = { version = "1.0.1", optional = true } | |||
| 28 | digest = "0.10" | 28 | digest = "0.10" |
| 29 | log = { version = "0.4", optional = true } | 29 | log = { version = "0.4", optional = true } |
| 30 | ed25519-dalek = { version = "2", default-features = false, features = ["digest"], optional = true } | 30 | ed25519-dalek = { version = "2", default-features = false, features = ["digest"], optional = true } |
| 31 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal" } | 31 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal" } |
| 32 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 32 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 33 | embedded-storage = "0.3.1" | 33 | embedded-storage = "0.3.1" |
| 34 | embedded-storage-async = { version = "0.4.1" } | 34 | embedded-storage-async = { version = "0.4.1" } |
diff --git a/embassy-embedded-hal/CHANGELOG.md b/embassy-embedded-hal/CHANGELOG.md index 6f0655adf..04d95415c 100644 --- a/embassy-embedded-hal/CHANGELOG.md +++ b/embassy-embedded-hal/CHANGELOG.md | |||
| @@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 8 | <!-- next-header --> | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | 9 | ## Unreleased - ReleaseDate |
| 10 | 10 | ||
| 11 | ## 0.3.1 - 2025-07-16 | ||
| 12 | |||
| 11 | - `SpiDevice` cancel safety: always set CS pin to high on drop | 13 | - `SpiDevice` cancel safety: always set CS pin to high on drop |
| 12 | - Update `embassy-sync` to v0.7.0 | 14 | - Update `embassy-sync` to v0.7.0 |
| 13 | 15 | ||
diff --git a/embassy-embedded-hal/Cargo.toml b/embassy-embedded-hal/Cargo.toml index 2bc817758..aab6e0f1e 100644 --- a/embassy-embedded-hal/Cargo.toml +++ b/embassy-embedded-hal/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "embassy-embedded-hal" | 2 | name = "embassy-embedded-hal" |
| 3 | version = "0.3.0" | 3 | version = "0.3.1" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "Collection of utilities to use `embedded-hal` and `embedded-storage` traits with Embassy." | 6 | description = "Collection of utilities to use `embedded-hal` and `embedded-storage` traits with Embassy." |
diff --git a/embassy-imxrt/Cargo.toml b/embassy-imxrt/Cargo.toml index a7caa307e..df4687043 100644 --- a/embassy-imxrt/Cargo.toml +++ b/embassy-imxrt/Cargo.toml | |||
| @@ -68,7 +68,7 @@ embassy-time-driver = { version = "0.2", path = "../embassy-time-driver", option | |||
| 68 | embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-utils", optional = true } | 68 | embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-utils", optional = true } |
| 69 | embassy-time = { version = "0.4", path = "../embassy-time", optional = true } | 69 | embassy-time = { version = "0.4", path = "../embassy-time", optional = true } |
| 70 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-3"] } | 70 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-3"] } |
| 71 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal", default-features = false } | 71 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal", default-features = false } |
| 72 | embassy-futures = { version = "0.1.1", path = "../embassy-futures" } | 72 | embassy-futures = { version = "0.1.1", path = "../embassy-futures" } |
| 73 | 73 | ||
| 74 | defmt = { version = "1.0.1", optional = true } | 74 | defmt = { version = "1.0.1", optional = true } |
diff --git a/embassy-mspm0/Cargo.toml b/embassy-mspm0/Cargo.toml index a2ecbc7db..d2adc63d7 100644 --- a/embassy-mspm0/Cargo.toml +++ b/embassy-mspm0/Cargo.toml | |||
| @@ -32,7 +32,7 @@ embassy-time-driver = { version = "0.2", path = "../embassy-time-driver", option | |||
| 32 | embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-utils", optional = true } | 32 | embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-utils", optional = true } |
| 33 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 33 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 34 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-2"] } | 34 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-2"] } |
| 35 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal", default-features = false } | 35 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal", default-features = false } |
| 36 | embassy-executor = { version = "0.7.0", path = "../embassy-executor", optional = true } | 36 | embassy-executor = { version = "0.7.0", path = "../embassy-executor", optional = true } |
| 37 | 37 | ||
| 38 | embedded-hal = { version = "1.0" } | 38 | embedded-hal = { version = "1.0" } |
diff --git a/embassy-net-adin1110/Cargo.toml b/embassy-net-adin1110/Cargo.toml index a620928cb..9cda4dc5b 100644 --- a/embassy-net-adin1110/Cargo.toml +++ b/embassy-net-adin1110/Cargo.toml | |||
| @@ -16,7 +16,7 @@ log = { version = "0.4", default-features = false, optional = true } | |||
| 16 | embedded-hal-1 = { package = "embedded-hal", version = "1.0" } | 16 | embedded-hal-1 = { package = "embedded-hal", version = "1.0" } |
| 17 | embedded-hal-async = { version = "1.0" } | 17 | embedded-hal-async = { version = "1.0" } |
| 18 | embedded-hal-bus = { version = "0.1", features = ["async"] } | 18 | embedded-hal-bus = { version = "0.1", features = ["async"] } |
| 19 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel" } | 19 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel" } |
| 20 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 20 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 21 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 21 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 22 | bitfield = "0.14.0" | 22 | bitfield = "0.14.0" |
diff --git a/embassy-net-driver-channel/CHANGELOG.md b/embassy-net-driver-channel/CHANGELOG.md index a5c81cf4d..1189e50c3 100644 --- a/embassy-net-driver-channel/CHANGELOG.md +++ b/embassy-net-driver-channel/CHANGELOG.md | |||
| @@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 8 | <!-- next-header --> | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | 9 | ## Unreleased - ReleaseDate |
| 10 | 10 | ||
| 11 | ## 0.3.1 - 2025-07-16 | ||
| 12 | |||
| 11 | - Update `embassy-sync` to v0.7.0 | 13 | - Update `embassy-sync` to v0.7.0 |
| 12 | 14 | ||
| 13 | ## 0.3.0 - 2024-08-05 | 15 | ## 0.3.0 - 2024-08-05 |
diff --git a/embassy-net-driver-channel/Cargo.toml b/embassy-net-driver-channel/Cargo.toml index c16c4be74..386d492c6 100644 --- a/embassy-net-driver-channel/Cargo.toml +++ b/embassy-net-driver-channel/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "embassy-net-driver-channel" | 2 | name = "embassy-net-driver-channel" |
| 3 | version = "0.3.0" | 3 | version = "0.3.1" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "High-level channel-based driver for the `embassy-net` async TCP/IP network stack." | 6 | description = "High-level channel-based driver for the `embassy-net` async TCP/IP network stack." |
diff --git a/embassy-net-esp-hosted/Cargo.toml b/embassy-net-esp-hosted/Cargo.toml index dea74ed65..7ccef84e8 100644 --- a/embassy-net-esp-hosted/Cargo.toml +++ b/embassy-net-esp-hosted/Cargo.toml | |||
| @@ -20,7 +20,7 @@ log = { version = "0.4.14", optional = true } | |||
| 20 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 20 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 21 | embassy-sync = { version = "0.7.0", path = "../embassy-sync"} | 21 | embassy-sync = { version = "0.7.0", path = "../embassy-sync"} |
| 22 | embassy-futures = { version = "0.1.0", path = "../embassy-futures"} | 22 | embassy-futures = { version = "0.1.0", path = "../embassy-futures"} |
| 23 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel"} | 23 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel"} |
| 24 | 24 | ||
| 25 | embedded-hal = { version = "1.0" } | 25 | embedded-hal = { version = "1.0" } |
| 26 | embedded-hal-async = { version = "1.0" } | 26 | embedded-hal-async = { version = "1.0" } |
diff --git a/embassy-net-nrf91/Cargo.toml b/embassy-net-nrf91/Cargo.toml index 1c27cabb4..f3c0a0078 100644 --- a/embassy-net-nrf91/Cargo.toml +++ b/embassy-net-nrf91/Cargo.toml | |||
| @@ -23,7 +23,7 @@ cortex-m = "0.7.7" | |||
| 23 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 23 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 24 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 24 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 25 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 25 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 26 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel" } | 26 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel" } |
| 27 | 27 | ||
| 28 | heapless = "0.8" | 28 | heapless = "0.8" |
| 29 | embedded-io = "0.6.1" | 29 | embedded-io = "0.6.1" |
diff --git a/embassy-net-ppp/Cargo.toml b/embassy-net-ppp/Cargo.toml index 0936626eb..b724401c9 100644 --- a/embassy-net-ppp/Cargo.toml +++ b/embassy-net-ppp/Cargo.toml | |||
| @@ -18,7 +18,7 @@ defmt = { version = "1.0.1", optional = true } | |||
| 18 | log = { version = "0.4.14", optional = true } | 18 | log = { version = "0.4.14", optional = true } |
| 19 | 19 | ||
| 20 | embedded-io-async = { version = "0.6.1" } | 20 | embedded-io-async = { version = "0.6.1" } |
| 21 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel" } | 21 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel" } |
| 22 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 22 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 23 | ppproto = { version = "0.2.1"} | 23 | ppproto = { version = "0.2.1"} |
| 24 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 24 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
diff --git a/embassy-net-wiznet/Cargo.toml b/embassy-net-wiznet/Cargo.toml index a06a09302..3ff01f72b 100644 --- a/embassy-net-wiznet/Cargo.toml +++ b/embassy-net-wiznet/Cargo.toml | |||
| @@ -12,7 +12,7 @@ documentation = "https://docs.embassy.dev/embassy-net-wiznet" | |||
| 12 | [dependencies] | 12 | [dependencies] |
| 13 | embedded-hal = { version = "1.0" } | 13 | embedded-hal = { version = "1.0" } |
| 14 | embedded-hal-async = { version = "1.0" } | 14 | embedded-hal-async = { version = "1.0" } |
| 15 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel" } | 15 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel" } |
| 16 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 16 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 17 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 17 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 18 | defmt = { version = "1.0.1", optional = true } | 18 | defmt = { version = "1.0.1", optional = true } |
diff --git a/embassy-nrf/CHANGELOG.md b/embassy-nrf/CHANGELOG.md index 30f29d669..a4cb8ceaf 100644 --- a/embassy-nrf/CHANGELOG.md +++ b/embassy-nrf/CHANGELOG.md | |||
| @@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 8 | <!-- next-header --> | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | 9 | ## Unreleased - ReleaseDate |
| 10 | 10 | ||
| 11 | ## 0.5.0 - 2025-07-16 | ||
| 12 | |||
| 13 | - changed: update to latest embassy-usb-driver | ||
| 14 | |||
| 11 | ## 0.4.1 - 2025-07-14 | 15 | ## 0.4.1 - 2025-07-14 |
| 12 | 16 | ||
| 13 | - changed: nrf52833: configure internal LDO | 17 | - changed: nrf52833: configure internal LDO |
diff --git a/embassy-nrf/Cargo.toml b/embassy-nrf/Cargo.toml index 3e43d3c93..8fa20580d 100644 --- a/embassy-nrf/Cargo.toml +++ b/embassy-nrf/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "embassy-nrf" | 2 | name = "embassy-nrf" |
| 3 | version = "0.4.1" | 3 | version = "0.5.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "Embassy Hardware Abstraction Layer (HAL) for nRF series microcontrollers" | 6 | description = "Embassy Hardware Abstraction Layer (HAL) for nRF series microcontrollers" |
| @@ -145,8 +145,8 @@ embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-util | |||
| 145 | embassy-time = { version = "0.4.0", path = "../embassy-time", optional = true } | 145 | embassy-time = { version = "0.4.0", path = "../embassy-time", optional = true } |
| 146 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 146 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 147 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-3"] } | 147 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-3"] } |
| 148 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal", default-features = false } | 148 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal", default-features = false } |
| 149 | embassy-usb-driver = { version = "0.1.0", path = "../embassy-usb-driver" } | 149 | embassy-usb-driver = { version = "0.2.0", path = "../embassy-usb-driver" } |
| 150 | 150 | ||
| 151 | embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] } | 151 | embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] } |
| 152 | embedded-hal-1 = { package = "embedded-hal", version = "1.0" } | 152 | embedded-hal-1 = { package = "embedded-hal", version = "1.0" } |
diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs index 9d44ae7e6..44990ed85 100644 --- a/embassy-nrf/src/lib.rs +++ b/embassy-nrf/src/lib.rs | |||
| @@ -586,6 +586,8 @@ mod consts { | |||
| 586 | pub const UICR_APPROTECT: *mut u32 = 0x00FF8000 as *mut u32; | 586 | pub const UICR_APPROTECT: *mut u32 = 0x00FF8000 as *mut u32; |
| 587 | pub const UICR_SECUREAPPROTECT: *mut u32 = 0x00FF802C as *mut u32; | 587 | pub const UICR_SECUREAPPROTECT: *mut u32 = 0x00FF802C as *mut u32; |
| 588 | pub const APPROTECT_ENABLED: u32 = 0x0000_0000; | 588 | pub const APPROTECT_ENABLED: u32 = 0x0000_0000; |
| 589 | #[cfg(feature = "_nrf9120")] | ||
| 590 | pub const APPROTECT_DISABLED: u32 = 0x50FA50FA; | ||
| 589 | } | 591 | } |
| 590 | 592 | ||
| 591 | #[cfg(feature = "_nrf5340-app")] | 593 | #[cfg(feature = "_nrf5340-app")] |
| @@ -768,6 +770,28 @@ pub fn init(config: config::Config) -> Peripherals { | |||
| 768 | } | 770 | } |
| 769 | 771 | ||
| 770 | // nothing to do on the nrf9160, debug is allowed by default. | 772 | // nothing to do on the nrf9160, debug is allowed by default. |
| 773 | |||
| 774 | // nrf9151, nrf9161 use the new-style approtect that requires writing a register. | ||
| 775 | #[cfg(feature = "nrf9120-s")] | ||
| 776 | unsafe { | ||
| 777 | let p = pac::APPROTECT_S; | ||
| 778 | |||
| 779 | let res = uicr_write(consts::UICR_APPROTECT, consts::APPROTECT_DISABLED); | ||
| 780 | needs_reset |= res == WriteResult::Written; | ||
| 781 | p.approtect() | ||
| 782 | .disable() | ||
| 783 | .write(|w| w.set_disable(pac::approtect::vals::ApprotectDisableDisable::SW_UNPROTECTED)); | ||
| 784 | |||
| 785 | let res = uicr_write(consts::UICR_SECUREAPPROTECT, consts::APPROTECT_DISABLED); | ||
| 786 | needs_reset |= res == WriteResult::Written; | ||
| 787 | p.secureapprotect() | ||
| 788 | .disable() | ||
| 789 | .write(|w| w.set_disable(pac::approtect::vals::SecureapprotectDisableDisable::SW_UNPROTECTED)); | ||
| 790 | |||
| 791 | // TODO: maybe add workaround for this errata | ||
| 792 | // It uses extra power, not sure how to let the user choose. | ||
| 793 | // https://docs.nordicsemi.com/bundle/errata_nRF9151_Rev1/page/ERR/nRF9151/Rev1/latest/anomaly_151_36.html#anomaly_151_36 | ||
| 794 | } | ||
| 771 | } | 795 | } |
| 772 | config::Debug::Disallowed => { | 796 | config::Debug::Disallowed => { |
| 773 | // TODO: Handle nRF54L | 797 | // TODO: Handle nRF54L |
| @@ -783,6 +807,13 @@ pub fn init(config: config::Config) -> Peripherals { | |||
| 783 | let res = uicr_write(consts::UICR_SECUREAPPROTECT, consts::APPROTECT_ENABLED); | 807 | let res = uicr_write(consts::UICR_SECUREAPPROTECT, consts::APPROTECT_ENABLED); |
| 784 | needs_reset |= res == WriteResult::Written; | 808 | needs_reset |= res == WriteResult::Written; |
| 785 | } | 809 | } |
| 810 | |||
| 811 | #[cfg(feature = "nrf9120-s")] | ||
| 812 | { | ||
| 813 | let p = pac::APPROTECT_S; | ||
| 814 | p.approtect().forceprotect().write(|w| w.set_forceprotect(true)); | ||
| 815 | p.secureapprotect().forceprotect().write(|w| w.set_forceprotect(true)); | ||
| 816 | } | ||
| 786 | } | 817 | } |
| 787 | } | 818 | } |
| 788 | config::Debug::NotConfigured => {} | 819 | config::Debug::NotConfigured => {} |
diff --git a/embassy-nrf/src/usb/mod.rs b/embassy-nrf/src/usb/mod.rs index 6cc1b0111..c6970fc0f 100644 --- a/embassy-nrf/src/usb/mod.rs +++ b/embassy-nrf/src/usb/mod.rs | |||
| @@ -121,10 +121,11 @@ impl<'d, T: Instance, V: VbusDetect + 'd> driver::Driver<'d> for Driver<'d, T, V | |||
| 121 | fn alloc_endpoint_in( | 121 | fn alloc_endpoint_in( |
| 122 | &mut self, | 122 | &mut self, |
| 123 | ep_type: EndpointType, | 123 | ep_type: EndpointType, |
| 124 | ep_addr: Option<EndpointAddress>, | ||
| 124 | packet_size: u16, | 125 | packet_size: u16, |
| 125 | interval_ms: u8, | 126 | interval_ms: u8, |
| 126 | ) -> Result<Self::EndpointIn, driver::EndpointAllocError> { | 127 | ) -> Result<Self::EndpointIn, driver::EndpointAllocError> { |
| 127 | let index = self.alloc_in.allocate(ep_type)?; | 128 | let index = self.alloc_in.allocate(ep_type, ep_addr)?; |
| 128 | let ep_addr = EndpointAddress::from_parts(index, Direction::In); | 129 | let ep_addr = EndpointAddress::from_parts(index, Direction::In); |
| 129 | Ok(Endpoint::new(EndpointInfo { | 130 | Ok(Endpoint::new(EndpointInfo { |
| 130 | addr: ep_addr, | 131 | addr: ep_addr, |
| @@ -137,10 +138,11 @@ impl<'d, T: Instance, V: VbusDetect + 'd> driver::Driver<'d> for Driver<'d, T, V | |||
| 137 | fn alloc_endpoint_out( | 138 | fn alloc_endpoint_out( |
| 138 | &mut self, | 139 | &mut self, |
| 139 | ep_type: EndpointType, | 140 | ep_type: EndpointType, |
| 141 | ep_addr: Option<EndpointAddress>, | ||
| 140 | packet_size: u16, | 142 | packet_size: u16, |
| 141 | interval_ms: u8, | 143 | interval_ms: u8, |
| 142 | ) -> Result<Self::EndpointOut, driver::EndpointAllocError> { | 144 | ) -> Result<Self::EndpointOut, driver::EndpointAllocError> { |
| 143 | let index = self.alloc_out.allocate(ep_type)?; | 145 | let index = self.alloc_out.allocate(ep_type, ep_addr)?; |
| 144 | let ep_addr = EndpointAddress::from_parts(index, Direction::Out); | 146 | let ep_addr = EndpointAddress::from_parts(index, Direction::Out); |
| 145 | Ok(Endpoint::new(EndpointInfo { | 147 | Ok(Endpoint::new(EndpointInfo { |
| 146 | addr: ep_addr, | 148 | addr: ep_addr, |
| @@ -734,7 +736,11 @@ impl Allocator { | |||
| 734 | Self { used: 0 } | 736 | Self { used: 0 } |
| 735 | } | 737 | } |
| 736 | 738 | ||
| 737 | fn allocate(&mut self, ep_type: EndpointType) -> Result<usize, driver::EndpointAllocError> { | 739 | fn allocate( |
| 740 | &mut self, | ||
| 741 | ep_type: EndpointType, | ||
| 742 | ep_addr: Option<EndpointAddress>, | ||
| 743 | ) -> Result<usize, driver::EndpointAllocError> { | ||
| 738 | // Endpoint addresses are fixed in hardware: | 744 | // Endpoint addresses are fixed in hardware: |
| 739 | // - 0x80 / 0x00 - Control EP0 | 745 | // - 0x80 / 0x00 - Control EP0 |
| 740 | // - 0x81 / 0x01 - Bulk/Interrupt EP1 | 746 | // - 0x81 / 0x01 - Bulk/Interrupt EP1 |
| @@ -748,16 +754,37 @@ impl Allocator { | |||
| 748 | 754 | ||
| 749 | // Endpoint directions are allocated individually. | 755 | // Endpoint directions are allocated individually. |
| 750 | 756 | ||
| 751 | let alloc_index = match ep_type { | 757 | let alloc_index = if let Some(addr) = ep_addr { |
| 752 | EndpointType::Isochronous => 8, | 758 | // Use the specified endpoint address |
| 753 | EndpointType::Control => return Err(driver::EndpointAllocError), | 759 | let requested_index = addr.index(); |
| 754 | EndpointType::Interrupt | EndpointType::Bulk => { | 760 | // Validate the requested index based on endpoint type |
| 755 | // Find rightmost zero bit in 1..=7 | 761 | match ep_type { |
| 756 | let ones = (self.used >> 1).trailing_ones() as usize; | 762 | EndpointType::Isochronous => { |
| 757 | if ones >= 7 { | 763 | if requested_index != 8 { |
| 758 | return Err(driver::EndpointAllocError); | 764 | return Err(driver::EndpointAllocError); |
| 765 | } | ||
| 766 | } | ||
| 767 | EndpointType::Control => return Err(driver::EndpointAllocError), | ||
| 768 | EndpointType::Interrupt | EndpointType::Bulk => { | ||
| 769 | if requested_index < 1 || requested_index > 7 { | ||
| 770 | return Err(driver::EndpointAllocError); | ||
| 771 | } | ||
| 772 | } | ||
| 773 | } | ||
| 774 | requested_index | ||
| 775 | } else { | ||
| 776 | // Allocate any available endpoint | ||
| 777 | match ep_type { | ||
| 778 | EndpointType::Isochronous => 8, | ||
| 779 | EndpointType::Control => return Err(driver::EndpointAllocError), | ||
| 780 | EndpointType::Interrupt | EndpointType::Bulk => { | ||
| 781 | // Find rightmost zero bit in 1..=7 | ||
| 782 | let ones = (self.used >> 1).trailing_ones() as usize; | ||
| 783 | if ones >= 7 { | ||
| 784 | return Err(driver::EndpointAllocError); | ||
| 785 | } | ||
| 786 | ones + 1 | ||
| 759 | } | 787 | } |
| 760 | ones + 1 | ||
| 761 | } | 788 | } |
| 762 | }; | 789 | }; |
| 763 | 790 | ||
diff --git a/embassy-rp/CHANGELOG.md b/embassy-rp/CHANGELOG.md index 52bf0038e..36e1ea9b4 100644 --- a/embassy-rp/CHANGELOG.md +++ b/embassy-rp/CHANGELOG.md | |||
| @@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 8 | <!-- next-header --> | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | 9 | ## Unreleased - ReleaseDate |
| 10 | 10 | ||
| 11 | ## 0.6.0 - 2025-07-16 | ||
| 12 | |||
| 13 | - update to latest embassy-usb-driver | ||
| 14 | |||
| 15 | ## 0.5.0 - 2025-07-15 | ||
| 16 | |||
| 11 | - Fix wrong `funcsel` on RP2350 gpout/gpin ([#3975](https://github.com/embassy-rs/embassy/pull/3975)) | 17 | - Fix wrong `funcsel` on RP2350 gpout/gpin ([#3975](https://github.com/embassy-rs/embassy/pull/3975)) |
| 12 | - Fix potential race condition in `ADC::wait_for_ready` ([#4012](https://github.com/embassy-rs/embassy/pull/4012)) | 18 | - Fix potential race condition in `ADC::wait_for_ready` ([#4012](https://github.com/embassy-rs/embassy/pull/4012)) |
| 13 | - `flash`: rename `BOOTROM_BASE` to `BOOTRAM_BASE` ([#4014](https://github.com/embassy-rs/embassy/pull/4014)) | 19 | - `flash`: rename `BOOTROM_BASE` to `BOOTRAM_BASE` ([#4014](https://github.com/embassy-rs/embassy/pull/4014)) |
diff --git a/embassy-rp/Cargo.toml b/embassy-rp/Cargo.toml index f09b32a7a..dcf4e7178 100644 --- a/embassy-rp/Cargo.toml +++ b/embassy-rp/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "embassy-rp" | 2 | name = "embassy-rp" |
| 3 | version = "0.4.0" | 3 | version = "0.6.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "Embassy Hardware Abstraction Layer (HAL) for the Raspberry Pi RP2040 or RP235x microcontroller" | 6 | description = "Embassy Hardware Abstraction Layer (HAL) for the Raspberry Pi RP2040 or RP235x microcontroller" |
| @@ -142,8 +142,8 @@ embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-util | |||
| 142 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 142 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 143 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 143 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 144 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-2"] } | 144 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-2"] } |
| 145 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal" } | 145 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal" } |
| 146 | embassy-usb-driver = { version = "0.1.0", path = "../embassy-usb-driver" } | 146 | embassy-usb-driver = { version = "0.2.0", path = "../embassy-usb-driver" } |
| 147 | atomic-polyfill = "1.0.1" | 147 | atomic-polyfill = "1.0.1" |
| 148 | defmt = { version = "1.0.1", optional = true } | 148 | defmt = { version = "1.0.1", optional = true } |
| 149 | log = { version = "0.4.14", optional = true } | 149 | log = { version = "0.4.14", optional = true } |
diff --git a/embassy-rp/src/i2c.rs b/embassy-rp/src/i2c.rs index a983b7bc3..172193a07 100644 --- a/embassy-rp/src/i2c.rs +++ b/embassy-rp/src/i2c.rs | |||
| @@ -76,6 +76,7 @@ impl Default for Config { | |||
| 76 | pub const FIFO_SIZE: u8 = 16; | 76 | pub const FIFO_SIZE: u8 = 16; |
| 77 | 77 | ||
| 78 | /// I2C driver. | 78 | /// I2C driver. |
| 79 | #[derive(Debug)] | ||
| 79 | pub struct I2c<'d, T: Instance, M: Mode> { | 80 | pub struct I2c<'d, T: Instance, M: Mode> { |
| 80 | phantom: PhantomData<(&'d mut T, M)>, | 81 | phantom: PhantomData<(&'d mut T, M)>, |
| 81 | } | 82 | } |
diff --git a/embassy-rp/src/usb.rs b/embassy-rp/src/usb.rs index 96541ade6..671ecbd32 100644 --- a/embassy-rp/src/usb.rs +++ b/embassy-rp/src/usb.rs | |||
| @@ -153,6 +153,7 @@ impl<'d, T: Instance> Driver<'d, T> { | |||
| 153 | fn alloc_endpoint<D: Dir>( | 153 | fn alloc_endpoint<D: Dir>( |
| 154 | &mut self, | 154 | &mut self, |
| 155 | ep_type: EndpointType, | 155 | ep_type: EndpointType, |
| 156 | ep_addr: Option<EndpointAddress>, | ||
| 156 | max_packet_size: u16, | 157 | max_packet_size: u16, |
| 157 | interval_ms: u8, | 158 | interval_ms: u8, |
| 158 | ) -> Result<Endpoint<'d, T, D>, driver::EndpointAllocError> { | 159 | ) -> Result<Endpoint<'d, T, D>, driver::EndpointAllocError> { |
| @@ -169,12 +170,25 @@ impl<'d, T: Instance> Driver<'d, T> { | |||
| 169 | Direction::In => &mut self.ep_in, | 170 | Direction::In => &mut self.ep_in, |
| 170 | }; | 171 | }; |
| 171 | 172 | ||
| 172 | let index = alloc.iter_mut().enumerate().find(|(i, ep)| { | 173 | let index = if let Some(addr) = ep_addr { |
| 173 | if *i == 0 { | 174 | // Use the specified endpoint address |
| 174 | return false; // reserved for control pipe | 175 | let requested_index = addr.index(); |
| 176 | if requested_index == 0 || requested_index >= EP_COUNT { | ||
| 177 | return Err(EndpointAllocError); | ||
| 175 | } | 178 | } |
| 176 | !ep.used | 179 | if alloc[requested_index].used { |
| 177 | }); | 180 | return Err(EndpointAllocError); |
| 181 | } | ||
| 182 | Some((requested_index, &mut alloc[requested_index])) | ||
| 183 | } else { | ||
| 184 | // Find any available endpoint | ||
| 185 | alloc.iter_mut().enumerate().find(|(i, ep)| { | ||
| 186 | if *i == 0 { | ||
| 187 | return false; // reserved for control pipe | ||
| 188 | } | ||
| 189 | !ep.used | ||
| 190 | }) | ||
| 191 | }; | ||
| 178 | 192 | ||
| 179 | let (index, ep) = index.ok_or(EndpointAllocError)?; | 193 | let (index, ep) = index.ok_or(EndpointAllocError)?; |
| 180 | assert!(!ep.used); | 194 | assert!(!ep.used); |
| @@ -299,19 +313,21 @@ impl<'d, T: Instance> driver::Driver<'d> for Driver<'d, T> { | |||
| 299 | fn alloc_endpoint_in( | 313 | fn alloc_endpoint_in( |
| 300 | &mut self, | 314 | &mut self, |
| 301 | ep_type: EndpointType, | 315 | ep_type: EndpointType, |
| 316 | ep_addr: Option<EndpointAddress>, | ||
| 302 | max_packet_size: u16, | 317 | max_packet_size: u16, |
| 303 | interval_ms: u8, | 318 | interval_ms: u8, |
| 304 | ) -> Result<Self::EndpointIn, driver::EndpointAllocError> { | 319 | ) -> Result<Self::EndpointIn, driver::EndpointAllocError> { |
| 305 | self.alloc_endpoint(ep_type, max_packet_size, interval_ms) | 320 | self.alloc_endpoint(ep_type, ep_addr, max_packet_size, interval_ms) |
| 306 | } | 321 | } |
| 307 | 322 | ||
| 308 | fn alloc_endpoint_out( | 323 | fn alloc_endpoint_out( |
| 309 | &mut self, | 324 | &mut self, |
| 310 | ep_type: EndpointType, | 325 | ep_type: EndpointType, |
| 326 | ep_addr: Option<EndpointAddress>, | ||
| 311 | max_packet_size: u16, | 327 | max_packet_size: u16, |
| 312 | interval_ms: u8, | 328 | interval_ms: u8, |
| 313 | ) -> Result<Self::EndpointOut, driver::EndpointAllocError> { | 329 | ) -> Result<Self::EndpointOut, driver::EndpointAllocError> { |
| 314 | self.alloc_endpoint(ep_type, max_packet_size, interval_ms) | 330 | self.alloc_endpoint(ep_type, ep_addr, max_packet_size, interval_ms) |
| 315 | } | 331 | } |
| 316 | 332 | ||
| 317 | fn start(self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { | 333 | fn start(self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { |
diff --git a/embassy-stm32-wpan/Cargo.toml b/embassy-stm32-wpan/Cargo.toml index 795c09cb9..a16aa4b54 100644 --- a/embassy-stm32-wpan/Cargo.toml +++ b/embassy-stm32-wpan/Cargo.toml | |||
| @@ -24,7 +24,7 @@ embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | |||
| 24 | embassy-time = { version = "0.4.0", path = "../embassy-time", optional = true } | 24 | embassy-time = { version = "0.4.0", path = "../embassy-time", optional = true } |
| 25 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 25 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 26 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal" } | 26 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal" } |
| 27 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal" } | 27 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal" } |
| 28 | embassy-net-driver = { version = "0.2.0", path = "../embassy-net-driver", optional=true } | 28 | embassy-net-driver = { version = "0.2.0", path = "../embassy-net-driver", optional=true } |
| 29 | 29 | ||
| 30 | defmt = { version = "1.0.1", optional = true } | 30 | defmt = { version = "1.0.1", optional = true } |
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index c28636dc8..eaf8bafbf 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml | |||
| @@ -54,9 +54,9 @@ embassy-time-driver = { version = "0.2", path = "../embassy-time-driver", option | |||
| 54 | embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-utils", optional = true } | 54 | embassy-time-queue-utils = { version = "0.1", path = "../embassy-time-queue-utils", optional = true } |
| 55 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 55 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 56 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-4"] } | 56 | embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-4"] } |
| 57 | embassy-embedded-hal = { version = "0.3.0", path = "../embassy-embedded-hal", default-features = false } | 57 | embassy-embedded-hal = { version = "0.3.1", path = "../embassy-embedded-hal", default-features = false } |
| 58 | embassy-net-driver = { version = "0.2.0", path = "../embassy-net-driver" } | 58 | embassy-net-driver = { version = "0.2.0", path = "../embassy-net-driver" } |
| 59 | embassy-usb-driver = { version = "0.1.0", path = "../embassy-usb-driver" } | 59 | embassy-usb-driver = { version = "0.2.0", path = "../embassy-usb-driver" } |
| 60 | embassy-usb-synopsys-otg = { version = "0.2.0", path = "../embassy-usb-synopsys-otg" } | 60 | embassy-usb-synopsys-otg = { version = "0.2.0", path = "../embassy-usb-synopsys-otg" } |
| 61 | embassy-executor = { version = "0.7.0", path = "../embassy-executor", optional = true } | 61 | embassy-executor = { version = "0.7.0", path = "../embassy-executor", optional = true } |
| 62 | 62 | ||
| @@ -81,7 +81,7 @@ futures-util = { version = "0.3.30", default-features = false } | |||
| 81 | sdio-host = "0.9.0" | 81 | sdio-host = "0.9.0" |
| 82 | critical-section = "1.1" | 82 | critical-section = "1.1" |
| 83 | #stm32-metapac = { version = "16" } | 83 | #stm32-metapac = { version = "16" } |
| 84 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-60582dd866b34e690f156cd72b91300a9a8057c0" } | 84 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-85e2c0f43f3460b3305a2f97962bd39deed09d13" } |
| 85 | 85 | ||
| 86 | vcell = "0.1.3" | 86 | vcell = "0.1.3" |
| 87 | nb = "1.0.0" | 87 | nb = "1.0.0" |
| @@ -110,7 +110,7 @@ proc-macro2 = "1.0.36" | |||
| 110 | quote = "1.0.15" | 110 | quote = "1.0.15" |
| 111 | 111 | ||
| 112 | #stm32-metapac = { version = "16", default-features = false, features = ["metadata"]} | 112 | #stm32-metapac = { version = "16", default-features = false, features = ["metadata"]} |
| 113 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-60582dd866b34e690f156cd72b91300a9a8057c0", default-features = false, features = ["metadata"] } | 113 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-85e2c0f43f3460b3305a2f97962bd39deed09d13", default-features = false, features = ["metadata"] } |
| 114 | 114 | ||
| 115 | [features] | 115 | [features] |
| 116 | default = ["rt"] | 116 | default = ["rt"] |
diff --git a/embassy-stm32/src/rcc/mco.rs b/embassy-stm32/src/rcc/mco.rs index c50e071fb..0371b9141 100644 --- a/embassy-stm32/src/rcc/mco.rs +++ b/embassy-stm32/src/rcc/mco.rs | |||
| @@ -74,7 +74,7 @@ macro_rules! impl_peri { | |||
| 74 | }; | 74 | }; |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | #[cfg(any(rcc_c0, rcc_g0, rcc_u0))] | 77 | #[cfg(any(rcc_c0, rcc_g0x0, rcc_g0x1, rcc_u0))] |
| 78 | #[allow(unused_imports)] | 78 | #[allow(unused_imports)] |
| 79 | use self::{McoSource as Mco1Source, McoSource as Mco2Source}; | 79 | use self::{McoSource as Mco1Source, McoSource as Mco2Source}; |
| 80 | 80 | ||
diff --git a/embassy-stm32/src/usart/buffered.rs b/embassy-stm32/src/usart/buffered.rs index 73ab46404..729440c46 100644 --- a/embassy-stm32/src/usart/buffered.rs +++ b/embassy-stm32/src/usart/buffered.rs | |||
| @@ -87,6 +87,8 @@ unsafe fn on_interrupt(r: Regs, state: &'static State) { | |||
| 87 | 87 | ||
| 88 | r.cr1().modify(|w| { | 88 | r.cr1().modify(|w| { |
| 89 | w.set_tcie(false); | 89 | w.set_tcie(false); |
| 90 | // Reenable receiver for half-duplex if it was disabled | ||
| 91 | w.set_re(true); | ||
| 90 | }); | 92 | }); |
| 91 | 93 | ||
| 92 | state.tx_done.store(true, Ordering::Release); | 94 | state.tx_done.store(true, Ordering::Release); |
diff --git a/embassy-stm32/src/usart/mod.rs b/embassy-stm32/src/usart/mod.rs index 8c9028f08..5bece6d66 100644 --- a/embassy-stm32/src/usart/mod.rs +++ b/embassy-stm32/src/usart/mod.rs | |||
| @@ -651,7 +651,7 @@ pub fn send_break(regs: &Regs) { | |||
| 651 | /// In case of readback, keep Receiver enabled | 651 | /// In case of readback, keep Receiver enabled |
| 652 | fn half_duplex_set_rx_tx_before_write(r: &Regs, enable_readback: bool) { | 652 | fn half_duplex_set_rx_tx_before_write(r: &Regs, enable_readback: bool) { |
| 653 | let mut cr1 = r.cr1().read(); | 653 | let mut cr1 = r.cr1().read(); |
| 654 | if r.cr3().read().hdsel() && !cr1.te() { | 654 | if r.cr3().read().hdsel() { |
| 655 | cr1.set_te(true); | 655 | cr1.set_te(true); |
| 656 | cr1.set_re(enable_readback); | 656 | cr1.set_re(enable_readback); |
| 657 | r.cr1().write_value(cr1); | 657 | r.cr1().write_value(cr1); |
diff --git a/embassy-stm32/src/usb/otg.rs b/embassy-stm32/src/usb/otg.rs index d664709d3..a8b625e8c 100644 --- a/embassy-stm32/src/usb/otg.rs +++ b/embassy-stm32/src/usb/otg.rs | |||
| @@ -231,19 +231,23 @@ impl<'d, T: Instance> embassy_usb_driver::Driver<'d> for Driver<'d, T> { | |||
| 231 | fn alloc_endpoint_in( | 231 | fn alloc_endpoint_in( |
| 232 | &mut self, | 232 | &mut self, |
| 233 | ep_type: EndpointType, | 233 | ep_type: EndpointType, |
| 234 | ep_addr: Option<EndpointAddress>, | ||
| 234 | max_packet_size: u16, | 235 | max_packet_size: u16, |
| 235 | interval_ms: u8, | 236 | interval_ms: u8, |
| 236 | ) -> Result<Self::EndpointIn, EndpointAllocError> { | 237 | ) -> Result<Self::EndpointIn, EndpointAllocError> { |
| 237 | self.inner.alloc_endpoint_in(ep_type, max_packet_size, interval_ms) | 238 | self.inner |
| 239 | .alloc_endpoint_in(ep_type, ep_addr, max_packet_size, interval_ms) | ||
| 238 | } | 240 | } |
| 239 | 241 | ||
| 240 | fn alloc_endpoint_out( | 242 | fn alloc_endpoint_out( |
| 241 | &mut self, | 243 | &mut self, |
| 242 | ep_type: EndpointType, | 244 | ep_type: EndpointType, |
| 245 | ep_addr: Option<EndpointAddress>, | ||
| 243 | max_packet_size: u16, | 246 | max_packet_size: u16, |
| 244 | interval_ms: u8, | 247 | interval_ms: u8, |
| 245 | ) -> Result<Self::EndpointOut, EndpointAllocError> { | 248 | ) -> Result<Self::EndpointOut, EndpointAllocError> { |
| 246 | self.inner.alloc_endpoint_out(ep_type, max_packet_size, interval_ms) | 249 | self.inner |
| 250 | .alloc_endpoint_out(ep_type, ep_addr, max_packet_size, interval_ms) | ||
| 247 | } | 251 | } |
| 248 | 252 | ||
| 249 | fn start(self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { | 253 | fn start(self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { |
| @@ -538,7 +542,7 @@ foreach_interrupt!( | |||
| 538 | ))] { | 542 | ))] { |
| 539 | const FIFO_DEPTH_WORDS: u16 = 1024; | 543 | const FIFO_DEPTH_WORDS: u16 = 1024; |
| 540 | const ENDPOINT_COUNT: usize = 9; | 544 | const ENDPOINT_COUNT: usize = 9; |
| 541 | } else if #[cfg(any(stm32wba, stm32u5))] { | 545 | } else if #[cfg(any(stm32u5, stm32wba))] { |
| 542 | const FIFO_DEPTH_WORDS: u16 = 1024; | 546 | const FIFO_DEPTH_WORDS: u16 = 1024; |
| 543 | const ENDPOINT_COUNT: usize = 9; | 547 | const ENDPOINT_COUNT: usize = 9; |
| 544 | } else { | 548 | } else { |
diff --git a/embassy-stm32/src/usb/usb.rs b/embassy-stm32/src/usb/usb.rs index 3e8e74a1f..92c1601cc 100644 --- a/embassy-stm32/src/usb/usb.rs +++ b/embassy-stm32/src/usb/usb.rs | |||
| @@ -359,9 +359,38 @@ impl<'d, T: Instance> Driver<'d, T> { | |||
| 359 | addr | 359 | addr |
| 360 | } | 360 | } |
| 361 | 361 | ||
| 362 | fn is_endpoint_available<D: Dir>(&self, index: usize, ep_type: EndpointType) -> bool { | ||
| 363 | if index == 0 && ep_type != EndpointType::Control { | ||
| 364 | return false; // EP0 is reserved for control | ||
| 365 | } | ||
| 366 | |||
| 367 | let ep = match self.alloc.get(index) { | ||
| 368 | Some(ep) => ep, | ||
| 369 | None => return false, | ||
| 370 | }; | ||
| 371 | |||
| 372 | let used = ep.used_out || ep.used_in; | ||
| 373 | |||
| 374 | if used && ep.ep_type == EndpointType::Isochronous { | ||
| 375 | // Isochronous endpoints are always double-buffered. | ||
| 376 | // Their corresponding endpoint/channel registers are forced to be unidirectional. | ||
| 377 | // Do not reuse this index. | ||
| 378 | // FIXME: Bulk endpoints can be double buffered, but are not in the current implementation. | ||
| 379 | return false; | ||
| 380 | } | ||
| 381 | |||
| 382 | let used_dir = match D::dir() { | ||
| 383 | Direction::Out => ep.used_out, | ||
| 384 | Direction::In => ep.used_in, | ||
| 385 | }; | ||
| 386 | |||
| 387 | !used || (ep.ep_type == ep_type && !used_dir) | ||
| 388 | } | ||
| 389 | |||
| 362 | fn alloc_endpoint<D: Dir>( | 390 | fn alloc_endpoint<D: Dir>( |
| 363 | &mut self, | 391 | &mut self, |
| 364 | ep_type: EndpointType, | 392 | ep_type: EndpointType, |
| 393 | ep_addr: Option<EndpointAddress>, | ||
| 365 | max_packet_size: u16, | 394 | max_packet_size: u16, |
| 366 | interval_ms: u8, | 395 | interval_ms: u8, |
| 367 | ) -> Result<Endpoint<'d, T, D>, driver::EndpointAllocError> { | 396 | ) -> Result<Endpoint<'d, T, D>, driver::EndpointAllocError> { |
| @@ -373,28 +402,17 @@ impl<'d, T: Instance> Driver<'d, T> { | |||
| 373 | D::dir() | 402 | D::dir() |
| 374 | ); | 403 | ); |
| 375 | 404 | ||
| 376 | let index = self.alloc.iter_mut().enumerate().find(|(i, ep)| { | 405 | let index = if let Some(addr) = ep_addr { |
| 377 | if *i == 0 && ep_type != EndpointType::Control { | 406 | // Use the specified endpoint address |
| 378 | return false; // reserved for control pipe | 407 | self.is_endpoint_available::<D>(addr.index(), ep_type) |
| 379 | } | 408 | .then_some(addr.index()) |
| 380 | let used = ep.used_out || ep.used_in; | 409 | } else { |
| 381 | if used && (ep.ep_type == EndpointType::Isochronous) { | 410 | // Find any available endpoint |
| 382 | // Isochronous endpoints are always double-buffered. | 411 | (0..self.alloc.len()).find(|&i| self.is_endpoint_available::<D>(i, ep_type)) |
| 383 | // Their corresponding endpoint/channel registers are forced to be unidirectional. | 412 | }; |
| 384 | // Do not reuse this index. | ||
| 385 | // FIXME: Bulk endpoints can be double buffered, but are not in the current implementation. | ||
| 386 | return false; | ||
| 387 | } | ||
| 388 | |||
| 389 | let used_dir = match D::dir() { | ||
| 390 | Direction::Out => ep.used_out, | ||
| 391 | Direction::In => ep.used_in, | ||
| 392 | }; | ||
| 393 | !used || (ep.ep_type == ep_type && !used_dir) | ||
| 394 | }); | ||
| 395 | 413 | ||
| 396 | let (index, ep) = match index { | 414 | let (index, ep) = match index { |
| 397 | Some(x) => x, | 415 | Some(i) => (i, &mut self.alloc[i]), |
| 398 | None => return Err(EndpointAllocError), | 416 | None => return Err(EndpointAllocError), |
| 399 | }; | 417 | }; |
| 400 | 418 | ||
| @@ -479,27 +497,29 @@ impl<'d, T: Instance> driver::Driver<'d> for Driver<'d, T> { | |||
| 479 | fn alloc_endpoint_in( | 497 | fn alloc_endpoint_in( |
| 480 | &mut self, | 498 | &mut self, |
| 481 | ep_type: EndpointType, | 499 | ep_type: EndpointType, |
| 500 | ep_addr: Option<EndpointAddress>, | ||
| 482 | max_packet_size: u16, | 501 | max_packet_size: u16, |
| 483 | interval_ms: u8, | 502 | interval_ms: u8, |
| 484 | ) -> Result<Self::EndpointIn, driver::EndpointAllocError> { | 503 | ) -> Result<Self::EndpointIn, driver::EndpointAllocError> { |
| 485 | self.alloc_endpoint(ep_type, max_packet_size, interval_ms) | 504 | self.alloc_endpoint(ep_type, ep_addr, max_packet_size, interval_ms) |
| 486 | } | 505 | } |
| 487 | 506 | ||
| 488 | fn alloc_endpoint_out( | 507 | fn alloc_endpoint_out( |
| 489 | &mut self, | 508 | &mut self, |
| 490 | ep_type: EndpointType, | 509 | ep_type: EndpointType, |
| 510 | ep_addr: Option<EndpointAddress>, | ||
| 491 | max_packet_size: u16, | 511 | max_packet_size: u16, |
| 492 | interval_ms: u8, | 512 | interval_ms: u8, |
| 493 | ) -> Result<Self::EndpointOut, driver::EndpointAllocError> { | 513 | ) -> Result<Self::EndpointOut, driver::EndpointAllocError> { |
| 494 | self.alloc_endpoint(ep_type, max_packet_size, interval_ms) | 514 | self.alloc_endpoint(ep_type, ep_addr, max_packet_size, interval_ms) |
| 495 | } | 515 | } |
| 496 | 516 | ||
| 497 | fn start(mut self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { | 517 | fn start(mut self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { |
| 498 | let ep_out = self | 518 | let ep_out = self |
| 499 | .alloc_endpoint(EndpointType::Control, control_max_packet_size, 0) | 519 | .alloc_endpoint(EndpointType::Control, None, control_max_packet_size, 0) |
| 500 | .unwrap(); | 520 | .unwrap(); |
| 501 | let ep_in = self | 521 | let ep_in = self |
| 502 | .alloc_endpoint(EndpointType::Control, control_max_packet_size, 0) | 522 | .alloc_endpoint(EndpointType::Control, None, control_max_packet_size, 0) |
| 503 | .unwrap(); | 523 | .unwrap(); |
| 504 | assert_eq!(ep_out.info.addr.index(), 0); | 524 | assert_eq!(ep_out.info.addr.index(), 0); |
| 505 | assert_eq!(ep_in.info.addr.index(), 0); | 525 | assert_eq!(ep_in.info.addr.index(), 0); |
diff --git a/embassy-usb-dfu/Cargo.toml b/embassy-usb-dfu/Cargo.toml index 8b2467bca..cdad3ce00 100644 --- a/embassy-usb-dfu/Cargo.toml +++ b/embassy-usb-dfu/Cargo.toml | |||
| @@ -35,7 +35,7 @@ embassy-boot = { version = "0.4.0", path = "../embassy-boot" } | |||
| 35 | embassy-futures = { version = "0.1.1", path = "../embassy-futures" } | 35 | embassy-futures = { version = "0.1.1", path = "../embassy-futures" } |
| 36 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 36 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 37 | embassy-time = { version = "0.4.0", path = "../embassy-time" } | 37 | embassy-time = { version = "0.4.0", path = "../embassy-time" } |
| 38 | embassy-usb = { version = "0.4.0", path = "../embassy-usb", default-features = false } | 38 | embassy-usb = { version = "0.5.0", path = "../embassy-usb", default-features = false } |
| 39 | embedded-storage = { version = "0.3.1" } | 39 | embedded-storage = { version = "0.3.1" } |
| 40 | esp32c3-hal = { version = "0.13.0", optional = true, default-features = false } | 40 | esp32c3-hal = { version = "0.13.0", optional = true, default-features = false } |
| 41 | 41 | ||
diff --git a/embassy-usb-driver/CHANGELOG.md b/embassy-usb-driver/CHANGELOG.md index c02daefdf..15875e087 100644 --- a/embassy-usb-driver/CHANGELOG.md +++ b/embassy-usb-driver/CHANGELOG.md | |||
| @@ -8,4 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 8 | <!-- next-header --> | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | 9 | ## Unreleased - ReleaseDate |
| 10 | 10 | ||
| 11 | ## 0.2.0 - 2025-07-16 | ||
| 12 | |||
| 13 | - Make USB endpoint allocator methods accept an optional `EndpointAddress`. | ||
| 14 | |||
| 15 | ## 0.1.1 - 2025-07-15 | ||
| 16 | |||
| 11 | - Add `embedded_io_async::Error` implementation for `EndpointError` ([#4176](https://github.com/embassy-rs/embassy/pull/4176)) | 17 | - Add `embedded_io_async::Error` implementation for `EndpointError` ([#4176](https://github.com/embassy-rs/embassy/pull/4176)) |
diff --git a/embassy-usb-driver/Cargo.toml b/embassy-usb-driver/Cargo.toml index e40421649..de69bf694 100644 --- a/embassy-usb-driver/Cargo.toml +++ b/embassy-usb-driver/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "embassy-usb-driver" | 2 | name = "embassy-usb-driver" |
| 3 | version = "0.1.0" | 3 | version = "0.2.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "Driver trait for `embassy-usb`, an async USB device stack for embedded devices." | 6 | description = "Driver trait for `embassy-usb`, an async USB device stack for embedded devices." |
diff --git a/embassy-usb-driver/src/lib.rs b/embassy-usb-driver/src/lib.rs index d204e4d85..99616f1ec 100644 --- a/embassy-usb-driver/src/lib.rs +++ b/embassy-usb-driver/src/lib.rs | |||
| @@ -136,6 +136,7 @@ pub trait Driver<'a> { | |||
| 136 | fn alloc_endpoint_out( | 136 | fn alloc_endpoint_out( |
| 137 | &mut self, | 137 | &mut self, |
| 138 | ep_type: EndpointType, | 138 | ep_type: EndpointType, |
| 139 | ep_addr: Option<EndpointAddress>, | ||
| 139 | max_packet_size: u16, | 140 | max_packet_size: u16, |
| 140 | interval_ms: u8, | 141 | interval_ms: u8, |
| 141 | ) -> Result<Self::EndpointOut, EndpointAllocError>; | 142 | ) -> Result<Self::EndpointOut, EndpointAllocError>; |
| @@ -153,6 +154,7 @@ pub trait Driver<'a> { | |||
| 153 | fn alloc_endpoint_in( | 154 | fn alloc_endpoint_in( |
| 154 | &mut self, | 155 | &mut self, |
| 155 | ep_type: EndpointType, | 156 | ep_type: EndpointType, |
| 157 | ep_addr: Option<EndpointAddress>, | ||
| 156 | max_packet_size: u16, | 158 | max_packet_size: u16, |
| 157 | interval_ms: u8, | 159 | interval_ms: u8, |
| 158 | ) -> Result<Self::EndpointIn, EndpointAllocError>; | 160 | ) -> Result<Self::EndpointIn, EndpointAllocError>; |
diff --git a/embassy-usb-logger/Cargo.toml b/embassy-usb-logger/Cargo.toml index 6b8e9af47..6dd2637f2 100644 --- a/embassy-usb-logger/Cargo.toml +++ b/embassy-usb-logger/Cargo.toml | |||
| @@ -15,7 +15,7 @@ src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-usb-l | |||
| 15 | target = "thumbv7em-none-eabi" | 15 | target = "thumbv7em-none-eabi" |
| 16 | 16 | ||
| 17 | [dependencies] | 17 | [dependencies] |
| 18 | embassy-usb = { version = "0.4.0", path = "../embassy-usb" } | 18 | embassy-usb = { version = "0.5.0", path = "../embassy-usb" } |
| 19 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 19 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 20 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 20 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 21 | log = "0.4" | 21 | log = "0.4" |
diff --git a/embassy-usb-synopsys-otg/Cargo.toml b/embassy-usb-synopsys-otg/Cargo.toml index 6252feaef..511cddacf 100644 --- a/embassy-usb-synopsys-otg/Cargo.toml +++ b/embassy-usb-synopsys-otg/Cargo.toml | |||
| @@ -19,7 +19,7 @@ target = "thumbv7em-none-eabi" | |||
| 19 | critical-section = "1.1" | 19 | critical-section = "1.1" |
| 20 | 20 | ||
| 21 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 21 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 22 | embassy-usb-driver = { version = "0.1.0", path = "../embassy-usb-driver" } | 22 | 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 } |
diff --git a/embassy-usb-synopsys-otg/src/lib.rs b/embassy-usb-synopsys-otg/src/lib.rs index fc4428b54..9d74c046d 100644 --- a/embassy-usb-synopsys-otg/src/lib.rs +++ b/embassy-usb-synopsys-otg/src/lib.rs | |||
| @@ -345,6 +345,7 @@ impl<'d, const MAX_EP_COUNT: usize> Driver<'d, MAX_EP_COUNT> { | |||
| 345 | fn alloc_endpoint<D: Dir>( | 345 | fn alloc_endpoint<D: Dir>( |
| 346 | &mut self, | 346 | &mut self, |
| 347 | ep_type: EndpointType, | 347 | ep_type: EndpointType, |
| 348 | ep_addr: Option<EndpointAddress>, | ||
| 348 | max_packet_size: u16, | 349 | max_packet_size: u16, |
| 349 | interval_ms: u8, | 350 | interval_ms: u8, |
| 350 | ) -> Result<Endpoint<'d, D>, EndpointAllocError> { | 351 | ) -> Result<Endpoint<'d, D>, EndpointAllocError> { |
| @@ -379,15 +380,31 @@ impl<'d, const MAX_EP_COUNT: usize> Driver<'d, MAX_EP_COUNT> { | |||
| 379 | Direction::In => &mut self.ep_in[..self.instance.endpoint_count], | 380 | Direction::In => &mut self.ep_in[..self.instance.endpoint_count], |
| 380 | }; | 381 | }; |
| 381 | 382 | ||
| 382 | // Find free endpoint slot | 383 | // Find endpoint slot |
| 383 | let slot = eps.iter_mut().enumerate().find(|(i, ep)| { | 384 | let slot = if let Some(addr) = ep_addr { |
| 384 | if *i == 0 && ep_type != EndpointType::Control { | 385 | // Use the specified endpoint address |
| 385 | // reserved for control pipe | 386 | let requested_index = addr.index(); |
| 386 | false | 387 | if requested_index >= self.instance.endpoint_count { |
| 387 | } else { | 388 | return Err(EndpointAllocError); |
| 388 | ep.is_none() | ||
| 389 | } | 389 | } |
| 390 | }); | 390 | if requested_index == 0 && ep_type != EndpointType::Control { |
| 391 | return Err(EndpointAllocError); // EP0 is reserved for control | ||
| 392 | } | ||
| 393 | if eps[requested_index].is_some() { | ||
| 394 | return Err(EndpointAllocError); // Already allocated | ||
| 395 | } | ||
| 396 | Some((requested_index, &mut eps[requested_index])) | ||
| 397 | } else { | ||
| 398 | // Find any free endpoint slot | ||
| 399 | eps.iter_mut().enumerate().find(|(i, ep)| { | ||
| 400 | if *i == 0 && ep_type != EndpointType::Control { | ||
| 401 | // reserved for control pipe | ||
| 402 | false | ||
| 403 | } else { | ||
| 404 | ep.is_none() | ||
| 405 | } | ||
| 406 | }) | ||
| 407 | }; | ||
| 391 | 408 | ||
| 392 | let index = match slot { | 409 | let index = match slot { |
| 393 | Some((index, ep)) => { | 410 | Some((index, ep)) => { |
| @@ -438,27 +455,29 @@ impl<'d, const MAX_EP_COUNT: usize> embassy_usb_driver::Driver<'d> for Driver<'d | |||
| 438 | fn alloc_endpoint_in( | 455 | fn alloc_endpoint_in( |
| 439 | &mut self, | 456 | &mut self, |
| 440 | ep_type: EndpointType, | 457 | ep_type: EndpointType, |
| 458 | ep_addr: Option<EndpointAddress>, | ||
| 441 | max_packet_size: u16, | 459 | max_packet_size: u16, |
| 442 | interval_ms: u8, | 460 | interval_ms: u8, |
| 443 | ) -> Result<Self::EndpointIn, EndpointAllocError> { | 461 | ) -> Result<Self::EndpointIn, EndpointAllocError> { |
| 444 | self.alloc_endpoint(ep_type, max_packet_size, interval_ms) | 462 | self.alloc_endpoint(ep_type, ep_addr, max_packet_size, interval_ms) |
| 445 | } | 463 | } |
| 446 | 464 | ||
| 447 | fn alloc_endpoint_out( | 465 | fn alloc_endpoint_out( |
| 448 | &mut self, | 466 | &mut self, |
| 449 | ep_type: EndpointType, | 467 | ep_type: EndpointType, |
| 468 | ep_addr: Option<EndpointAddress>, | ||
| 450 | max_packet_size: u16, | 469 | max_packet_size: u16, |
| 451 | interval_ms: u8, | 470 | interval_ms: u8, |
| 452 | ) -> Result<Self::EndpointOut, EndpointAllocError> { | 471 | ) -> Result<Self::EndpointOut, EndpointAllocError> { |
| 453 | self.alloc_endpoint(ep_type, max_packet_size, interval_ms) | 472 | self.alloc_endpoint(ep_type, ep_addr, max_packet_size, interval_ms) |
| 454 | } | 473 | } |
| 455 | 474 | ||
| 456 | fn start(mut self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { | 475 | fn start(mut self, control_max_packet_size: u16) -> (Self::Bus, Self::ControlPipe) { |
| 457 | let ep_out = self | 476 | let ep_out = self |
| 458 | .alloc_endpoint(EndpointType::Control, control_max_packet_size, 0) | 477 | .alloc_endpoint(EndpointType::Control, None, control_max_packet_size, 0) |
| 459 | .unwrap(); | 478 | .unwrap(); |
| 460 | let ep_in = self | 479 | let ep_in = self |
| 461 | .alloc_endpoint(EndpointType::Control, control_max_packet_size, 0) | 480 | .alloc_endpoint(EndpointType::Control, None, control_max_packet_size, 0) |
| 462 | .unwrap(); | 481 | .unwrap(); |
| 463 | assert_eq!(ep_out.info.addr.index(), 0); | 482 | assert_eq!(ep_out.info.addr.index(), 0); |
| 464 | assert_eq!(ep_in.info.addr.index(), 0); | 483 | assert_eq!(ep_in.info.addr.index(), 0); |
| @@ -1210,10 +1229,23 @@ impl<'d> embassy_usb_driver::EndpointIn for Endpoint<'d, In> { | |||
| 1210 | }); | 1229 | }); |
| 1211 | 1230 | ||
| 1212 | // Write data to FIFO | 1231 | // Write data to FIFO |
| 1213 | for chunk in buf.chunks(4) { | 1232 | let chunks = buf.chunks_exact(4); |
| 1233 | // Stash the last partial chunk | ||
| 1234 | let rem = chunks.remainder(); | ||
| 1235 | let last_chunk = (!rem.is_empty()).then(|| { | ||
| 1214 | let mut tmp = [0u8; 4]; | 1236 | let mut tmp = [0u8; 4]; |
| 1215 | tmp[0..chunk.len()].copy_from_slice(chunk); | 1237 | tmp[0..rem.len()].copy_from_slice(rem); |
| 1216 | self.regs.fifo(index).write_value(regs::Fifo(u32::from_ne_bytes(tmp))); | 1238 | u32::from_ne_bytes(tmp) |
| 1239 | }); | ||
| 1240 | |||
| 1241 | let fifo = self.regs.fifo(index); | ||
| 1242 | for chunk in chunks { | ||
| 1243 | let val = u32::from_ne_bytes(chunk.try_into().unwrap()); | ||
| 1244 | fifo.write_value(regs::Fifo(val)); | ||
| 1245 | } | ||
| 1246 | // Write any last chunk | ||
| 1247 | if let Some(val) = last_chunk { | ||
| 1248 | fifo.write_value(regs::Fifo(val)); | ||
| 1217 | } | 1249 | } |
| 1218 | }); | 1250 | }); |
| 1219 | 1251 | ||
diff --git a/embassy-usb/CHANGELOG.md b/embassy-usb/CHANGELOG.md index 51db5f03e..3ee75e226 100644 --- a/embassy-usb/CHANGELOG.md +++ b/embassy-usb/CHANGELOG.md | |||
| @@ -8,12 +8,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 8 | <!-- next-header --> | 8 | <!-- next-header --> |
| 9 | ## Unreleased - ReleaseDate | 9 | ## Unreleased - ReleaseDate |
| 10 | 10 | ||
| 11 | ## 0.5.0 - 2025-07-16 | ||
| 12 | |||
| 11 | - `UAC1`: unmute by default ([#3992](https://github.com/embassy-rs/embassy/pull/3992)) | 13 | - `UAC1`: unmute by default ([#3992](https://github.com/embassy-rs/embassy/pull/3992)) |
| 12 | - `cdc_acm`: `State::new` is now `const` ([#4000](https://github.com/embassy-rs/embassy/pull/4000)) | 14 | - `cdc_acm`: `State::new` is now `const` ([#4000](https://github.com/embassy-rs/embassy/pull/4000)) |
| 13 | - Add support for CMSIS-DAP v2 USB class ([#4107](https://github.com/embassy-rs/embassy/pull/4107)) | 15 | - Add support for CMSIS-DAP v2 USB class ([#4107](https://github.com/embassy-rs/embassy/pull/4107)) |
| 14 | - Reduce `UsbDevice` builder logs to `trace` ([#4130](https://github.com/embassy-rs/embassy/pull/4130)) | 16 | - Reduce `UsbDevice` builder logs to `trace` ([#4130](https://github.com/embassy-rs/embassy/pull/4130)) |
| 15 | - Implement `embedded-io-async` traits for USB CDC ACM ([#4176](https://github.com/embassy-rs/embassy/pull/4176)) | 17 | - Implement `embedded-io-async` traits for USB CDC ACM ([#4176](https://github.com/embassy-rs/embassy/pull/4176)) |
| 16 | - Update `embassy-sync` to v0.7.0 | 18 | - Update `embassy-sync` to v0.7.0 |
| 19 | - Fix CDC ACM BufferedReceiver buffer calculation | ||
| 17 | 20 | ||
| 18 | ## 0.4.0 - 2025-01-15 | 21 | ## 0.4.0 - 2025-01-15 |
| 19 | 22 | ||
diff --git a/embassy-usb/Cargo.toml b/embassy-usb/Cargo.toml index 31fd1c1e0..4743fde65 100644 --- a/embassy-usb/Cargo.toml +++ b/embassy-usb/Cargo.toml | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "embassy-usb" | 2 | name = "embassy-usb" |
| 3 | version = "0.4.0" | 3 | version = "0.5.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | description = "Async USB device stack for embedded devices in Rust." | 6 | description = "Async USB device stack for embedded devices in Rust." |
| @@ -47,9 +47,9 @@ max-handler-count-8 = [] | |||
| 47 | 47 | ||
| 48 | [dependencies] | 48 | [dependencies] |
| 49 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 49 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 50 | embassy-usb-driver = { version = "0.1.0", path = "../embassy-usb-driver" } | 50 | embassy-usb-driver = { version = "0.2.0", path = "../embassy-usb-driver" } |
| 51 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } | 51 | embassy-sync = { version = "0.7.0", path = "../embassy-sync" } |
| 52 | embassy-net-driver-channel = { version = "0.3.0", path = "../embassy-net-driver-channel" } | 52 | embassy-net-driver-channel = { version = "0.3.1", path = "../embassy-net-driver-channel" } |
| 53 | 53 | ||
| 54 | defmt = { version = "1", optional = true } | 54 | defmt = { version = "1", optional = true } |
| 55 | log = { version = "0.4.14", optional = true } | 55 | log = { version = "0.4.14", optional = true } |
diff --git a/embassy-usb/src/builder.rs b/embassy-usb/src/builder.rs index 6c4b3f9a4..8d7abe46c 100644 --- a/embassy-usb/src/builder.rs +++ b/embassy-usb/src/builder.rs | |||
| @@ -2,7 +2,7 @@ use heapless::Vec; | |||
| 2 | 2 | ||
| 3 | use crate::config::MAX_HANDLER_COUNT; | 3 | use crate::config::MAX_HANDLER_COUNT; |
| 4 | use crate::descriptor::{BosWriter, DescriptorWriter, SynchronizationType, UsageType}; | 4 | use crate::descriptor::{BosWriter, DescriptorWriter, SynchronizationType, UsageType}; |
| 5 | use crate::driver::{Driver, Endpoint, EndpointInfo, EndpointType}; | 5 | use crate::driver::{Driver, Endpoint, EndpointAddress, EndpointInfo, EndpointType}; |
| 6 | use crate::msos::{DeviceLevelDescriptor, FunctionLevelDescriptor, MsOsDescriptorWriter}; | 6 | use crate::msos::{DeviceLevelDescriptor, FunctionLevelDescriptor, MsOsDescriptorWriter}; |
| 7 | use crate::types::{InterfaceNumber, StringIndex}; | 7 | use crate::types::{InterfaceNumber, StringIndex}; |
| 8 | use crate::{Handler, Interface, UsbDevice, MAX_INTERFACE_COUNT, STRING_INDEX_CUSTOM_START}; | 8 | use crate::{Handler, Interface, UsbDevice, MAX_INTERFACE_COUNT, STRING_INDEX_CUSTOM_START}; |
| @@ -465,11 +465,17 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 465 | /// Allocate an IN endpoint, without writing its descriptor. | 465 | /// Allocate an IN endpoint, without writing its descriptor. |
| 466 | /// | 466 | /// |
| 467 | /// Used for granular control over the order of endpoint and descriptor creation. | 467 | /// Used for granular control over the order of endpoint and descriptor creation. |
| 468 | pub fn alloc_endpoint_in(&mut self, ep_type: EndpointType, max_packet_size: u16, interval_ms: u8) -> D::EndpointIn { | 468 | pub fn alloc_endpoint_in( |
| 469 | &mut self, | ||
| 470 | ep_type: EndpointType, | ||
| 471 | ep_addr: Option<EndpointAddress>, | ||
| 472 | max_packet_size: u16, | ||
| 473 | interval_ms: u8, | ||
| 474 | ) -> D::EndpointIn { | ||
| 469 | let ep = self | 475 | let ep = self |
| 470 | .builder | 476 | .builder |
| 471 | .driver | 477 | .driver |
| 472 | .alloc_endpoint_in(ep_type, max_packet_size, interval_ms) | 478 | .alloc_endpoint_in(ep_type, ep_addr, max_packet_size, interval_ms) |
| 473 | .expect("alloc_endpoint_in failed"); | 479 | .expect("alloc_endpoint_in failed"); |
| 474 | 480 | ||
| 475 | ep | 481 | ep |
| @@ -478,13 +484,14 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 478 | fn endpoint_in( | 484 | fn endpoint_in( |
| 479 | &mut self, | 485 | &mut self, |
| 480 | ep_type: EndpointType, | 486 | ep_type: EndpointType, |
| 487 | ep_addr: Option<EndpointAddress>, | ||
| 481 | max_packet_size: u16, | 488 | max_packet_size: u16, |
| 482 | interval_ms: u8, | 489 | interval_ms: u8, |
| 483 | synchronization_type: SynchronizationType, | 490 | synchronization_type: SynchronizationType, |
| 484 | usage_type: UsageType, | 491 | usage_type: UsageType, |
| 485 | extra_fields: &[u8], | 492 | extra_fields: &[u8], |
| 486 | ) -> D::EndpointIn { | 493 | ) -> D::EndpointIn { |
| 487 | let ep = self.alloc_endpoint_in(ep_type, max_packet_size, interval_ms); | 494 | let ep = self.alloc_endpoint_in(ep_type, ep_addr, max_packet_size, interval_ms); |
| 488 | self.endpoint_descriptor(ep.info(), synchronization_type, usage_type, extra_fields); | 495 | self.endpoint_descriptor(ep.info(), synchronization_type, usage_type, extra_fields); |
| 489 | 496 | ||
| 490 | ep | 497 | ep |
| @@ -496,13 +503,14 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 496 | pub fn alloc_endpoint_out( | 503 | pub fn alloc_endpoint_out( |
| 497 | &mut self, | 504 | &mut self, |
| 498 | ep_type: EndpointType, | 505 | ep_type: EndpointType, |
| 506 | ep_addr: Option<EndpointAddress>, | ||
| 499 | max_packet_size: u16, | 507 | max_packet_size: u16, |
| 500 | interval_ms: u8, | 508 | interval_ms: u8, |
| 501 | ) -> D::EndpointOut { | 509 | ) -> D::EndpointOut { |
| 502 | let ep = self | 510 | let ep = self |
| 503 | .builder | 511 | .builder |
| 504 | .driver | 512 | .driver |
| 505 | .alloc_endpoint_out(ep_type, max_packet_size, interval_ms) | 513 | .alloc_endpoint_out(ep_type, ep_addr, max_packet_size, interval_ms) |
| 506 | .expect("alloc_endpoint_out failed"); | 514 | .expect("alloc_endpoint_out failed"); |
| 507 | 515 | ||
| 508 | ep | 516 | ep |
| @@ -511,13 +519,14 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 511 | fn endpoint_out( | 519 | fn endpoint_out( |
| 512 | &mut self, | 520 | &mut self, |
| 513 | ep_type: EndpointType, | 521 | ep_type: EndpointType, |
| 522 | ep_addr: Option<EndpointAddress>, | ||
| 514 | max_packet_size: u16, | 523 | max_packet_size: u16, |
| 515 | interval_ms: u8, | 524 | interval_ms: u8, |
| 516 | synchronization_type: SynchronizationType, | 525 | synchronization_type: SynchronizationType, |
| 517 | usage_type: UsageType, | 526 | usage_type: UsageType, |
| 518 | extra_fields: &[u8], | 527 | extra_fields: &[u8], |
| 519 | ) -> D::EndpointOut { | 528 | ) -> D::EndpointOut { |
| 520 | let ep = self.alloc_endpoint_out(ep_type, max_packet_size, interval_ms); | 529 | let ep = self.alloc_endpoint_out(ep_type, ep_addr, max_packet_size, interval_ms); |
| 521 | self.endpoint_descriptor(ep.info(), synchronization_type, usage_type, extra_fields); | 530 | self.endpoint_descriptor(ep.info(), synchronization_type, usage_type, extra_fields); |
| 522 | 531 | ||
| 523 | ep | 532 | ep |
| @@ -527,9 +536,10 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 527 | /// | 536 | /// |
| 528 | /// Descriptors are written in the order builder functions are called. Note that some | 537 | /// Descriptors are written in the order builder functions are called. Note that some |
| 529 | /// classes care about the order. | 538 | /// classes care about the order. |
| 530 | pub fn endpoint_bulk_in(&mut self, max_packet_size: u16) -> D::EndpointIn { | 539 | pub fn endpoint_bulk_in(&mut self, ep_addr: Option<EndpointAddress>, max_packet_size: u16) -> D::EndpointIn { |
| 531 | self.endpoint_in( | 540 | self.endpoint_in( |
| 532 | EndpointType::Bulk, | 541 | EndpointType::Bulk, |
| 542 | ep_addr, | ||
| 533 | max_packet_size, | 543 | max_packet_size, |
| 534 | 0, | 544 | 0, |
| 535 | SynchronizationType::NoSynchronization, | 545 | SynchronizationType::NoSynchronization, |
| @@ -542,9 +552,10 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 542 | /// | 552 | /// |
| 543 | /// Descriptors are written in the order builder functions are called. Note that some | 553 | /// Descriptors are written in the order builder functions are called. Note that some |
| 544 | /// classes care about the order. | 554 | /// classes care about the order. |
| 545 | pub fn endpoint_bulk_out(&mut self, max_packet_size: u16) -> D::EndpointOut { | 555 | pub fn endpoint_bulk_out(&mut self, ep_addr: Option<EndpointAddress>, max_packet_size: u16) -> D::EndpointOut { |
| 546 | self.endpoint_out( | 556 | self.endpoint_out( |
| 547 | EndpointType::Bulk, | 557 | EndpointType::Bulk, |
| 558 | ep_addr, | ||
| 548 | max_packet_size, | 559 | max_packet_size, |
| 549 | 0, | 560 | 0, |
| 550 | SynchronizationType::NoSynchronization, | 561 | SynchronizationType::NoSynchronization, |
| @@ -557,9 +568,15 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 557 | /// | 568 | /// |
| 558 | /// Descriptors are written in the order builder functions are called. Note that some | 569 | /// Descriptors are written in the order builder functions are called. Note that some |
| 559 | /// classes care about the order. | 570 | /// classes care about the order. |
| 560 | pub fn endpoint_interrupt_in(&mut self, max_packet_size: u16, interval_ms: u8) -> D::EndpointIn { | 571 | pub fn endpoint_interrupt_in( |
| 572 | &mut self, | ||
| 573 | ep_addr: Option<EndpointAddress>, | ||
| 574 | max_packet_size: u16, | ||
| 575 | interval_ms: u8, | ||
| 576 | ) -> D::EndpointIn { | ||
| 561 | self.endpoint_in( | 577 | self.endpoint_in( |
| 562 | EndpointType::Interrupt, | 578 | EndpointType::Interrupt, |
| 579 | ep_addr, | ||
| 563 | max_packet_size, | 580 | max_packet_size, |
| 564 | interval_ms, | 581 | interval_ms, |
| 565 | SynchronizationType::NoSynchronization, | 582 | SynchronizationType::NoSynchronization, |
| @@ -569,9 +586,15 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 569 | } | 586 | } |
| 570 | 587 | ||
| 571 | /// Allocate a INTERRUPT OUT endpoint and write its descriptor. | 588 | /// Allocate a INTERRUPT OUT endpoint and write its descriptor. |
| 572 | pub fn endpoint_interrupt_out(&mut self, max_packet_size: u16, interval_ms: u8) -> D::EndpointOut { | 589 | pub fn endpoint_interrupt_out( |
| 590 | &mut self, | ||
| 591 | ep_addr: Option<EndpointAddress>, | ||
| 592 | max_packet_size: u16, | ||
| 593 | interval_ms: u8, | ||
| 594 | ) -> D::EndpointOut { | ||
| 573 | self.endpoint_out( | 595 | self.endpoint_out( |
| 574 | EndpointType::Interrupt, | 596 | EndpointType::Interrupt, |
| 597 | ep_addr, | ||
| 575 | max_packet_size, | 598 | max_packet_size, |
| 576 | interval_ms, | 599 | interval_ms, |
| 577 | SynchronizationType::NoSynchronization, | 600 | SynchronizationType::NoSynchronization, |
| @@ -586,6 +609,7 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 586 | /// classes care about the order. | 609 | /// classes care about the order. |
| 587 | pub fn endpoint_isochronous_in( | 610 | pub fn endpoint_isochronous_in( |
| 588 | &mut self, | 611 | &mut self, |
| 612 | ep_addr: Option<EndpointAddress>, | ||
| 589 | max_packet_size: u16, | 613 | max_packet_size: u16, |
| 590 | interval_ms: u8, | 614 | interval_ms: u8, |
| 591 | synchronization_type: SynchronizationType, | 615 | synchronization_type: SynchronizationType, |
| @@ -594,6 +618,7 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 594 | ) -> D::EndpointIn { | 618 | ) -> D::EndpointIn { |
| 595 | self.endpoint_in( | 619 | self.endpoint_in( |
| 596 | EndpointType::Isochronous, | 620 | EndpointType::Isochronous, |
| 621 | ep_addr, | ||
| 597 | max_packet_size, | 622 | max_packet_size, |
| 598 | interval_ms, | 623 | interval_ms, |
| 599 | synchronization_type, | 624 | synchronization_type, |
| @@ -605,6 +630,7 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 605 | /// Allocate a ISOCHRONOUS OUT endpoint and write its descriptor. | 630 | /// Allocate a ISOCHRONOUS OUT endpoint and write its descriptor. |
| 606 | pub fn endpoint_isochronous_out( | 631 | pub fn endpoint_isochronous_out( |
| 607 | &mut self, | 632 | &mut self, |
| 633 | ep_addr: Option<EndpointAddress>, | ||
| 608 | max_packet_size: u16, | 634 | max_packet_size: u16, |
| 609 | interval_ms: u8, | 635 | interval_ms: u8, |
| 610 | synchronization_type: SynchronizationType, | 636 | synchronization_type: SynchronizationType, |
| @@ -613,6 +639,7 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 613 | ) -> D::EndpointOut { | 639 | ) -> D::EndpointOut { |
| 614 | self.endpoint_out( | 640 | self.endpoint_out( |
| 615 | EndpointType::Isochronous, | 641 | EndpointType::Isochronous, |
| 642 | ep_addr, | ||
| 616 | max_packet_size, | 643 | max_packet_size, |
| 617 | interval_ms, | 644 | interval_ms, |
| 618 | synchronization_type, | 645 | synchronization_type, |
diff --git a/embassy-usb/src/class/cdc_acm.rs b/embassy-usb/src/class/cdc_acm.rs index 732a433f8..0a1a5e64f 100644 --- a/embassy-usb/src/class/cdc_acm.rs +++ b/embassy-usb/src/class/cdc_acm.rs | |||
| @@ -254,14 +254,14 @@ impl<'d, D: Driver<'d>> CdcAcmClass<'d, D> { | |||
| 254 | ], | 254 | ], |
| 255 | ); | 255 | ); |
| 256 | 256 | ||
| 257 | let comm_ep = alt.endpoint_interrupt_in(8, 255); | 257 | let comm_ep = alt.endpoint_interrupt_in(None, 8, 255); |
| 258 | 258 | ||
| 259 | // Data interface | 259 | // Data interface |
| 260 | let mut iface = func.interface(); | 260 | let mut iface = func.interface(); |
| 261 | let data_if = iface.interface_number(); | 261 | let data_if = iface.interface_number(); |
| 262 | let mut alt = iface.alt_setting(USB_CLASS_CDC_DATA, 0x00, CDC_PROTOCOL_NONE, None); | 262 | let mut alt = iface.alt_setting(USB_CLASS_CDC_DATA, 0x00, CDC_PROTOCOL_NONE, None); |
| 263 | let read_ep = alt.endpoint_bulk_out(max_packet_size); | 263 | let read_ep = alt.endpoint_bulk_out(None, max_packet_size); |
| 264 | let write_ep = alt.endpoint_bulk_in(max_packet_size); | 264 | let write_ep = alt.endpoint_bulk_in(None, max_packet_size); |
| 265 | 265 | ||
| 266 | drop(func); | 266 | drop(func); |
| 267 | 267 | ||
| @@ -501,7 +501,7 @@ impl<'d, D: Driver<'d>> BufferedReceiver<'d, D> { | |||
| 501 | fn read_from_buffer(&mut self, buf: &mut [u8]) -> usize { | 501 | fn read_from_buffer(&mut self, buf: &mut [u8]) -> usize { |
| 502 | let available = &self.buffer[self.start..self.end]; | 502 | let available = &self.buffer[self.start..self.end]; |
| 503 | let len = core::cmp::min(available.len(), buf.len()); | 503 | let len = core::cmp::min(available.len(), buf.len()); |
| 504 | buf[..len].copy_from_slice(&self.buffer[..len]); | 504 | buf[..len].copy_from_slice(&available[..len]); |
| 505 | self.start += len; | 505 | self.start += len; |
| 506 | len | 506 | len |
| 507 | } | 507 | } |
diff --git a/embassy-usb/src/class/cdc_ncm/mod.rs b/embassy-usb/src/class/cdc_ncm/mod.rs index 09d923d2a..3af853091 100644 --- a/embassy-usb/src/class/cdc_ncm/mod.rs +++ b/embassy-usb/src/class/cdc_ncm/mod.rs | |||
| @@ -313,15 +313,15 @@ impl<'d, D: Driver<'d>> CdcNcmClass<'d, D> { | |||
| 313 | ], | 313 | ], |
| 314 | ); | 314 | ); |
| 315 | 315 | ||
| 316 | let comm_ep = alt.endpoint_interrupt_in(8, 255); | 316 | let comm_ep = alt.endpoint_interrupt_in(None, 8, 255); |
| 317 | 317 | ||
| 318 | // Data interface | 318 | // Data interface |
| 319 | let mut iface = func.interface(); | 319 | let mut iface = func.interface(); |
| 320 | let data_if = iface.interface_number(); | 320 | let data_if = iface.interface_number(); |
| 321 | let _alt = iface.alt_setting(USB_CLASS_CDC_DATA, 0x00, CDC_PROTOCOL_NTB, None); | 321 | let _alt = iface.alt_setting(USB_CLASS_CDC_DATA, 0x00, CDC_PROTOCOL_NTB, None); |
| 322 | let mut alt = iface.alt_setting(USB_CLASS_CDC_DATA, 0x00, CDC_PROTOCOL_NTB, None); | 322 | let mut alt = iface.alt_setting(USB_CLASS_CDC_DATA, 0x00, CDC_PROTOCOL_NTB, None); |
| 323 | let read_ep = alt.endpoint_bulk_out(max_packet_size); | 323 | let read_ep = alt.endpoint_bulk_out(None, max_packet_size); |
| 324 | let write_ep = alt.endpoint_bulk_in(max_packet_size); | 324 | let write_ep = alt.endpoint_bulk_in(None, max_packet_size); |
| 325 | 325 | ||
| 326 | drop(func); | 326 | drop(func); |
| 327 | 327 | ||
diff --git a/embassy-usb/src/class/cmsis_dap_v2.rs b/embassy-usb/src/class/cmsis_dap_v2.rs index a94e3ddb7..a9fd9cdf0 100644 --- a/embassy-usb/src/class/cmsis_dap_v2.rs +++ b/embassy-usb/src/class/cmsis_dap_v2.rs | |||
| @@ -61,10 +61,10 @@ impl<'d, D: Driver<'d>> CmsisDapV2Class<'d, D> { | |||
| 61 | )); | 61 | )); |
| 62 | let mut interface = function.interface(); | 62 | let mut interface = function.interface(); |
| 63 | let mut alt = interface.alt_setting(0xFF, 0, 0, Some(iface_string)); | 63 | let mut alt = interface.alt_setting(0xFF, 0, 0, Some(iface_string)); |
| 64 | let read_ep = alt.endpoint_bulk_out(max_packet_size); | 64 | let read_ep = alt.endpoint_bulk_out(None, max_packet_size); |
| 65 | let write_ep = alt.endpoint_bulk_in(max_packet_size); | 65 | let write_ep = alt.endpoint_bulk_in(None, max_packet_size); |
| 66 | let trace_ep = if trace { | 66 | let trace_ep = if trace { |
| 67 | Some(alt.endpoint_bulk_in(max_packet_size)) | 67 | Some(alt.endpoint_bulk_in(None, max_packet_size)) |
| 68 | } else { | 68 | } else { |
| 69 | None | 69 | None |
| 70 | }; | 70 | }; |
diff --git a/embassy-usb/src/class/hid.rs b/embassy-usb/src/class/hid.rs index 6d9e0aced..182e1f83f 100644 --- a/embassy-usb/src/class/hid.rs +++ b/embassy-usb/src/class/hid.rs | |||
| @@ -133,9 +133,9 @@ fn build<'d, D: Driver<'d>>( | |||
| 133 | ], | 133 | ], |
| 134 | ); | 134 | ); |
| 135 | 135 | ||
| 136 | let ep_in = alt.endpoint_interrupt_in(config.max_packet_size, config.poll_ms); | 136 | let ep_in = alt.endpoint_interrupt_in(None, config.max_packet_size, config.poll_ms); |
| 137 | let ep_out = if with_out_endpoint { | 137 | let ep_out = if with_out_endpoint { |
| 138 | Some(alt.endpoint_interrupt_out(config.max_packet_size, config.poll_ms)) | 138 | Some(alt.endpoint_interrupt_out(None, config.max_packet_size, config.poll_ms)) |
| 139 | } else { | 139 | } else { |
| 140 | None | 140 | None |
| 141 | }; | 141 | }; |
diff --git a/embassy-usb/src/class/midi.rs b/embassy-usb/src/class/midi.rs index 52a96f278..1d152ca44 100644 --- a/embassy-usb/src/class/midi.rs +++ b/embassy-usb/src/class/midi.rs | |||
| @@ -129,14 +129,14 @@ impl<'d, D: Driver<'d>> MidiClass<'d, D> { | |||
| 129 | for i in 0..n_out_jacks { | 129 | for i in 0..n_out_jacks { |
| 130 | endpoint_data[2 + i as usize] = in_jack_id_emb(i); | 130 | endpoint_data[2 + i as usize] = in_jack_id_emb(i); |
| 131 | } | 131 | } |
| 132 | let read_ep = alt.endpoint_bulk_out(max_packet_size); | 132 | let read_ep = alt.endpoint_bulk_out(None, max_packet_size); |
| 133 | alt.descriptor(CS_ENDPOINT, &endpoint_data[0..2 + n_out_jacks as usize]); | 133 | alt.descriptor(CS_ENDPOINT, &endpoint_data[0..2 + n_out_jacks as usize]); |
| 134 | 134 | ||
| 135 | endpoint_data[1] = n_in_jacks; | 135 | endpoint_data[1] = n_in_jacks; |
| 136 | for i in 0..n_in_jacks { | 136 | for i in 0..n_in_jacks { |
| 137 | endpoint_data[2 + i as usize] = out_jack_id_emb(i); | 137 | endpoint_data[2 + i as usize] = out_jack_id_emb(i); |
| 138 | } | 138 | } |
| 139 | let write_ep = alt.endpoint_bulk_in(max_packet_size); | 139 | let write_ep = alt.endpoint_bulk_in(None, max_packet_size); |
| 140 | alt.descriptor(CS_ENDPOINT, &endpoint_data[0..2 + n_in_jacks as usize]); | 140 | alt.descriptor(CS_ENDPOINT, &endpoint_data[0..2 + n_in_jacks as usize]); |
| 141 | 141 | ||
| 142 | MidiClass { read_ep, write_ep } | 142 | MidiClass { read_ep, write_ep } |
diff --git a/embassy-usb/src/class/uac1/speaker.rs b/embassy-usb/src/class/uac1/speaker.rs index 1ff29088c..9565e2a25 100644 --- a/embassy-usb/src/class/uac1/speaker.rs +++ b/embassy-usb/src/class/uac1/speaker.rs | |||
| @@ -268,9 +268,10 @@ impl<'d, D: Driver<'d>> Speaker<'d, D> { | |||
| 268 | 268 | ||
| 269 | alt.descriptor(CS_INTERFACE, &format_descriptor); | 269 | alt.descriptor(CS_INTERFACE, &format_descriptor); |
| 270 | 270 | ||
| 271 | let streaming_endpoint = alt.alloc_endpoint_out(EndpointType::Isochronous, max_packet_size, 1); | 271 | let streaming_endpoint = alt.alloc_endpoint_out(EndpointType::Isochronous, None, max_packet_size, 1); |
| 272 | let feedback_endpoint = alt.alloc_endpoint_in( | 272 | let feedback_endpoint = alt.alloc_endpoint_in( |
| 273 | EndpointType::Isochronous, | 273 | EndpointType::Isochronous, |
| 274 | None, | ||
| 274 | 4, // Feedback packets are 24 bit (10.14 format). | 275 | 4, // Feedback packets are 24 bit (10.14 format). |
| 275 | 1, | 276 | 1, |
| 276 | ); | 277 | ); |
diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index e9616aa54..9c7fdf148 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml | |||
| @@ -8,10 +8,10 @@ license = "MIT OR Apache-2.0" | |||
| 8 | embassy-sync = { version = "0.7.0", path = "../../../../embassy-sync" } | 8 | embassy-sync = { version = "0.7.0", path = "../../../../embassy-sync" } |
| 9 | embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "arch-cortex-m", "executor-thread"] } | 9 | embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "arch-cortex-m", "executor-thread"] } |
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] } |
| 11 | embassy-nrf = { version = "0.4.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } | 11 | embassy-nrf = { version = "0.5.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } |
| 12 | embassy-boot = { version = "0.4.0", path = "../../../../embassy-boot", features = [] } | 12 | embassy-boot = { version = "0.4.0", path = "../../../../embassy-boot", features = [] } |
| 13 | embassy-boot-nrf = { version = "0.5.0", path = "../../../../embassy-boot-nrf", features = [] } | 13 | embassy-boot-nrf = { version = "0.5.0", path = "../../../../embassy-boot-nrf", features = [] } |
| 14 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 14 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 15 | 15 | ||
| 16 | defmt = { version = "1.0.1", optional = true } | 16 | defmt = { version = "1.0.1", optional = true } |
| 17 | defmt-rtt = { version = "1.0.0", optional = true } | 17 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index be283fb27..afb0871e6 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml | |||
| @@ -8,9 +8,9 @@ license = "MIT OR Apache-2.0" | |||
| 8 | embassy-sync = { version = "0.7.0", path = "../../../../embassy-sync" } | 8 | embassy-sync = { version = "0.7.0", path = "../../../../embassy-sync" } |
| 9 | embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] } | 9 | embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] } |
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] } |
| 11 | embassy-rp = { version = "0.4.0", path = "../../../../embassy-rp", features = ["time-driver", "rp2040"] } | 11 | embassy-rp = { version = "0.6.0", path = "../../../../embassy-rp", features = ["time-driver", "rp2040"] } |
| 12 | embassy-boot-rp = { version = "0.5.0", path = "../../../../embassy-boot-rp", features = [] } | 12 | embassy-boot-rp = { version = "0.5.0", path = "../../../../embassy-boot-rp", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = "1.0.1" | 15 | defmt = "1.0.1" |
| 16 | defmt-rtt = "1.0.0" | 16 | defmt-rtt = "1.0.0" |
diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index b3466e288..4cd2d1338 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32" } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32" } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index 72dbded5f..f3d74f53a 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti", "single-bank"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti", "single-bank"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index 57fb8312c..427b15bcb 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index 7dbbba138..46e79f7ed 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index 9549b2048..ae3cd3600 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index 03daeb0bc..a41b25562 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index e582628aa..287fcf806 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml | |||
| @@ -10,8 +10,8 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../../../embassy-usb" } | 14 | embassy-usb = { version = "0.5.0", path = "../../../../embassy-usb" } |
| 15 | embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["application", "cortex-m"] } | 15 | embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["application", "cortex-m"] } |
| 16 | 16 | ||
| 17 | defmt = { version = "1.0.1", optional = true } | 17 | defmt = { version = "1.0.1", optional = true } |
diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index 3ed04b472..af49db260 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", f | |||
| 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } |
| 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } | 12 | embassy-boot-stm32 = { version = "0.3.0", path = "../../../../embassy-boot-stm32", features = [] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = { version = "1.0.1", optional = true } | 15 | defmt = { version = "1.0.1", optional = true } |
| 16 | defmt-rtt = { version = "1.0.0", optional = true } | 16 | defmt-rtt = { version = "1.0.0", optional = true } |
diff --git a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml index 0bb93b12e..d101e6ace 100644 --- a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml +++ b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml | |||
| @@ -18,7 +18,7 @@ embedded-storage = "0.3.1" | |||
| 18 | embedded-storage-async = "0.4.0" | 18 | embedded-storage-async = "0.4.0" |
| 19 | cfg-if = "1.0.0" | 19 | cfg-if = "1.0.0" |
| 20 | embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["dfu", "cortex-m"] } | 20 | embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["dfu", "cortex-m"] } |
| 21 | embassy-usb = { version = "0.4.0", path = "../../../../embassy-usb", default-features = false } | 21 | embassy-usb = { version = "0.5.0", path = "../../../../embassy-usb", default-features = false } |
| 22 | embassy-futures = { version = "0.1.1", path = "../../../../embassy-futures" } | 22 | embassy-futures = { version = "0.1.1", path = "../../../../embassy-futures" } |
| 23 | 23 | ||
| 24 | [features] | 24 | [features] |
diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index 7bf38cb3f..f1c40192d 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml | |||
| @@ -18,7 +18,7 @@ log = [ | |||
| 18 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync" } | 18 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync" } |
| 19 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace"] } | 19 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace"] } |
| 20 | embassy-time = { version = "0.4.0", path = "../../embassy-time" } | 20 | embassy-time = { version = "0.4.0", path = "../../embassy-time" } |
| 21 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } | 21 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } |
| 22 | 22 | ||
| 23 | cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } | 23 | cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } |
| 24 | cortex-m-rt = "0.7.0" | 24 | cortex-m-rt = "0.7.0" |
diff --git a/examples/nrf51/Cargo.toml b/examples/nrf51/Cargo.toml index 89f78efa0..a21d7f6ce 100644 --- a/examples/nrf51/Cargo.toml +++ b/examples/nrf51/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 8 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 9 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 9 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } | 10 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } |
| 11 | 11 | ||
| 12 | defmt = "1.0.1" | 12 | defmt = "1.0.1" |
| 13 | defmt-rtt = "1.0.0" | 13 | defmt-rtt = "1.0.0" |
diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml index 548a16c8d..baa873f22 100644 --- a/examples/nrf52810/Cargo.toml +++ b/examples/nrf52810/Cargo.toml | |||
| @@ -9,7 +9,7 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | |||
| 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 10 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 10 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 11 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 11 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 12 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 12 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 13 | 13 | ||
| 14 | defmt = "1.0.1" | 14 | defmt = "1.0.1" |
| 15 | defmt-rtt = "1.0.0" | 15 | defmt-rtt = "1.0.0" |
diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml index efe57f264..3e499e9bc 100644 --- a/examples/nrf52840-rtic/Cargo.toml +++ b/examples/nrf52840-rtic/Cargo.toml | |||
| @@ -11,7 +11,7 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | |||
| 11 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 11 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime"] } |
| 13 | embassy-time-queue-utils = { version = "0.1", path = "../../embassy-time-queue-utils", features = ["generic-queue-8"] } | 13 | embassy-time-queue-utils = { version = "0.1", path = "../../embassy-time-queue-utils", features = ["generic-queue-8"] } |
| 14 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 14 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 15 | 15 | ||
| 16 | defmt = "1.0.1" | 16 | defmt = "1.0.1" |
| 17 | defmt-rtt = "1.0.0" | 17 | defmt-rtt = "1.0.0" |
diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index 6c741f344..d2baebf8e 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml | |||
| @@ -9,9 +9,9 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | |||
| 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 10 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 10 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 11 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 11 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 12 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 12 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } | 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embedded-io = { version = "0.6.0", features = ["defmt-03"] } | 15 | embedded-io = { version = "0.6.0", features = ["defmt-03"] } |
| 16 | embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } | 16 | embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } |
| 17 | embassy-net-esp-hosted = { version = "0.2.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } | 17 | embassy-net-esp-hosted = { version = "0.2.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } |
diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 0351cfe27..bdebd5386 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml | |||
| @@ -9,9 +9,9 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | |||
| 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 10 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 10 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 11 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 11 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 12 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } | 12 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } |
| 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } | 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embedded-io-async = { version = "0.6.1" } | 15 | embedded-io-async = { version = "0.6.1" } |
| 16 | 16 | ||
| 17 | defmt = "1.0.1" | 17 | defmt = "1.0.1" |
diff --git a/examples/nrf54l15/Cargo.toml b/examples/nrf54l15/Cargo.toml index b1189e887..27d5babee 100644 --- a/examples/nrf54l15/Cargo.toml +++ b/examples/nrf54l15/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 8 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 9 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 9 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "nrf54l15-app-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 10 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "nrf54l15-app-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 11 | 11 | ||
| 12 | defmt = "1.0.1" | 12 | defmt = "1.0.1" |
| 13 | defmt-rtt = "1.0.0" | 13 | defmt-rtt = "1.0.0" |
diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml index 32501e88d..2a492b595 100644 --- a/examples/nrf9151/ns/Cargo.toml +++ b/examples/nrf9151/ns/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 8 | embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 9 | embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 9 | embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-nrf = { version = "0.4.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 10 | embassy-nrf = { version = "0.5.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 11 | 11 | ||
| 12 | defmt = "1.0.1" | 12 | defmt = "1.0.1" |
| 13 | defmt-rtt = "1.0.0" | 13 | defmt-rtt = "1.0.0" |
diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml index 23238412c..62ef3e4ce 100644 --- a/examples/nrf9151/s/Cargo.toml +++ b/examples/nrf9151/s/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 8 | embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 9 | embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 9 | embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-nrf = { version = "0.4.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 10 | embassy-nrf = { version = "0.5.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 11 | 11 | ||
| 12 | defmt = "1.0.1" | 12 | defmt = "1.0.1" |
| 13 | defmt-rtt = "1.0.0" | 13 | defmt-rtt = "1.0.0" |
diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index f34c3a053..c896afdbe 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 8 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 9 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 9 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } | 10 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } |
| 11 | embassy-net-nrf91 = { version = "0.1.0", path = "../../embassy-net-nrf91", features = ["defmt"] } | 11 | embassy-net-nrf91 = { version = "0.1.0", path = "../../embassy-net-nrf91", features = ["defmt"] } |
| 12 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "proto-ipv4", "medium-ip"] } | 12 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "proto-ipv4", "medium-ip"] } |
| 13 | 13 | ||
diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 8d05d5a8c..971f99fff 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml | |||
| @@ -6,18 +6,18 @@ license = "MIT OR Apache-2.0" | |||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal", features = ["defmt"] } | 9 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal", features = ["defmt"] } |
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 13 | embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp2040"] } | 13 | embassy-rp = { version = "0.6.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp2040"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "icmp", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns", "proto-ipv4", "proto-ipv6", "multicast"] } | 15 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "icmp", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns", "proto-ipv4", "proto-ipv6", "multicast"] } |
| 16 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } | 16 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } |
| 17 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 17 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 18 | embassy-usb-logger = { version = "0.4.0", path = "../../embassy-usb-logger" } | 18 | embassy-usb-logger = { version = "0.4.0", path = "../../embassy-usb-logger" } |
| 19 | cyw43 = { version = "0.3.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } | 19 | cyw43 = { version = "0.4.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } |
| 20 | cyw43-pio = { version = "0.4.0", path = "../../cyw43-pio", features = ["defmt"] } | 20 | cyw43-pio = { version = "0.5.1", path = "../../cyw43-pio", features = ["defmt"] } |
| 21 | 21 | ||
| 22 | defmt = "1.0.1" | 22 | defmt = "1.0.1" |
| 23 | defmt-rtt = "1.0.0" | 23 | defmt-rtt = "1.0.0" |
diff --git a/examples/rp/src/bin/usb_raw_bulk.rs b/examples/rp/src/bin/usb_raw_bulk.rs index 103269791..0747901d1 100644 --- a/examples/rp/src/bin/usb_raw_bulk.rs +++ b/examples/rp/src/bin/usb_raw_bulk.rs | |||
| @@ -96,8 +96,8 @@ async fn main(_spawner: Spawner) { | |||
| 96 | let mut function = builder.function(0xFF, 0, 0); | 96 | let mut function = builder.function(0xFF, 0, 0); |
| 97 | let mut interface = function.interface(); | 97 | let mut interface = function.interface(); |
| 98 | let mut alt = interface.alt_setting(0xFF, 0, 0, None); | 98 | let mut alt = interface.alt_setting(0xFF, 0, 0, None); |
| 99 | let mut read_ep = alt.endpoint_bulk_out(64); | 99 | let mut read_ep = alt.endpoint_bulk_out(None, 64); |
| 100 | let mut write_ep = alt.endpoint_bulk_in(64); | 100 | let mut write_ep = alt.endpoint_bulk_in(None, 64); |
| 101 | drop(function); | 101 | drop(function); |
| 102 | 102 | ||
| 103 | // Build the builder. | 103 | // Build the builder. |
diff --git a/examples/rp/src/bin/usb_webusb.rs b/examples/rp/src/bin/usb_webusb.rs index a5dc94d5b..5cecb92f0 100644 --- a/examples/rp/src/bin/usb_webusb.rs +++ b/examples/rp/src/bin/usb_webusb.rs | |||
| @@ -125,8 +125,8 @@ impl<'d, D: Driver<'d>> WebEndpoints<'d, D> { | |||
| 125 | let mut iface = func.interface(); | 125 | let mut iface = func.interface(); |
| 126 | let mut alt = iface.alt_setting(0xff, 0x00, 0x00, None); | 126 | let mut alt = iface.alt_setting(0xff, 0x00, 0x00, None); |
| 127 | 127 | ||
| 128 | let write_ep = alt.endpoint_bulk_in(config.max_packet_size); | 128 | let write_ep = alt.endpoint_bulk_in(None, config.max_packet_size); |
| 129 | let read_ep = alt.endpoint_bulk_out(config.max_packet_size); | 129 | let read_ep = alt.endpoint_bulk_out(None, config.max_packet_size); |
| 130 | 130 | ||
| 131 | WebEndpoints { write_ep, read_ep } | 131 | WebEndpoints { write_ep, read_ep } |
| 132 | } | 132 | } |
diff --git a/examples/rp235x/Cargo.toml b/examples/rp235x/Cargo.toml index c6afe37db..d909aca1b 100644 --- a/examples/rp235x/Cargo.toml +++ b/examples/rp235x/Cargo.toml | |||
| @@ -6,18 +6,18 @@ license = "MIT OR Apache-2.0" | |||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal", features = ["defmt"] } | 9 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal", features = ["defmt"] } |
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 13 | embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info"] } | 13 | embassy-rp = { version = "0.6.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } | 15 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } |
| 16 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } | 16 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } |
| 17 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 17 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 18 | embassy-usb-logger = { version = "0.4.0", path = "../../embassy-usb-logger" } | 18 | embassy-usb-logger = { version = "0.4.0", path = "../../embassy-usb-logger" } |
| 19 | cyw43 = { version = "0.3.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } | 19 | cyw43 = { version = "0.4.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } |
| 20 | cyw43-pio = { version = "0.4.0", path = "../../cyw43-pio", features = ["defmt"] } | 20 | cyw43-pio = { version = "0.5.1", path = "../../cyw43-pio", features = ["defmt"] } |
| 21 | 21 | ||
| 22 | defmt = "1.0.1" | 22 | defmt = "1.0.1" |
| 23 | defmt-rtt = "1.0.0" | 23 | defmt-rtt = "1.0.0" |
diff --git a/examples/rp235x/memory.x b/examples/rp235x/memory.x index c803896f6..4382e2065 100644 --- a/examples/rp235x/memory.x +++ b/examples/rp235x/memory.x | |||
| @@ -17,8 +17,8 @@ MEMORY { | |||
| 17 | * of access times. | 17 | * of access times. |
| 18 | * Example: Separate stacks for core0 and core1. | 18 | * Example: Separate stacks for core0 and core1. |
| 19 | */ | 19 | */ |
| 20 | SRAM4 : ORIGIN = 0x20080000, LENGTH = 4K | 20 | SRAM8 : ORIGIN = 0x20080000, LENGTH = 4K |
| 21 | SRAM5 : ORIGIN = 0x20081000, LENGTH = 4K | 21 | SRAM9 : ORIGIN = 0x20081000, LENGTH = 4K |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | SECTIONS { | 24 | SECTIONS { |
diff --git a/examples/rp235x/src/bin/usb_webusb.rs b/examples/rp235x/src/bin/usb_webusb.rs index 75d28c853..a68163b61 100644 --- a/examples/rp235x/src/bin/usb_webusb.rs +++ b/examples/rp235x/src/bin/usb_webusb.rs | |||
| @@ -125,8 +125,8 @@ impl<'d, D: Driver<'d>> WebEndpoints<'d, D> { | |||
| 125 | let mut iface = func.interface(); | 125 | let mut iface = func.interface(); |
| 126 | let mut alt = iface.alt_setting(0xff, 0x00, 0x00, None); | 126 | let mut alt = iface.alt_setting(0xff, 0x00, 0x00, None); |
| 127 | 127 | ||
| 128 | let write_ep = alt.endpoint_bulk_in(config.max_packet_size); | 128 | let write_ep = alt.endpoint_bulk_in(None, config.max_packet_size); |
| 129 | let read_ep = alt.endpoint_bulk_out(config.max_packet_size); | 129 | let read_ep = alt.endpoint_bulk_out(None, config.max_packet_size); |
| 130 | 130 | ||
| 131 | WebEndpoints { write_ep, read_ep } | 131 | WebEndpoints { write_ep, read_ep } |
| 132 | } | 132 | } |
diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 261733305..01f4fd84a 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | 15 | ||
| 16 | defmt = "1.0.1" | 16 | defmt = "1.0.1" |
diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index f675b0be1..ab7d6b255 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | 15 | ||
| 16 | defmt = "1.0.1" | 16 | defmt = "1.0.1" |
diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index b47a81e1b..6595804e1 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml | |||
| @@ -9,7 +9,7 @@ embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["de | |||
| 9 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 9 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 10 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } |
| 12 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 12 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 13 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 13 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 14 | 14 | ||
| 15 | defmt = "1.0.1" | 15 | defmt = "1.0.1" |
diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index edab9ea00..80c43f2ab 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [" | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt" ] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt" ] } |
| 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } | 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } |
| 15 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } | 15 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } |
| 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index c5801ea90..5995211d2 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml | |||
| @@ -12,7 +12,7 @@ embassy-executor = { version = "0.7.0", path = "../../embassy-executor", feature | |||
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } | 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } |
| 14 | embedded-io-async = { version = "0.6.1" } | 14 | embedded-io-async = { version = "0.6.1" } |
| 15 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 15 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 17 | 17 | ||
| 18 | defmt = "1.0.1" | 18 | defmt = "1.0.1" |
diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index bf1e7250e..1c290fcfa 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | 15 | ||
| 16 | defmt = "1.0.1" | 16 | defmt = "1.0.1" |
diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 3d2c2aa7d..a503420e5 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | usbd-hid = "0.8.1" | 15 | usbd-hid = "0.8.1" |
| 16 | 16 | ||
diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index f3fda7ff3..0ac9016d4 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml | |||
| @@ -11,7 +11,7 @@ embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["de | |||
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } | 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 16 | 16 | ||
| 17 | defmt = "1.0.1" | 17 | defmt = "1.0.1" |
diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 27c59d980..9053289ea 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml | |||
| @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" | |||
| 8 | # Change stm32h743bi to your chip name, if necessary. | 8 | # Change stm32h743bi to your chip name, if necessary. |
| 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } | 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } |
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 11 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } | 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } |
| 15 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 15 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 17 | 17 | ||
| 18 | defmt = "1.0.1" | 18 | defmt = "1.0.1" |
diff --git a/examples/stm32h735/Cargo.toml b/examples/stm32h735/Cargo.toml index 8d23c346a..e4938e15b 100644 --- a/examples/stm32h735/Cargo.toml +++ b/examples/stm32h735/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } | 8 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } |
| 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 10 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 10 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 13 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
diff --git a/examples/stm32h742/Cargo.toml b/examples/stm32h742/Cargo.toml index 31eff4379..efa71e144 100644 --- a/examples/stm32h742/Cargo.toml +++ b/examples/stm32h742/Cargo.toml | |||
| @@ -34,7 +34,7 @@ embassy-net = { version = "0.7.0", path = "../../embassy-net", features = [ | |||
| 34 | "medium-ethernet", | 34 | "medium-ethernet", |
| 35 | ] } | 35 | ] } |
| 36 | embedded-io-async = { version = "0.6.1" } | 36 | embedded-io-async = { version = "0.6.1" } |
| 37 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = [ | 37 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = [ |
| 38 | "defmt", | 38 | "defmt", |
| 39 | ] } | 39 | ] } |
| 40 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 40 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
diff --git a/examples/stm32h755cm4/Cargo.toml b/examples/stm32h755cm4/Cargo.toml index 71bd50d60..eaaeb1ac0 100644 --- a/examples/stm32h755cm4/Cargo.toml +++ b/examples/stm32h755cm4/Cargo.toml | |||
| @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" | |||
| 8 | # Change stm32h755zi-cm4 to your chip name, if necessary. | 8 | # Change stm32h755zi-cm4 to your chip name, if necessary. |
| 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm4", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } | 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm4", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } |
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 11 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } | 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } |
| 15 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 15 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 17 | 17 | ||
| 18 | defmt = "1.0.1" | 18 | defmt = "1.0.1" |
diff --git a/examples/stm32h755cm7/Cargo.toml b/examples/stm32h755cm7/Cargo.toml index 8e960932a..e7fc05948 100644 --- a/examples/stm32h755cm7/Cargo.toml +++ b/examples/stm32h755cm7/Cargo.toml | |||
| @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" | |||
| 8 | # Change stm32h743bi to your chip name, if necessary. | 8 | # Change stm32h743bi to your chip name, if necessary. |
| 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm7", "time-driver-tim3", "exti", "memory-x", "unstable-pac", "chrono"] } | 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm7", "time-driver-tim3", "exti", "memory-x", "unstable-pac", "chrono"] } |
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 11 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } | 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } |
| 15 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 15 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 17 | 17 | ||
| 18 | defmt = "1.0.1" | 18 | defmt = "1.0.1" |
diff --git a/examples/stm32h7b0/Cargo.toml b/examples/stm32h7b0/Cargo.toml index 72f86e0cf..bfa7f9202 100644 --- a/examples/stm32h7b0/Cargo.toml +++ b/examples/stm32h7b0/Cargo.toml | |||
| @@ -7,11 +7,11 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7b0vb", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } | 8 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7b0vb", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } |
| 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 9 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 10 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 10 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } | 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 16 | 16 | ||
| 17 | defmt = "1.0.1" | 17 | defmt = "1.0.1" |
diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index 5f1ce8dfc..9794c6dbd 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml | |||
| @@ -11,7 +11,7 @@ embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["de | |||
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "medium-ethernet", "medium-ip", "proto-ipv4"] } | 13 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "medium-ethernet", "medium-ip", "proto-ipv4"] } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 16 | 16 | ||
| 17 | defmt = "1.0.1" | 17 | defmt = "1.0.1" |
diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index a0a7916a7..5d5d401f6 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml | |||
| @@ -9,7 +9,7 @@ embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["de | |||
| 9 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 9 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 10 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } | 11 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } |
| 12 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 12 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 13 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 13 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 14 | 14 | ||
| 15 | defmt = "1.0.1" | 15 | defmt = "1.0.1" |
diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index 7da09e5b0..a6b4efcf8 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml | |||
| @@ -10,8 +10,8 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 14 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 14 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 15 | embassy-net-adin1110 = { version = "0.3.0", path = "../../embassy-net-adin1110" } | 15 | embassy-net-adin1110 = { version = "0.3.0", path = "../../embassy-net-adin1110" } |
| 16 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "tcp", "dhcpv4", "medium-ethernet"] } | 16 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "tcp", "dhcpv4", "medium-ethernet"] } |
| 17 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 17 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 3ea3bcd5c..1379d963c 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } | 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } |
| 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 15 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 16 | usbd-hid = "0.8.1" | 16 | usbd-hid = "0.8.1" |
diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index 3aa45dc79..612d12ac2 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | 15 | ||
| 16 | defmt = "1.0.1" | 16 | defmt = "1.0.1" |
diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 777d3ed4c..f92e85852 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [" | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] } | 13 | embassy-usb = { version = "0.5.0", path = "../../embassy-usb", features = ["defmt"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | 15 | ||
| 16 | defmt = "1.0.1" | 16 | defmt = "1.0.1" |
diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index 5ecd77443..1c5d9c07a 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml | |||
| @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [" | |||
| 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" } | 13 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal" } |
| 14 | 14 | ||
| 15 | defmt = "1.0.1" | 15 | defmt = "1.0.1" |
| 16 | defmt-rtt = "1.0.0" | 16 | defmt-rtt = "1.0.0" |
diff --git a/tests/mspm0/Cargo.toml b/tests/mspm0/Cargo.toml index 5d34ece7e..2d5b8cd52 100644 --- a/tests/mspm0/Cargo.toml +++ b/tests/mspm0/Cargo.toml | |||
| @@ -15,7 +15,7 @@ embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = [ "d | |||
| 15 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = [ "arch-cortex-m", "executor-thread", "defmt" ] } | 15 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = [ "arch-cortex-m", "executor-thread", "defmt" ] } |
| 16 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = [ "defmt" ] } | 16 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = [ "defmt" ] } |
| 17 | embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = [ "rt", "defmt", "unstable-pac", "time-driver-any" ] } | 17 | embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = [ "rt", "defmt", "unstable-pac", "time-driver-any" ] } |
| 18 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal/"} | 18 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal/"} |
| 19 | 19 | ||
| 20 | defmt = "1.0.1" | 20 | defmt = "1.0.1" |
| 21 | defmt-rtt = "1.0.0" | 21 | defmt-rtt = "1.0.0" |
diff --git a/tests/nrf/Cargo.toml b/tests/nrf/Cargo.toml index b46498a7a..b167c589e 100644 --- a/tests/nrf/Cargo.toml +++ b/tests/nrf/Cargo.toml | |||
| @@ -11,7 +11,7 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | |||
| 11 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt", ] } | 11 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt", ] } |
| 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 12 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 13 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 14 | embassy-nrf = { version = "0.4.0", path = "../../embassy-nrf", features = ["defmt", "time-driver-rtc1", "gpiote", "unstable-pac"] } | 14 | embassy-nrf = { version = "0.5.0", path = "../../embassy-nrf", features = ["defmt", "time-driver-rtc1", "gpiote", "unstable-pac"] } |
| 15 | embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } | 15 | embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } |
| 16 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } | 16 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } |
| 17 | embassy-net-esp-hosted = { version = "0.2.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } | 17 | embassy-net-esp-hosted = { version = "0.2.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } |
diff --git a/tests/rp/Cargo.toml b/tests/rp/Cargo.toml index 2be37f525..298955fe3 100644 --- a/tests/rp/Cargo.toml +++ b/tests/rp/Cargo.toml | |||
| @@ -15,11 +15,11 @@ teleprobe-meta = "1.1" | |||
| 15 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } | 15 | embassy-sync = { version = "0.7.0", path = "../../embassy-sync", features = ["defmt"] } |
| 16 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } | 16 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } |
| 17 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", ] } | 17 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", ] } |
| 18 | embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"] } | 18 | embassy-rp = { version = "0.6.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"] } |
| 19 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 19 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 20 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] } | 20 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] } |
| 21 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } | 21 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } |
| 22 | embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal/"} | 22 | embassy-embedded-hal = { version = "0.3.1", path = "../../embassy-embedded-hal/"} |
| 23 | cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] } | 23 | cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] } |
| 24 | cyw43-pio = { path = "../../cyw43-pio", features = ["defmt"] } | 24 | cyw43-pio = { path = "../../cyw43-pio", features = ["defmt"] } |
| 25 | perf-client = { path = "../perf-client" } | 25 | perf-client = { path = "../perf-client" } |
