From d46d3119cea14f6cd14c2fae7bf712faff4e6cfe Mon Sep 17 00:00:00 2001 From: Matt Rodgers Date: Wed, 7 May 2025 21:15:54 +0100 Subject: Implement embedded-io-async traits for USB CDC ACM --- embassy-usb-driver/Cargo.toml | 1 + embassy-usb-driver/src/lib.rs | 9 +++++++++ 2 files changed, 10 insertions(+) (limited to 'embassy-usb-driver') diff --git a/embassy-usb-driver/Cargo.toml b/embassy-usb-driver/Cargo.toml index 41493f00d..edb6551b0 100644 --- a/embassy-usb-driver/Cargo.toml +++ b/embassy-usb-driver/Cargo.toml @@ -20,3 +20,4 @@ features = ["defmt"] [dependencies] defmt = { version = "0.3", optional = true } +embedded-io-async = "0.6.1" diff --git a/embassy-usb-driver/src/lib.rs b/embassy-usb-driver/src/lib.rs index 3b705c8c4..d204e4d85 100644 --- a/embassy-usb-driver/src/lib.rs +++ b/embassy-usb-driver/src/lib.rs @@ -395,3 +395,12 @@ pub enum EndpointError { /// The endpoint is disabled. Disabled, } + +impl embedded_io_async::Error for EndpointError { + fn kind(&self) -> embedded_io_async::ErrorKind { + match self { + Self::BufferOverflow => embedded_io_async::ErrorKind::OutOfMemory, + Self::Disabled => embedded_io_async::ErrorKind::NotConnected, + } + } +} -- cgit