aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-net/Cargo.toml1
-rw-r--r--embassy-net/src/lib.rs5
-rw-r--r--embassy-rp/Cargo.toml1
-rw-r--r--embassy-stm32-wpan/Cargo.toml2
-rw-r--r--embassy-stm32-wpan/src/mac/control.rs2
-rw-r--r--embassy-stm32/Cargo.toml2
-rw-r--r--embassy-stm32/src/eth/generic_smi.rs5
-rw-r--r--embassy-stm32/src/flash/f4.rs3
-rw-r--r--embassy-stm32/src/i2c/mod.rs2
-rw-r--r--embassy-stm32/src/usart/buffered.rs17
-rw-r--r--embassy-stm32/src/usart/mod.rs4
-rw-r--r--embassy-stm32/src/usart/ringbuffered.rs2
-rw-r--r--embassy-time/src/timer.rs10
-rw-r--r--embassy-usb-driver/Cargo.toml2
-rw-r--r--embassy-usb-synopsys-otg/Cargo.toml3
-rw-r--r--embassy-usb-synopsys-otg/src/lib.rs2
-rw-r--r--examples/nrf-rtos-trace/Cargo.toml1
-rw-r--r--examples/nrf52840-rtic/Cargo.toml1
-rw-r--r--examples/nrf52840/Cargo.toml1
-rw-r--r--examples/nrf52840/src/bin/gpiote_channel.rs2
-rw-r--r--examples/nrf5340/Cargo.toml1
-rw-r--r--examples/nrf5340/src/bin/gpiote_channel.rs2
-rw-r--r--examples/rp/Cargo.toml1
-rw-r--r--examples/stm32c0/Cargo.toml1
-rw-r--r--examples/stm32f0/Cargo.toml2
-rw-r--r--examples/stm32f1/Cargo.toml1
-rw-r--r--examples/stm32f2/Cargo.toml1
-rw-r--r--examples/stm32f3/Cargo.toml1
-rw-r--r--examples/stm32f334/Cargo.toml1
-rw-r--r--examples/stm32f4/Cargo.toml3
-rw-r--r--examples/stm32f4/src/bin/i2c_comparison.rs2
-rw-r--r--examples/stm32f4/src/bin/usb_hid_keyboard.rs2
-rw-r--r--examples/stm32f4/src/bin/usb_hid_mouse.rs2
-rw-r--r--examples/stm32f4/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32f7/Cargo.toml2
-rw-r--r--examples/stm32f7/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32g0/Cargo.toml1
-rw-r--r--examples/stm32g4/Cargo.toml1
-rw-r--r--examples/stm32g4/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32h5/Cargo.toml2
-rw-r--r--examples/stm32h5/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32h7/Cargo.toml2
-rw-r--r--examples/stm32h7/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32l0/Cargo.toml1
-rw-r--r--examples/stm32l1/Cargo.toml2
-rw-r--r--examples/stm32l1/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32l4/Cargo.toml1
-rw-r--r--examples/stm32l4/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32l5/Cargo.toml1
-rw-r--r--examples/stm32u0/Cargo.toml2
-rw-r--r--examples/stm32u0/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32u5/Cargo.toml2
-rw-r--r--examples/stm32u5/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32wb/Cargo.toml1
-rw-r--r--examples/stm32wba/Cargo.toml1
-rw-r--r--examples/stm32wl/Cargo.toml1
-rw-r--r--tests/perf-client/Cargo.toml2
-rw-r--r--tests/rp/Cargo.toml1
-rw-r--r--tests/utils/Cargo.toml2
59 files changed, 55 insertions, 76 deletions
diff --git a/embassy-net/Cargo.toml b/embassy-net/Cargo.toml
index ee7289ad8..7d71e902f 100644
--- a/embassy-net/Cargo.toml
+++ b/embassy-net/Cargo.toml
@@ -81,7 +81,6 @@ heapless = { version = "0.8", default-features = false }
81as-slice = "0.2.1" 81as-slice = "0.2.1"
82generic-array = { version = "0.14.4", default-features = false } 82generic-array = { version = "0.14.4", default-features = false }
83stable_deref_trait = { version = "1.2.0", default-features = false } 83stable_deref_trait = { version = "1.2.0", default-features = false }
84futures = { version = "0.3.17", default-features = false, features = [ "async-await" ] }
85atomic-pool = "1.0" 84atomic-pool = "1.0"
86embedded-nal-async = { version = "0.7.1" } 85embedded-nal-async = { version = "0.7.1" }
87document-features = "0.2.7" 86document-features = "0.2.7"
diff --git a/embassy-net/src/lib.rs b/embassy-net/src/lib.rs
index 86ced1ded..12f5f30b4 100644
--- a/embassy-net/src/lib.rs
+++ b/embassy-net/src/lib.rs
@@ -25,13 +25,13 @@ pub mod udp;
25 25
26use core::cell::RefCell; 26use core::cell::RefCell;
27use core::future::{poll_fn, Future}; 27use core::future::{poll_fn, Future};
28use core::pin::pin;
28use core::task::{Context, Poll}; 29use core::task::{Context, Poll};
29 30
30pub use embassy_net_driver as driver; 31pub use embassy_net_driver as driver;
31use embassy_net_driver::{Driver, LinkState}; 32use embassy_net_driver::{Driver, LinkState};
32use embassy_sync::waitqueue::WakerRegistration; 33use embassy_sync::waitqueue::WakerRegistration;
33use embassy_time::{Instant, Timer}; 34use embassy_time::{Instant, Timer};
34use futures::pin_mut;
35#[allow(unused_imports)] 35#[allow(unused_imports)]
36use heapless::Vec; 36use heapless::Vec;
37#[cfg(feature = "igmp")] 37#[cfg(feature = "igmp")]
@@ -905,8 +905,7 @@ impl<D: Driver> Inner<D> {
905 } 905 }
906 906
907 if let Some(poll_at) = s.iface.poll_at(timestamp, &mut s.sockets) { 907 if let Some(poll_at) = s.iface.poll_at(timestamp, &mut s.sockets) {
908 let t = Timer::at(instant_from_smoltcp(poll_at)); 908 let t = pin!(Timer::at(instant_from_smoltcp(poll_at)));
909 pin_mut!(t);
910 if t.poll(cx).is_ready() { 909 if t.poll(cx).is_ready() {
911 cx.waker().wake_by_ref(); 910 cx.waker().wake_by_ref();
912 } 911 }
diff --git a/embassy-rp/Cargo.toml b/embassy-rp/Cargo.toml
index 794f1109c..d97b7c6fc 100644
--- a/embassy-rp/Cargo.toml
+++ b/embassy-rp/Cargo.toml
@@ -96,7 +96,6 @@ cfg-if = "1.0.0"
96cortex-m-rt = ">=0.6.15,<0.8" 96cortex-m-rt = ">=0.6.15,<0.8"
97cortex-m = "0.7.6" 97cortex-m = "0.7.6"
98critical-section = "1.1" 98critical-section = "1.1"
99futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
100chrono = { version = "0.4", default-features = false, optional = true } 99chrono = { version = "0.4", default-features = false, optional = true }
101embedded-io = { version = "0.6.1" } 100embedded-io = { version = "0.6.1" }
102embedded-io-async = { version = "0.6.1" } 101embedded-io-async = { version = "0.6.1" }
diff --git a/embassy-stm32-wpan/Cargo.toml b/embassy-stm32-wpan/Cargo.toml
index 360ca5f4b..d4f7e5892 100644
--- a/embassy-stm32-wpan/Cargo.toml
+++ b/embassy-stm32-wpan/Cargo.toml
@@ -35,7 +35,7 @@ aligned = "0.4.1"
35bit_field = "0.10.2" 35bit_field = "0.10.2"
36stm32-device-signature = { version = "0.3.3", features = ["stm32wb5x"] } 36stm32-device-signature = { version = "0.3.3", features = ["stm32wb5x"] }
37stm32wb-hci = { version = "0.17.0", optional = true } 37stm32wb-hci = { version = "0.17.0", optional = true }
38futures = { version = "0.3.17", default-features = false, features = ["async-await"] } 38futures-util = { version = "0.3.30", default-features = false }
39bitflags = { version = "2.3.3", optional = true } 39bitflags = { version = "2.3.3", optional = true }
40 40
41[features] 41[features]
diff --git a/embassy-stm32-wpan/src/mac/control.rs b/embassy-stm32-wpan/src/mac/control.rs
index 8a13de81c..e8d2f9f7b 100644
--- a/embassy-stm32-wpan/src/mac/control.rs
+++ b/embassy-stm32-wpan/src/mac/control.rs
@@ -5,7 +5,7 @@ use core::task::Poll;
5use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; 5use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex;
6use embassy_sync::mutex::MutexGuard; 6use embassy_sync::mutex::MutexGuard;
7use embassy_sync::signal::Signal; 7use embassy_sync::signal::Signal;
8use futures::FutureExt; 8use futures_util::FutureExt;
9 9
10use super::commands::MacCommand; 10use super::commands::MacCommand;
11use super::event::MacEvent; 11use super::event::MacEvent;
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml
index da8978599..669e6537a 100644
--- a/embassy-stm32/Cargo.toml
+++ b/embassy-stm32/Cargo.toml
@@ -67,7 +67,7 @@ defmt = { version = "0.3", optional = true }
67log = { version = "0.4.14", optional = true } 67log = { version = "0.4.14", optional = true }
68cortex-m-rt = ">=0.6.15,<0.8" 68cortex-m-rt = ">=0.6.15,<0.8"
69cortex-m = "0.7.6" 69cortex-m = "0.7.6"
70futures = { version = "0.3.17", default-features = false, features = ["async-await"] } 70futures-util = { version = "0.3.30", default-features = false }
71rand_core = "0.6.3" 71rand_core = "0.6.3"
72sdio-host = "0.5.0" 72sdio-host = "0.5.0"
73critical-section = "1.1" 73critical-section = "1.1"
diff --git a/embassy-stm32/src/eth/generic_smi.rs b/embassy-stm32/src/eth/generic_smi.rs
index 9c26e90f1..3b43051f4 100644
--- a/embassy-stm32/src/eth/generic_smi.rs
+++ b/embassy-stm32/src/eth/generic_smi.rs
@@ -1,10 +1,11 @@
1//! Generic SMI Ethernet PHY 1//! Generic SMI Ethernet PHY
2 2
3use core::task::Context;
4
3#[cfg(feature = "time")] 5#[cfg(feature = "time")]
4use embassy_time::{Duration, Timer}; 6use embassy_time::{Duration, Timer};
5use futures::task::Context;
6#[cfg(feature = "time")] 7#[cfg(feature = "time")]
7use futures::FutureExt; 8use futures_util::FutureExt;
8 9
9use super::{StationManagement, PHY}; 10use super::{StationManagement, PHY};
10 11
diff --git a/embassy-stm32/src/flash/f4.rs b/embassy-stm32/src/flash/f4.rs
index 90f13ff29..2634fba37 100644
--- a/embassy-stm32/src/flash/f4.rs
+++ b/embassy-stm32/src/flash/f4.rs
@@ -338,10 +338,9 @@ pub(crate) fn clear_all_err() {
338} 338}
339 339
340pub(crate) async fn wait_ready() -> Result<(), Error> { 340pub(crate) async fn wait_ready() -> Result<(), Error> {
341 use core::future::poll_fn;
341 use core::task::Poll; 342 use core::task::Poll;
342 343
343 use futures::future::poll_fn;
344
345 poll_fn(|cx| { 344 poll_fn(|cx| {
346 WAKER.register(cx.waker()); 345 WAKER.register(cx.waker());
347 346
diff --git a/embassy-stm32/src/i2c/mod.rs b/embassy-stm32/src/i2c/mod.rs
index ccbea9831..6931beac7 100644
--- a/embassy-stm32/src/i2c/mod.rs
+++ b/embassy-stm32/src/i2c/mod.rs
@@ -191,7 +191,7 @@ impl Timeout {
191 fn with<R>(self, fut: impl Future<Output = Result<R, Error>>) -> impl Future<Output = Result<R, Error>> { 191 fn with<R>(self, fut: impl Future<Output = Result<R, Error>>) -> impl Future<Output = Result<R, Error>> {
192 #[cfg(feature = "time")] 192 #[cfg(feature = "time")]
193 { 193 {
194 use futures::FutureExt; 194 use futures_util::FutureExt;
195 195
196 embassy_futures::select::select(embassy_time::Timer::at(self.deadline), fut).map(|r| match r { 196 embassy_futures::select::select(embassy_time::Timer::at(self.deadline), fut).map(|r| match r {
197 embassy_futures::select::Either::First(_) => Err(Error::Timeout), 197 embassy_futures::select::Either::First(_) => Err(Error::Timeout),
diff --git a/embassy-stm32/src/usart/buffered.rs b/embassy-stm32/src/usart/buffered.rs
index 949ac1b13..52011cd1f 100644
--- a/embassy-stm32/src/usart/buffered.rs
+++ b/embassy-stm32/src/usart/buffered.rs
@@ -1,10 +1,23 @@
1use core::future::poll_fn;
2use core::marker::PhantomData;
1use core::slice; 3use core::slice;
2use core::sync::atomic::AtomicBool; 4use core::sync::atomic::{AtomicBool, Ordering};
5use core::task::Poll;
3 6
7use embassy_embedded_hal::SetConfig;
4use embassy_hal_internal::atomic_ring_buffer::RingBuffer; 8use embassy_hal_internal::atomic_ring_buffer::RingBuffer;
9use embassy_hal_internal::{into_ref, Peripheral};
5use embassy_sync::waitqueue::AtomicWaker; 10use embassy_sync::waitqueue::AtomicWaker;
6 11
7use super::*; 12#[cfg(not(any(usart_v1, usart_v2)))]
13use super::DePin;
14use super::{
15 clear_interrupt_flags, configure, rdr, reconfigure, sr, tdr, BasicInstance, Config, ConfigError, CtsPin, Error,
16 RtsPin, RxPin, TxPin,
17};
18use crate::gpio::AFType;
19use crate::interrupt;
20use crate::interrupt::typelevel::Interrupt;
8 21
9/// Interrupt handler. 22/// Interrupt handler.
10pub struct InterruptHandler<T: BasicInstance> { 23pub struct InterruptHandler<T: BasicInstance> {
diff --git a/embassy-stm32/src/usart/mod.rs b/embassy-stm32/src/usart/mod.rs
index 6d6e678c8..c00317983 100644
--- a/embassy-stm32/src/usart/mod.rs
+++ b/embassy-stm32/src/usart/mod.rs
@@ -9,9 +9,9 @@ use core::task::Poll;
9 9
10use embassy_embedded_hal::SetConfig; 10use embassy_embedded_hal::SetConfig;
11use embassy_hal_internal::drop::OnDrop; 11use embassy_hal_internal::drop::OnDrop;
12use embassy_hal_internal::{into_ref, PeripheralRef}; 12use embassy_hal_internal::PeripheralRef;
13use embassy_sync::waitqueue::AtomicWaker; 13use embassy_sync::waitqueue::AtomicWaker;
14use futures::future::{select, Either}; 14use futures_util::future::{select, Either};
15 15
16use crate::dma::ChannelAndRequest; 16use crate::dma::ChannelAndRequest;
17use crate::gpio::{AFType, AnyPin, SealedPin}; 17use crate::gpio::{AFType, AnyPin, SealedPin};
diff --git a/embassy-stm32/src/usart/ringbuffered.rs b/embassy-stm32/src/usart/ringbuffered.rs
index 8eb18fe5b..7ab6cbda7 100644
--- a/embassy-stm32/src/usart/ringbuffered.rs
+++ b/embassy-stm32/src/usart/ringbuffered.rs
@@ -5,7 +5,7 @@ use core::sync::atomic::{compiler_fence, Ordering};
5use core::task::Poll; 5use core::task::Poll;
6 6
7use embassy_embedded_hal::SetConfig; 7use embassy_embedded_hal::SetConfig;
8use futures::future::{select, Either}; 8use futures_util::future::{select, Either};
9 9
10use super::{clear_interrupt_flags, rdr, reconfigure, sr, BasicInstance, Config, ConfigError, Error, UartRx}; 10use super::{clear_interrupt_flags, rdr, reconfigure, sr, BasicInstance, Config, ConfigError, Error, UartRx};
11use crate::dma::ReadableRingBuffer; 11use crate::dma::ReadableRingBuffer;
diff --git a/embassy-time/src/timer.rs b/embassy-time/src/timer.rs
index 757c3ff00..bc39d8bc7 100644
--- a/embassy-time/src/timer.rs
+++ b/embassy-time/src/timer.rs
@@ -1,10 +1,10 @@
1use core::future::{poll_fn, Future}; 1use core::future::{poll_fn, Future};
2use core::pin::Pin; 2use core::pin::{pin, Pin};
3use core::task::{Context, Poll}; 3use core::task::{Context, Poll};
4 4
5use futures_util::future::{select, Either}; 5use futures_util::future::{select, Either};
6use futures_util::stream::FusedStream; 6use futures_util::stream::FusedStream;
7use futures_util::{pin_mut, Stream}; 7use futures_util::Stream;
8 8
9use crate::{Duration, Instant}; 9use crate::{Duration, Instant};
10 10
@@ -19,8 +19,7 @@ pub struct TimeoutError;
19/// work on the future is stopped (`poll` is no longer called), the future is dropped and `Err(TimeoutError)` is returned. 19/// work on the future is stopped (`poll` is no longer called), the future is dropped and `Err(TimeoutError)` is returned.
20pub async fn with_timeout<F: Future>(timeout: Duration, fut: F) -> Result<F::Output, TimeoutError> { 20pub async fn with_timeout<F: Future>(timeout: Duration, fut: F) -> Result<F::Output, TimeoutError> {
21 let timeout_fut = Timer::after(timeout); 21 let timeout_fut = Timer::after(timeout);
22 pin_mut!(fut); 22 match select(pin!(fut), timeout_fut).await {
23 match select(fut, timeout_fut).await {
24 Either::Left((r, _)) => Ok(r), 23 Either::Left((r, _)) => Ok(r),
25 Either::Right(_) => Err(TimeoutError), 24 Either::Right(_) => Err(TimeoutError),
26 } 25 }
@@ -32,8 +31,7 @@ pub async fn with_timeout<F: Future>(timeout: Duration, fut: F) -> Result<F::Out
32/// work on the future is stopped (`poll` is no longer called), the future is dropped and `Err(TimeoutError)` is returned. 31/// work on the future is stopped (`poll` is no longer called), the future is dropped and `Err(TimeoutError)` is returned.
33pub async fn with_deadline<F: Future>(at: Instant, fut: F) -> Result<F::Output, TimeoutError> { 32pub async fn with_deadline<F: Future>(at: Instant, fut: F) -> Result<F::Output, TimeoutError> {
34 let timeout_fut = Timer::at(at); 33 let timeout_fut = Timer::at(at);
35 pin_mut!(fut); 34 match select(pin!(fut), timeout_fut).await {
36 match select(fut, timeout_fut).await {
37 Either::Left((r, _)) => Ok(r), 35 Either::Left((r, _)) => Ok(r),
38 Either::Right(_) => Err(TimeoutError), 36 Either::Right(_) => Err(TimeoutError),
39 } 37 }
diff --git a/embassy-usb-driver/Cargo.toml b/embassy-usb-driver/Cargo.toml
index 00ed60cf9..41493f00d 100644
--- a/embassy-usb-driver/Cargo.toml
+++ b/embassy-usb-driver/Cargo.toml
@@ -9,8 +9,6 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
9repository = "https://github.com/embassy-rs/embassy" 9repository = "https://github.com/embassy-rs/embassy"
10documentation = "https://docs.embassy.dev/embassy-usb-driver" 10documentation = "https://docs.embassy.dev/embassy-usb-driver"
11 11
12# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
13
14[package.metadata.embassy_docs] 12[package.metadata.embassy_docs]
15src_base = "https://github.com/embassy-rs/embassy/blob/embassy-usb-driver-v$VERSION/embassy-usb-driver/src/" 13src_base = "https://github.com/embassy-rs/embassy/blob/embassy-usb-driver-v$VERSION/embassy-usb-driver/src/"
16src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-usb-driver/src/" 14src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-usb-driver/src/"
diff --git a/embassy-usb-synopsys-otg/Cargo.toml b/embassy-usb-synopsys-otg/Cargo.toml
index b0562627b..f117d0cbf 100644
--- a/embassy-usb-synopsys-otg/Cargo.toml
+++ b/embassy-usb-synopsys-otg/Cargo.toml
@@ -8,8 +8,6 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
8repository = "https://github.com/embassy-rs/embassy" 8repository = "https://github.com/embassy-rs/embassy"
9documentation = "https://docs.embassy.dev/embassy-usb-synopsys-otg" 9documentation = "https://docs.embassy.dev/embassy-usb-synopsys-otg"
10 10
11# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
12
13[package.metadata.embassy_docs] 11[package.metadata.embassy_docs]
14src_base = "https://github.com/embassy-rs/embassy/blob/embassy-usb-synopsys-otg-v$VERSION/embassy-usb-synopsys-otg/src/" 12src_base = "https://github.com/embassy-rs/embassy/blob/embassy-usb-synopsys-otg-v$VERSION/embassy-usb-synopsys-otg/src/"
15src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-usb-synopsys-otg/src/" 13src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-usb-synopsys-otg/src/"
@@ -18,7 +16,6 @@ target = "thumbv7em-none-eabi"
18 16
19[dependencies] 17[dependencies]
20critical-section = "1.1" 18critical-section = "1.1"
21futures = { version = "0.3.17", default-features = false }
22 19
23embassy-sync = { version = "0.5.0", path = "../embassy-sync" } 20embassy-sync = { version = "0.5.0", path = "../embassy-sync" }
24embassy-usb-driver = {version = "0.1.0", path = "../embassy-usb-driver" } 21embassy-usb-driver = {version = "0.1.0", path = "../embassy-usb-driver" }
diff --git a/embassy-usb-synopsys-otg/src/lib.rs b/embassy-usb-synopsys-otg/src/lib.rs
index 59a99796c..af82de2c1 100644
--- a/embassy-usb-synopsys-otg/src/lib.rs
+++ b/embassy-usb-synopsys-otg/src/lib.rs
@@ -7,6 +7,7 @@
7mod fmt; 7mod fmt;
8 8
9use core::cell::UnsafeCell; 9use core::cell::UnsafeCell;
10use core::future::poll_fn;
10use core::marker::PhantomData; 11use core::marker::PhantomData;
11use core::sync::atomic::{AtomicBool, AtomicU16, Ordering}; 12use core::sync::atomic::{AtomicBool, AtomicU16, Ordering};
12use core::task::Poll; 13use core::task::Poll;
@@ -16,7 +17,6 @@ use embassy_usb_driver::{
16 Bus as _, Direction, EndpointAddress, EndpointAllocError, EndpointError, EndpointIn, EndpointInfo, EndpointOut, 17 Bus as _, Direction, EndpointAddress, EndpointAllocError, EndpointError, EndpointIn, EndpointInfo, EndpointOut,
17 EndpointType, Event, Unsupported, 18 EndpointType, Event, Unsupported,
18}; 19};
19use futures::future::poll_fn;
20 20
21pub mod otg_v1; 21pub mod otg_v1;
22 22
diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml
index 17210994b..f3a3f64af 100644
--- a/examples/nrf-rtos-trace/Cargo.toml
+++ b/examples/nrf-rtos-trace/Cargo.toml
@@ -23,7 +23,6 @@ embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["nrf5
23cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } 23cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] }
24cortex-m-rt = "0.7.0" 24cortex-m-rt = "0.7.0"
25panic-probe = { version = "0.3" } 25panic-probe = { version = "0.3" }
26futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
27rand = { version = "0.8.4", default-features = false } 26rand = { version = "0.8.4", default-features = false }
28serde = { version = "1.0.136", default-features = false } 27serde = { version = "1.0.136", default-features = false }
29rtos-trace = "0.1.3" 28rtos-trace = "0.1.3"
diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml
index d91f58d0e..a0687fa1e 100644
--- a/examples/nrf52840-rtic/Cargo.toml
+++ b/examples/nrf52840-rtic/Cargo.toml
@@ -18,7 +18,6 @@ defmt-rtt = "0.4"
18cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } 18cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] }
19cortex-m-rt = "0.7.0" 19cortex-m-rt = "0.7.0"
20panic-probe = { version = "0.3", features = ["print-defmt"] } 20panic-probe = { version = "0.3", features = ["print-defmt"] }
21futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
22 21
23[profile.release] 22[profile.release]
24debug = 2 23debug = 2
diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml
index f0553a92d..d693c5a02 100644
--- a/examples/nrf52840/Cargo.toml
+++ b/examples/nrf52840/Cargo.toml
@@ -25,7 +25,6 @@ static_cell = { version = "2" }
25cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } 25cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] }
26cortex-m-rt = "0.7.0" 26cortex-m-rt = "0.7.0"
27panic-probe = { version = "0.3", features = ["print-defmt"] } 27panic-probe = { version = "0.3", features = ["print-defmt"] }
28futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
29rand = { version = "0.8.4", default-features = false } 28rand = { version = "0.8.4", default-features = false }
30embedded-storage = "0.3.1" 29embedded-storage = "0.3.1"
31usbd-hid = "0.7.0" 30usbd-hid = "0.7.0"
diff --git a/examples/nrf52840/src/bin/gpiote_channel.rs b/examples/nrf52840/src/bin/gpiote_channel.rs
index e254d613d..dcfe7723a 100644
--- a/examples/nrf52840/src/bin/gpiote_channel.rs
+++ b/examples/nrf52840/src/bin/gpiote_channel.rs
@@ -61,5 +61,5 @@ async fn main(_spawner: Spawner) {
61 } 61 }
62 }; 62 };
63 63
64 futures::join!(button1, button2, button3, button4); 64 embassy_futures::join::join4(button1, button2, button3, button4).await;
65} 65}
diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml
index 1d994d925..0d3e39fe5 100644
--- a/examples/nrf5340/Cargo.toml
+++ b/examples/nrf5340/Cargo.toml
@@ -21,7 +21,6 @@ static_cell = "2"
21cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } 21cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] }
22cortex-m-rt = "0.7.0" 22cortex-m-rt = "0.7.0"
23panic-probe = { version = "0.3", features = ["print-defmt"] } 23panic-probe = { version = "0.3", features = ["print-defmt"] }
24futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
25rand = { version = "0.8.4", default-features = false } 24rand = { version = "0.8.4", default-features = false }
26embedded-storage = "0.3.1" 25embedded-storage = "0.3.1"
27usbd-hid = "0.7.0" 26usbd-hid = "0.7.0"
diff --git a/examples/nrf5340/src/bin/gpiote_channel.rs b/examples/nrf5340/src/bin/gpiote_channel.rs
index c0a55142f..23f6fca98 100644
--- a/examples/nrf5340/src/bin/gpiote_channel.rs
+++ b/examples/nrf5340/src/bin/gpiote_channel.rs
@@ -61,5 +61,5 @@ async fn main(_spawner: Spawner) {
61 } 61 }
62 }; 62 };
63 63
64 futures::join!(button1, button2, button3, button4); 64 embassy_futures::join::join4(button1, button2, button3, button4).await;
65} 65}
diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml
index d5263deb8..ae6746dce 100644
--- a/examples/rp/Cargo.toml
+++ b/examples/rp/Cargo.toml
@@ -28,7 +28,6 @@ fixed-macro = "1.2"
28cortex-m = { version = "0.7.6", features = ["inline-asm"] } 28cortex-m = { version = "0.7.6", features = ["inline-asm"] }
29cortex-m-rt = "0.7.0" 29cortex-m-rt = "0.7.0"
30panic-probe = { version = "0.3", features = ["print-defmt"] } 30panic-probe = { version = "0.3", features = ["print-defmt"] }
31futures = { version = "0.3.17", default-features = false, features = ["async-await", "cfg-target-has-atomic", "unstable"] }
32display-interface-spi = "0.4.1" 31display-interface-spi = "0.4.1"
33embedded-graphics = "0.7.1" 32embedded-graphics = "0.7.1"
34st7789 = "0.6.1" 33st7789 = "0.6.1"
diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml
index 7a3e03b75..aaca857ae 100644
--- a/examples/stm32c0/Cargo.toml
+++ b/examples/stm32c0/Cargo.toml
@@ -18,7 +18,6 @@ cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
18cortex-m-rt = "0.7.0" 18cortex-m-rt = "0.7.0"
19embedded-hal = "0.2.6" 19embedded-hal = "0.2.6"
20panic-probe = { version = "0.3", features = ["print-defmt"] } 20panic-probe = { version = "0.3", features = ["print-defmt"] }
21futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
22heapless = { version = "0.8", default-features = false } 21heapless = { version = "0.8", default-features = false }
23 22
24[profile.release] 23[profile.release]
diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml
index c74980dc4..cabeca687 100644
--- a/examples/stm32f0/Cargo.toml
+++ b/examples/stm32f0/Cargo.toml
@@ -4,8 +4,6 @@ version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8
9[dependencies] 7[dependencies]
10# Change stm32f091rc to your chip name, if necessary. 8# Change stm32f091rc to your chip name, if necessary.
11embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "memory-x", "stm32f091rc", "time-driver-any", "exti", "unstable-pac"] } 9embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "memory-x", "stm32f091rc", "time-driver-any", "exti", "unstable-pac"] }
diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml
index 712ce246d..55051703b 100644
--- a/examples/stm32f1/Cargo.toml
+++ b/examples/stm32f1/Cargo.toml
@@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
20cortex-m-rt = "0.7.0" 20cortex-m-rt = "0.7.0"
21embedded-hal = "0.2.6" 21embedded-hal = "0.2.6"
22panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
23futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
24heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
25nb = "1.0.0" 24nb = "1.0.0"
26static_cell = "2.0.0" 25static_cell = "2.0.0"
diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml
index 4cbf1dc84..86921580a 100644
--- a/examples/stm32f2/Cargo.toml
+++ b/examples/stm32f2/Cargo.toml
@@ -18,7 +18,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
18cortex-m-rt = "0.7.0" 18cortex-m-rt = "0.7.0"
19embedded-hal = "0.2.6" 19embedded-hal = "0.2.6"
20panic-probe = { version = "0.3", features = ["print-defmt"] } 20panic-probe = { version = "0.3", features = ["print-defmt"] }
21futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
22heapless = { version = "0.8", default-features = false } 21heapless = { version = "0.8", default-features = false }
23nb = "1.0.0" 22nb = "1.0.0"
24 23
diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml
index 5b457a5ae..2cfb19c42 100644
--- a/examples/stm32f3/Cargo.toml
+++ b/examples/stm32f3/Cargo.toml
@@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
20cortex-m-rt = "0.7.0" 20cortex-m-rt = "0.7.0"
21embedded-hal = "0.2.6" 21embedded-hal = "0.2.6"
22panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
23futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
24heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
25nb = "1.0.0" 24nb = "1.0.0"
26embedded-storage = "0.3.1" 25embedded-storage = "0.3.1"
diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml
index b8b06afa2..7c067e140 100644
--- a/examples/stm32f334/Cargo.toml
+++ b/examples/stm32f334/Cargo.toml
@@ -19,7 +19,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
19cortex-m-rt = "0.7.0" 19cortex-m-rt = "0.7.0"
20embedded-hal = "0.2.6" 20embedded-hal = "0.2.6"
21panic-probe = { version = "0.3", features = ["print-defmt"] } 21panic-probe = { version = "0.3", features = ["print-defmt"] }
22futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
23heapless = { version = "0.8", default-features = false } 22heapless = { version = "0.8", default-features = false }
24nb = "1.0.0" 23nb = "1.0.0"
25embedded-storage = "0.3.1" 24embedded-storage = "0.3.1"
diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml
index e6a9141e7..64ac50818 100644
--- a/examples/stm32f4/Cargo.toml
+++ b/examples/stm32f4/Cargo.toml
@@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature
12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
13embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } 13embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] }
14embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } 14embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] }
15embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
15 16
16defmt = "0.3" 17defmt = "0.3"
17defmt-rtt = "0.4" 18defmt-rtt = "0.4"
@@ -22,7 +23,7 @@ embedded-hal = "0.2.6"
22embedded-io = { version = "0.6.0" } 23embedded-io = { version = "0.6.0" }
23embedded-io-async = { version = "0.6.1" } 24embedded-io-async = { version = "0.6.1" }
24panic-probe = { version = "0.3", features = ["print-defmt"] } 25panic-probe = { version = "0.3", features = ["print-defmt"] }
25futures = { version = "0.3.17", default-features = false, features = ["async-await"] } 26futures-util = { version = "0.3.30", default-features = false }
26heapless = { version = "0.8", default-features = false } 27heapless = { version = "0.8", default-features = false }
27nb = "1.0.0" 28nb = "1.0.0"
28embedded-storage = "0.3.1" 29embedded-storage = "0.3.1"
diff --git a/examples/stm32f4/src/bin/i2c_comparison.rs b/examples/stm32f4/src/bin/i2c_comparison.rs
index 30cfbdf57..55c4891e3 100644
--- a/examples/stm32f4/src/bin/i2c_comparison.rs
+++ b/examples/stm32f4/src/bin/i2c_comparison.rs
@@ -13,7 +13,7 @@ use embassy_stm32::i2c::I2c;
13use embassy_stm32::time::Hertz; 13use embassy_stm32::time::Hertz;
14use embassy_stm32::{bind_interrupts, i2c, peripherals}; 14use embassy_stm32::{bind_interrupts, i2c, peripherals};
15use embassy_time::Instant; 15use embassy_time::Instant;
16use futures::future::try_join3; 16use futures_util::future::try_join3;
17use {defmt_rtt as _, panic_probe as _}; 17use {defmt_rtt as _, panic_probe as _};
18 18
19const ADDRESS: u8 = 96; 19const ADDRESS: u8 = 96;
diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs
index d48ae4a17..de9b692b1 100644
--- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs
+++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs
@@ -5,6 +5,7 @@ use core::sync::atomic::{AtomicBool, Ordering};
5 5
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_futures::join::join;
8use embassy_stm32::exti::ExtiInput; 9use embassy_stm32::exti::ExtiInput;
9use embassy_stm32::gpio::Pull; 10use embassy_stm32::gpio::Pull;
10use embassy_stm32::time::Hertz; 11use embassy_stm32::time::Hertz;
@@ -13,7 +14,6 @@ use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
13use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; 14use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State};
14use embassy_usb::control::OutResponse; 15use embassy_usb::control::OutResponse;
15use embassy_usb::{Builder, Handler}; 16use embassy_usb::{Builder, Handler};
16use futures::future::join;
17use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor}; 17use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor};
18use {defmt_rtt as _, panic_probe as _}; 18use {defmt_rtt as _, panic_probe as _};
19 19
diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs
index c35f4b002..d15ad52dc 100644
--- a/examples/stm32f4/src/bin/usb_hid_mouse.rs
+++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs
@@ -3,6 +3,7 @@
3 3
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
7use embassy_stm32::usb::Driver; 8use embassy_stm32::usb::Driver;
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
@@ -10,7 +11,6 @@ use embassy_time::Timer;
10use embassy_usb::class::hid::{HidWriter, ReportId, RequestHandler, State}; 11use embassy_usb::class::hid::{HidWriter, ReportId, RequestHandler, State};
11use embassy_usb::control::OutResponse; 12use embassy_usb::control::OutResponse;
12use embassy_usb::Builder; 13use embassy_usb::Builder;
13use futures::future::join;
14use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; 14use usbd_hid::descriptor::{MouseReport, SerializedDescriptor};
15use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
16 16
diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs
index 25806dd85..91cfae87b 100644
--- a/examples/stm32f4/src/bin/usb_serial.rs
+++ b/examples/stm32f4/src/bin/usb_serial.rs
@@ -3,13 +3,13 @@
3 3
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
7use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml
index 0a217e9ad..37bec1bfa 100644
--- a/examples/stm32f7/Cargo.toml
+++ b/examples/stm32f7/Cargo.toml
@@ -13,6 +13,7 @@ embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["de
13embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } 13embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
14embedded-io-async = { version = "0.6.1" } 14embedded-io-async = { version = "0.6.1" }
15embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } 15embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] }
16embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
16 17
17defmt = "0.3" 18defmt = "0.3"
18defmt-rtt = "0.4" 19defmt-rtt = "0.4"
@@ -21,7 +22,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
21cortex-m-rt = "0.7.0" 22cortex-m-rt = "0.7.0"
22embedded-hal = "0.2.6" 23embedded-hal = "0.2.6"
23panic-probe = { version = "0.3", features = ["print-defmt"] } 24panic-probe = { version = "0.3", features = ["print-defmt"] }
24futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
25heapless = { version = "0.8", default-features = false } 25heapless = { version = "0.8", default-features = false }
26nb = "1.0.0" 26nb = "1.0.0"
27rand_core = "0.6.3" 27rand_core = "0.6.3"
diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs
index 2fee561c7..02ab4d1f2 100644
--- a/examples/stm32f7/src/bin/usb_serial.rs
+++ b/examples/stm32f7/src/bin/usb_serial.rs
@@ -3,13 +3,13 @@
3 3
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
7use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml
index ccc5143aa..803d0ae0e 100644
--- a/examples/stm32g0/Cargo.toml
+++ b/examples/stm32g0/Cargo.toml
@@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
20cortex-m-rt = "0.7.0" 20cortex-m-rt = "0.7.0"
21embedded-hal = "0.2.6" 21embedded-hal = "0.2.6"
22panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
23futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
24heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
25portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] } 24portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] }
26 25
diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml
index 2d702aeb5..7f51631c0 100644
--- a/examples/stm32g4/Cargo.toml
+++ b/examples/stm32g4/Cargo.toml
@@ -22,7 +22,6 @@ cortex-m-rt = "0.7.0"
22embedded-hal = "0.2.6" 22embedded-hal = "0.2.6"
23embedded-can = { version = "0.4" } 23embedded-can = { version = "0.4" }
24panic-probe = { version = "0.3", features = ["print-defmt"] } 24panic-probe = { version = "0.3", features = ["print-defmt"] }
25futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
26heapless = { version = "0.8", default-features = false } 25heapless = { version = "0.8", default-features = false }
27static_cell = "2.0.0" 26static_cell = "2.0.0"
28 27
diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs
index dbe8f27c1..ed2ac7fac 100644
--- a/examples/stm32g4/src/bin/usb_serial.rs
+++ b/examples/stm32g4/src/bin/usb_serial.rs
@@ -3,13 +3,13 @@
3 3
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
7use embassy_stm32::usb::{self, Driver, Instance}; 8use embassy_stm32::usb::{self, Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml
index ea5cca80f..4527f4bcb 100644
--- a/examples/stm32h5/Cargo.toml
+++ b/examples/stm32h5/Cargo.toml
@@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature
12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
13embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } 13embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] }
14embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } 14embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] }
15embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
15 16
16defmt = "0.3" 17defmt = "0.3"
17defmt-rtt = "0.4" 18defmt-rtt = "0.4"
@@ -24,7 +25,6 @@ embedded-hal-async = { version = "1.0" }
24embedded-io-async = { version = "0.6.1" } 25embedded-io-async = { version = "0.6.1" }
25embedded-nal-async = { version = "0.7.1" } 26embedded-nal-async = { version = "0.7.1" }
26panic-probe = { version = "0.3", features = ["print-defmt"] } 27panic-probe = { version = "0.3", features = ["print-defmt"] }
27futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
28heapless = { version = "0.8", default-features = false } 28heapless = { version = "0.8", default-features = false }
29rand_core = "0.6.3" 29rand_core = "0.6.3"
30critical-section = "1.1" 30critical-section = "1.1"
diff --git a/examples/stm32h5/src/bin/usb_serial.rs b/examples/stm32h5/src/bin/usb_serial.rs
index 4f86bb342..fbcbdb5f9 100644
--- a/examples/stm32h5/src/bin/usb_serial.rs
+++ b/examples/stm32h5/src/bin/usb_serial.rs
@@ -3,13 +3,13 @@
3 3
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
7use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml
index 05c284fc0..a09af4b97 100644
--- a/examples/stm32h7/Cargo.toml
+++ b/examples/stm32h7/Cargo.toml
@@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature
12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
13embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } 13embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
14embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } 14embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] }
15embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
15 16
16defmt = "0.3" 17defmt = "0.3"
17defmt-rtt = "0.4" 18defmt-rtt = "0.4"
@@ -24,7 +25,6 @@ embedded-hal-async = { version = "1.0" }
24embedded-nal-async = { version = "0.7.1" } 25embedded-nal-async = { version = "0.7.1" }
25embedded-io-async = { version = "0.6.1" } 26embedded-io-async = { version = "0.6.1" }
26panic-probe = { version = "0.3", features = ["print-defmt"] } 27panic-probe = { version = "0.3", features = ["print-defmt"] }
27futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
28heapless = { version = "0.8", default-features = false } 28heapless = { version = "0.8", default-features = false }
29rand_core = "0.6.3" 29rand_core = "0.6.3"
30critical-section = "1.1" 30critical-section = "1.1"
diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs
index 872ff815c..71d0c0a25 100644
--- a/examples/stm32h7/src/bin/usb_serial.rs
+++ b/examples/stm32h7/src/bin/usb_serial.rs
@@ -3,12 +3,12 @@
3 3
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::usb::{Driver, Instance}; 7use embassy_stm32::usb::{Driver, Instance};
7use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 8use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
8use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 9use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
9use embassy_usb::driver::EndpointError; 10use embassy_usb::driver::EndpointError;
10use embassy_usb::Builder; 11use embassy_usb::Builder;
11use futures::future::join;
12use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
13 13
14bind_interrupts!(struct Irqs { 14bind_interrupts!(struct Irqs {
diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml
index dd9097c9b..8831f9aaf 100644
--- a/examples/stm32l0/Cargo.toml
+++ b/examples/stm32l0/Cargo.toml
@@ -21,7 +21,6 @@ embedded-io-async = { version = "0.6.1" }
21cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } 21cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] }
22cortex-m-rt = "0.7.0" 22cortex-m-rt = "0.7.0"
23panic-probe = { version = "0.3", features = ["print-defmt"] } 23panic-probe = { version = "0.3", features = ["print-defmt"] }
24futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
25heapless = { version = "0.8", default-features = false } 24heapless = { version = "0.8", default-features = false }
26embedded-hal = "0.2.6" 25embedded-hal = "0.2.6"
27static_cell = { version = "2" } 26static_cell = { version = "2" }
diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml
index 5ec1ee5db..24d61043d 100644
--- a/examples/stm32l1/Cargo.toml
+++ b/examples/stm32l1/Cargo.toml
@@ -10,6 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature
10embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 10embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
11embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } 11embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] }
12embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } 12embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] }
13embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
13 14
14defmt = "0.3" 15defmt = "0.3"
15defmt-rtt = "0.4" 16defmt-rtt = "0.4"
@@ -18,7 +19,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
18cortex-m-rt = "0.7.0" 19cortex-m-rt = "0.7.0"
19embedded-hal = "0.2.6" 20embedded-hal = "0.2.6"
20panic-probe = { version = "0.3", features = ["print-defmt"] } 21panic-probe = { version = "0.3", features = ["print-defmt"] }
21futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
22heapless = { version = "0.8", default-features = false } 22heapless = { version = "0.8", default-features = false }
23embedded-storage = "0.3.1" 23embedded-storage = "0.3.1"
24 24
diff --git a/examples/stm32l1/src/bin/usb_serial.rs b/examples/stm32l1/src/bin/usb_serial.rs
index 653bbd6d2..837f7fa57 100644
--- a/examples/stm32l1/src/bin/usb_serial.rs
+++ b/examples/stm32l1/src/bin/usb_serial.rs
@@ -3,12 +3,12 @@
3 3
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_futures::join::join;
6use embassy_stm32::usb::{self, Driver, Instance}; 7use embassy_stm32::usb::{self, Driver, Instance};
7use embassy_stm32::{bind_interrupts, peripherals}; 8use embassy_stm32::{bind_interrupts, peripherals};
8use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 9use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
9use embassy_usb::driver::EndpointError; 10use embassy_usb::driver::EndpointError;
10use embassy_usb::Builder; 11use embassy_usb::Builder;
11use futures::future::join;
12use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
13 13
14bind_interrupts!(struct Irqs { 14bind_interrupts!(struct Irqs {
diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml
index dd7292f7f..a8c6aa0e9 100644
--- a/examples/stm32l4/Cargo.toml
+++ b/examples/stm32l4/Cargo.toml
@@ -28,7 +28,6 @@ embedded-hal-1 = { package = "embedded-hal", version = "1.0" }
28embedded-hal-async = { version = "1.0" } 28embedded-hal-async = { version = "1.0" }
29embedded-hal-bus = { version = "0.1", features = ["async"] } 29embedded-hal-bus = { version = "0.1", features = ["async"] }
30panic-probe = { version = "0.3", features = ["print-defmt"] } 30panic-probe = { version = "0.3", features = ["print-defmt"] }
31futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
32heapless = { version = "0.8", default-features = false } 31heapless = { version = "0.8", default-features = false }
33chrono = { version = "^0.4", default-features = false } 32chrono = { version = "^0.4", default-features = false }
34rand = { version = "0.8.5", default-features = false } 33rand = { version = "0.8.5", default-features = false }
diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs
index b905fc66f..a378cdc6b 100644
--- a/examples/stm32l4/src/bin/usb_serial.rs
+++ b/examples/stm32l4/src/bin/usb_serial.rs
@@ -4,12 +4,12 @@
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use defmt_rtt as _; // global logger 5use defmt_rtt as _; // global logger
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_futures::join::join;
7use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use panic_probe as _; 13use panic_probe as _;
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml
index 9f3b28cbe..2c6c125dc 100644
--- a/examples/stm32l5/Cargo.toml
+++ b/examples/stm32l5/Cargo.toml
@@ -22,7 +22,6 @@ panic-probe = { version = "0.3", features = ["print-defmt"] }
22cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } 22cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] }
23cortex-m-rt = "0.7.0" 23cortex-m-rt = "0.7.0"
24embedded-hal = "0.2.6" 24embedded-hal = "0.2.6"
25futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
26heapless = { version = "0.8", default-features = false } 25heapless = { version = "0.8", default-features = false }
27rand_core = { version = "0.6.3", default-features = false } 26rand_core = { version = "0.6.3", default-features = false }
28embedded-io-async = { version = "0.6.1" } 27embedded-io-async = { version = "0.6.1" }
diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml
index 6e16eb478..e9a215589 100644
--- a/examples/stm32u0/Cargo.toml
+++ b/examples/stm32u0/Cargo.toml
@@ -11,6 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de
11embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } 11embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] }
12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
13embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } 13embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] }
14embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
14 15
15defmt = "0.3" 16defmt = "0.3"
16defmt-rtt = "0.4" 17defmt-rtt = "0.4"
@@ -19,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
19cortex-m-rt = "0.7.0" 20cortex-m-rt = "0.7.0"
20embedded-hal = "0.2.6" 21embedded-hal = "0.2.6"
21panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
22futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
23heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
24 24
25micromath = "2.0.0" 25micromath = "2.0.0"
diff --git a/examples/stm32u0/src/bin/usb_serial.rs b/examples/stm32u0/src/bin/usb_serial.rs
index 9b38fd5dc..273f40643 100644
--- a/examples/stm32u0/src/bin/usb_serial.rs
+++ b/examples/stm32u0/src/bin/usb_serial.rs
@@ -4,12 +4,12 @@
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use defmt_rtt as _; // global logger 5use defmt_rtt as _; // global logger
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_futures::join::join;
7use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use panic_probe as _; 13use panic_probe as _;
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml
index 3cbce74a7..93127bcb7 100644
--- a/examples/stm32u5/Cargo.toml
+++ b/examples/stm32u5/Cargo.toml
@@ -11,6 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de
11embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } 11embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] }
12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 12embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
13embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } 13embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] }
14embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
14 15
15defmt = "0.3" 16defmt = "0.3"
16defmt-rtt = "0.4" 17defmt-rtt = "0.4"
@@ -19,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
19cortex-m-rt = "0.7.0" 20cortex-m-rt = "0.7.0"
20embedded-hal = "0.2.6" 21embedded-hal = "0.2.6"
21panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
22futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
23heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
24 24
25micromath = "2.0.0" 25micromath = "2.0.0"
diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs
index 6a313efb0..f107928a9 100644
--- a/examples/stm32u5/src/bin/usb_serial.rs
+++ b/examples/stm32u5/src/bin/usb_serial.rs
@@ -4,12 +4,12 @@
4use defmt::{panic, *}; 4use defmt::{panic, *};
5use defmt_rtt as _; // global logger 5use defmt_rtt as _; // global logger
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_futures::join::join;
7use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
8use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, peripherals, usb, Config};
9use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; 10use embassy_usb::class::cdc_acm::{CdcAcmClass, State};
10use embassy_usb::driver::EndpointError; 11use embassy_usb::driver::EndpointError;
11use embassy_usb::Builder; 12use embassy_usb::Builder;
12use futures::future::join;
13use panic_probe as _; 13use panic_probe as _;
14 14
15bind_interrupts!(struct Irqs { 15bind_interrupts!(struct Irqs {
diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml
index 94a5141f5..82419ed10 100644
--- a/examples/stm32wb/Cargo.toml
+++ b/examples/stm32wb/Cargo.toml
@@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
20cortex-m-rt = "0.7.0" 20cortex-m-rt = "0.7.0"
21embedded-hal = "0.2.6" 21embedded-hal = "0.2.6"
22panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
23futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
24heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
25static_cell = "2" 24static_cell = "2"
26 25
diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml
index 47279a012..ca55cbe92 100644
--- a/examples/stm32wba/Cargo.toml
+++ b/examples/stm32wba/Cargo.toml
@@ -18,7 +18,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing
18cortex-m-rt = "0.7.0" 18cortex-m-rt = "0.7.0"
19embedded-hal = "0.2.6" 19embedded-hal = "0.2.6"
20panic-probe = { version = "0.3", features = ["print-defmt"] } 20panic-probe = { version = "0.3", features = ["print-defmt"] }
21futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
22heapless = { version = "0.8", default-features = false } 21heapless = { version = "0.8", default-features = false }
23static_cell = "2" 22static_cell = "2"
24 23
diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml
index 4cb55930b..b467b97a9 100644
--- a/examples/stm32wl/Cargo.toml
+++ b/examples/stm32wl/Cargo.toml
@@ -20,7 +20,6 @@ cortex-m-rt = "0.7.0"
20embedded-hal = "0.2.6" 20embedded-hal = "0.2.6"
21embedded-storage = "0.3.1" 21embedded-storage = "0.3.1"
22panic-probe = { version = "0.3", features = ["print-defmt"] } 22panic-probe = { version = "0.3", features = ["print-defmt"] }
23futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
24heapless = { version = "0.8", default-features = false } 23heapless = { version = "0.8", default-features = false }
25chrono = { version = "^0.4", default-features = false } 24chrono = { version = "^0.4", default-features = false }
26 25
diff --git a/tests/perf-client/Cargo.toml b/tests/perf-client/Cargo.toml
index 4390a6da1..a347608b3 100644
--- a/tests/perf-client/Cargo.toml
+++ b/tests/perf-client/Cargo.toml
@@ -3,8 +3,6 @@ name = "perf-client"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5 5
6# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
8[dependencies] 6[dependencies]
9embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] } 7embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] }
10embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", ] } 8embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", ] }
diff --git a/tests/rp/Cargo.toml b/tests/rp/Cargo.toml
index e67f2117d..a602e4065 100644
--- a/tests/rp/Cargo.toml
+++ b/tests/rp/Cargo.toml
@@ -29,7 +29,6 @@ embedded-hal-1 = { package = "embedded-hal", version = "1.0" }
29embedded-hal-async = { version = "1.0" } 29embedded-hal-async = { version = "1.0" }
30embedded-hal-bus = { version = "0.1", features = ["async"] } 30embedded-hal-bus = { version = "0.1", features = ["async"] }
31panic-probe = { version = "0.3.0", features = ["print-defmt"] } 31panic-probe = { version = "0.3.0", features = ["print-defmt"] }
32futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
33embedded-io-async = { version = "0.6.1" } 32embedded-io-async = { version = "0.6.1" }
34embedded-storage = { version = "0.3" } 33embedded-storage = { version = "0.3" }
35static_cell = "2" 34static_cell = "2"
diff --git a/tests/utils/Cargo.toml b/tests/utils/Cargo.toml
index 7d66fd586..7b54a4f52 100644
--- a/tests/utils/Cargo.toml
+++ b/tests/utils/Cargo.toml
@@ -3,8 +3,6 @@ name = "test-utils"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5 5
6# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
8[dependencies] 6[dependencies]
9rand = "0.8" 7rand = "0.8"
10serial = "0.4" 8serial = "0.4"