diff options
Diffstat (limited to 'embassy-usb/src')
| -rw-r--r-- | embassy-usb/src/builder.rs | 9 | ||||
| -rw-r--r-- | embassy-usb/src/class/cdc_acm.rs | 2 | ||||
| -rw-r--r-- | embassy-usb/src/class/cdc_ncm/embassy_net.rs | 2 | ||||
| -rw-r--r-- | embassy-usb/src/class/cdc_ncm/mod.rs | 2 | ||||
| -rw-r--r-- | embassy-usb/src/class/cmsis_dap_v2.rs | 2 | ||||
| -rw-r--r-- | embassy-usb/src/class/midi.rs | 2 | ||||
| -rw-r--r-- | embassy-usb/src/class/uac1/speaker.rs | 4 | ||||
| -rw-r--r-- | embassy-usb/src/descriptor.rs | 2 | ||||
| -rw-r--r-- | embassy-usb/src/lib.rs | 3 | ||||
| -rw-r--r-- | embassy-usb/src/msos.rs | 2 |
10 files changed, 17 insertions, 13 deletions
diff --git a/embassy-usb/src/builder.rs b/embassy-usb/src/builder.rs index 8d7abe46c..6fc2a5a22 100644 --- a/embassy-usb/src/builder.rs +++ b/embassy-usb/src/builder.rs | |||
| @@ -5,7 +5,7 @@ use crate::descriptor::{BosWriter, DescriptorWriter, SynchronizationType, UsageT | |||
| 5 | use crate::driver::{Driver, Endpoint, EndpointAddress, 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, MAX_INTERFACE_COUNT, STRING_INDEX_CUSTOM_START, UsbDevice}; |
| 9 | 9 | ||
| 10 | #[derive(Debug, Copy, Clone)] | 10 | #[derive(Debug, Copy, Clone)] |
| 11 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] | 11 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] |
| @@ -176,7 +176,9 @@ impl<'d, D: Driver<'d>> Builder<'d, D> { | |||
| 176 | if config.composite_with_iads | 176 | if config.composite_with_iads |
| 177 | && (config.device_class != 0xEF || config.device_sub_class != 0x02 || config.device_protocol != 0x01) | 177 | && (config.device_class != 0xEF || config.device_sub_class != 0x02 || config.device_protocol != 0x01) |
| 178 | { | 178 | { |
| 179 | panic!("if composite_with_iads is set, you must set device_class = 0xEF, device_sub_class = 0x02, device_protocol = 0x01"); | 179 | panic!( |
| 180 | "if composite_with_iads is set, you must set device_class = 0xEF, device_sub_class = 0x02, device_protocol = 0x01" | ||
| 181 | ); | ||
| 180 | } | 182 | } |
| 181 | 183 | ||
| 182 | assert!( | 184 | assert!( |
| @@ -337,7 +339,8 @@ impl<'a, 'd, D: Driver<'d>> FunctionBuilder<'a, 'd, D> { | |||
| 337 | num_alt_settings: 0, | 339 | num_alt_settings: 0, |
| 338 | }; | 340 | }; |
| 339 | 341 | ||
| 340 | assert!(self.builder.interfaces.push(iface).is_ok(), | 342 | assert!( |
| 343 | self.builder.interfaces.push(iface).is_ok(), | ||
| 341 | "embassy-usb: interface list full. Increase the `max_interface_count` compile-time setting. Current value: {}", | 344 | "embassy-usb: interface list full. Increase the `max_interface_count` compile-time setting. Current value: {}", |
| 342 | MAX_INTERFACE_COUNT | 345 | MAX_INTERFACE_COUNT |
| 343 | ); | 346 | ); |
diff --git a/embassy-usb/src/class/cdc_acm.rs b/embassy-usb/src/class/cdc_acm.rs index 0a1a5e64f..388e21fbd 100644 --- a/embassy-usb/src/class/cdc_acm.rs +++ b/embassy-usb/src/class/cdc_acm.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | //! CDC-ACM class implementation, aka Serial over USB. | 1 | //! CDC-ACM class implementation, aka Serial over USB. |
| 2 | 2 | ||
| 3 | use core::cell::{Cell, RefCell}; | 3 | use core::cell::{Cell, RefCell}; |
| 4 | use core::future::{poll_fn, Future}; | 4 | use core::future::{Future, poll_fn}; |
| 5 | use core::mem::{self, MaybeUninit}; | 5 | use core::mem::{self, MaybeUninit}; |
| 6 | use core::sync::atomic::{AtomicBool, Ordering}; | 6 | use core::sync::atomic::{AtomicBool, Ordering}; |
| 7 | use core::task::Poll; | 7 | use core::task::Poll; |
diff --git a/embassy-usb/src/class/cdc_ncm/embassy_net.rs b/embassy-usb/src/class/cdc_ncm/embassy_net.rs index 57d322946..c83ff468a 100644 --- a/embassy-usb/src/class/cdc_ncm/embassy_net.rs +++ b/embassy-usb/src/class/cdc_ncm/embassy_net.rs | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | //! [`embassy-net`](https://crates.io/crates/embassy-net) driver for the CDC-NCM class. | 1 | //! [`embassy-net`](https://crates.io/crates/embassy-net) driver for the CDC-NCM class. |
| 2 | 2 | ||
| 3 | use embassy_futures::select::{select, Either}; | 3 | use embassy_futures::select::{Either, select}; |
| 4 | use embassy_net_driver_channel as ch; | 4 | use embassy_net_driver_channel as ch; |
| 5 | use embassy_net_driver_channel::driver::LinkState; | 5 | use embassy_net_driver_channel::driver::LinkState; |
| 6 | use embassy_usb_driver::Driver; | 6 | use embassy_usb_driver::Driver; |
diff --git a/embassy-usb/src/class/cdc_ncm/mod.rs b/embassy-usb/src/class/cdc_ncm/mod.rs index 3af853091..9b6dd9f21 100644 --- a/embassy-usb/src/class/cdc_ncm/mod.rs +++ b/embassy-usb/src/class/cdc_ncm/mod.rs | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | //! This is due to regex spaghetti: <https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-mainline-12.0.0_r84/core/res/res/values/config.xml#417> | 14 | //! This is due to regex spaghetti: <https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-mainline-12.0.0_r84/core/res/res/values/config.xml#417> |
| 15 | //! and this nonsense in the linux kernel: <https://github.com/torvalds/linux/blob/c00c5e1d157bec0ef0b0b59aa5482eb8dc7e8e49/drivers/net/usb/usbnet.c#L1751-L1757> | 15 | //! and this nonsense in the linux kernel: <https://github.com/torvalds/linux/blob/c00c5e1d157bec0ef0b0b59aa5482eb8dc7e8e49/drivers/net/usb/usbnet.c#L1751-L1757> |
| 16 | 16 | ||
| 17 | use core::mem::{size_of, MaybeUninit}; | 17 | use core::mem::{MaybeUninit, size_of}; |
| 18 | use core::ptr::{addr_of, copy_nonoverlapping}; | 18 | use core::ptr::{addr_of, copy_nonoverlapping}; |
| 19 | 19 | ||
| 20 | use crate::control::{self, InResponse, OutResponse, Recipient, Request, RequestType}; | 20 | use crate::control::{self, InResponse, OutResponse, Recipient, Request, RequestType}; |
diff --git a/embassy-usb/src/class/cmsis_dap_v2.rs b/embassy-usb/src/class/cmsis_dap_v2.rs index a9fd9cdf0..0e2356f17 100644 --- a/embassy-usb/src/class/cmsis_dap_v2.rs +++ b/embassy-usb/src/class/cmsis_dap_v2.rs | |||
| @@ -4,7 +4,7 @@ use core::mem::MaybeUninit; | |||
| 4 | 4 | ||
| 5 | use crate::driver::{Driver, Endpoint, EndpointError, EndpointIn, EndpointOut}; | 5 | use crate::driver::{Driver, Endpoint, EndpointError, EndpointIn, EndpointOut}; |
| 6 | use crate::types::StringIndex; | 6 | use crate::types::StringIndex; |
| 7 | use crate::{msos, Builder, Handler}; | 7 | use crate::{Builder, Handler, msos}; |
| 8 | 8 | ||
| 9 | /// State for the CMSIS-DAP v2 USB class. | 9 | /// State for the CMSIS-DAP v2 USB class. |
| 10 | pub struct State { | 10 | pub struct State { |
diff --git a/embassy-usb/src/class/midi.rs b/embassy-usb/src/class/midi.rs index 1d152ca44..d29172be1 100644 --- a/embassy-usb/src/class/midi.rs +++ b/embassy-usb/src/class/midi.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | //! MIDI class implementation. | 1 | //! MIDI class implementation. |
| 2 | 2 | ||
| 3 | use crate::driver::{Driver, Endpoint, EndpointError, EndpointIn, EndpointOut}; | ||
| 4 | use crate::Builder; | 3 | use crate::Builder; |
| 4 | use crate::driver::{Driver, Endpoint, EndpointError, EndpointIn, EndpointOut}; | ||
| 5 | 5 | ||
| 6 | /// This should be used as `device_class` when building the `UsbDevice`. | 6 | /// This should be used as `device_class` when building the `UsbDevice`. |
| 7 | pub const USB_AUDIO_CLASS: u8 = 0x01; | 7 | pub const USB_AUDIO_CLASS: u8 = 0x01; |
diff --git a/embassy-usb/src/class/uac1/speaker.rs b/embassy-usb/src/class/uac1/speaker.rs index 9565e2a25..46e0420d5 100644 --- a/embassy-usb/src/class/uac1/speaker.rs +++ b/embassy-usb/src/class/uac1/speaker.rs | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | //! The class provides volume and mute controls for each channel. | 11 | //! The class provides volume and mute controls for each channel. |
| 12 | 12 | ||
| 13 | use core::cell::{Cell, RefCell}; | 13 | use core::cell::{Cell, RefCell}; |
| 14 | use core::future::{poll_fn, Future}; | 14 | use core::future::{Future, poll_fn}; |
| 15 | use core::marker::PhantomData; | 15 | use core::marker::PhantomData; |
| 16 | use core::sync::atomic::{AtomicBool, AtomicU32, Ordering}; | 16 | use core::sync::atomic::{AtomicBool, AtomicU32, Ordering}; |
| 17 | use core::task::Poll; | 17 | use core::task::Poll; |
| @@ -22,7 +22,7 @@ use heapless::Vec; | |||
| 22 | 22 | ||
| 23 | use super::class_codes::*; | 23 | use super::class_codes::*; |
| 24 | use super::terminal_type::TerminalType; | 24 | use super::terminal_type::TerminalType; |
| 25 | use super::{Channel, ChannelConfig, FeedbackRefresh, SampleWidth, MAX_AUDIO_CHANNEL_COUNT, MAX_AUDIO_CHANNEL_INDEX}; | 25 | use super::{Channel, ChannelConfig, FeedbackRefresh, MAX_AUDIO_CHANNEL_COUNT, MAX_AUDIO_CHANNEL_INDEX, SampleWidth}; |
| 26 | use crate::control::{self, InResponse, OutResponse, Recipient, Request, RequestType}; | 26 | use crate::control::{self, InResponse, OutResponse, Recipient, Request, RequestType}; |
| 27 | use crate::descriptor::{SynchronizationType, UsageType}; | 27 | use crate::descriptor::{SynchronizationType, UsageType}; |
| 28 | use crate::driver::{Driver, Endpoint, EndpointError, EndpointIn, EndpointOut, EndpointType}; | 28 | use crate::driver::{Driver, Endpoint, EndpointError, EndpointIn, EndpointOut, EndpointType}; |
diff --git a/embassy-usb/src/descriptor.rs b/embassy-usb/src/descriptor.rs index e9a6fd79a..c79dd02eb 100644 --- a/embassy-usb/src/descriptor.rs +++ b/embassy-usb/src/descriptor.rs | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | //! Utilities for writing USB descriptors. | 1 | //! Utilities for writing USB descriptors. |
| 2 | use embassy_usb_driver::EndpointType; | 2 | use embassy_usb_driver::EndpointType; |
| 3 | 3 | ||
| 4 | use crate::CONFIGURATION_VALUE; | ||
| 4 | use crate::builder::Config; | 5 | use crate::builder::Config; |
| 5 | use crate::driver::EndpointInfo; | 6 | use crate::driver::EndpointInfo; |
| 6 | use crate::types::{InterfaceNumber, StringIndex}; | 7 | use crate::types::{InterfaceNumber, StringIndex}; |
| 7 | use crate::CONFIGURATION_VALUE; | ||
| 8 | 8 | ||
| 9 | /// Standard descriptor types | 9 | /// Standard descriptor types |
| 10 | #[allow(missing_docs)] | 10 | #[allow(missing_docs)] |
diff --git a/embassy-usb/src/lib.rs b/embassy-usb/src/lib.rs index 0638fd0a2..0c10c08df 100644 --- a/embassy-usb/src/lib.rs +++ b/embassy-usb/src/lib.rs | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | #![no_std] | 1 | #![no_std] |
| 2 | #![allow(unsafe_op_in_unsafe_fn)] | ||
| 2 | #![doc = include_str!("../README.md")] | 3 | #![doc = include_str!("../README.md")] |
| 3 | #![warn(missing_docs)] | 4 | #![warn(missing_docs)] |
| 4 | 5 | ||
| @@ -20,7 +21,7 @@ mod config { | |||
| 20 | include!(concat!(env!("OUT_DIR"), "/config.rs")); | 21 | include!(concat!(env!("OUT_DIR"), "/config.rs")); |
| 21 | } | 22 | } |
| 22 | 23 | ||
| 23 | use embassy_futures::select::{select, Either}; | 24 | use embassy_futures::select::{Either, select}; |
| 24 | use heapless::Vec; | 25 | use heapless::Vec; |
| 25 | 26 | ||
| 26 | pub use crate::builder::{Builder, Config, FunctionBuilder, InterfaceAltBuilder, InterfaceBuilder, UsbVersion}; | 27 | pub use crate::builder::{Builder, Config, FunctionBuilder, InterfaceAltBuilder, InterfaceBuilder, UsbVersion}; |
diff --git a/embassy-usb/src/msos.rs b/embassy-usb/src/msos.rs index 9f4e1a57b..66689871e 100644 --- a/embassy-usb/src/msos.rs +++ b/embassy-usb/src/msos.rs | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | use core::mem::size_of; | 5 | use core::mem::size_of; |
| 6 | 6 | ||
| 7 | use crate::descriptor::{capability_type, BosWriter}; | 7 | use crate::descriptor::{BosWriter, capability_type}; |
| 8 | use crate::types::InterfaceNumber; | 8 | use crate::types::InterfaceNumber; |
| 9 | 9 | ||
| 10 | /// A serialized Microsoft OS 2.0 Descriptor set. | 10 | /// A serialized Microsoft OS 2.0 Descriptor set. |
