diff options
| author | Rafael Bachmann <[email protected]> | 2023-10-15 23:45:44 +0200 |
|---|---|---|
| committer | Rafael Bachmann <[email protected]> | 2023-10-15 23:52:44 +0200 |
| commit | 31d4516516940720101300a40d0d6d2bb8d1728e (patch) | |
| tree | ce44bfebf56fea7726bccae7d2617efd360af319 /embassy-usb/src/builder.rs | |
| parent | 66e62e999409fd6967ab959a061f7eae660102d0 (diff) | |
Apply Pedantic Clippy Lints
Diffstat (limited to 'embassy-usb/src/builder.rs')
| -rw-r--r-- | embassy-usb/src/builder.rs | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/embassy-usb/src/builder.rs b/embassy-usb/src/builder.rs index 8860f9eea..b4ddccd71 100644 --- a/embassy-usb/src/builder.rs +++ b/embassy-usb/src/builder.rs | |||
| @@ -1,17 +1,17 @@ | |||
| 1 | use heapless::Vec; | 1 | use heapless::Vec; |
| 2 | 2 | ||
| 3 | use crate::config::*; | 3 | use crate::config::MAX_HANDLER_COUNT; |
| 4 | use crate::descriptor::{BosWriter, DescriptorWriter}; | 4 | use crate::descriptor::{BosWriter, DescriptorWriter}; |
| 5 | use crate::driver::{Driver, Endpoint, EndpointType}; | 5 | use crate::driver::{Driver, Endpoint, EndpointType}; |
| 6 | #[cfg(feature = "msos-descriptor")] | 6 | #[cfg(feature = "msos-descriptor")] |
| 7 | use crate::msos::{DeviceLevelDescriptor, FunctionLevelDescriptor, MsOsDescriptorWriter}; | 7 | use crate::msos::{DeviceLevelDescriptor, FunctionLevelDescriptor, MsOsDescriptorWriter}; |
| 8 | use crate::types::*; | 8 | use crate::types::{InterfaceNumber, StringIndex}; |
| 9 | use crate::{Handler, Interface, UsbDevice, MAX_INTERFACE_COUNT, STRING_INDEX_CUSTOM_START}; | 9 | use crate::{Handler, Interface, UsbDevice, MAX_INTERFACE_COUNT, STRING_INDEX_CUSTOM_START}; |
| 10 | 10 | ||
| 11 | #[derive(Debug, Copy, Clone)] | 11 | #[derive(Debug, Copy, Clone)] |
| 12 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] | 12 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] |
| 13 | #[non_exhaustive] | 13 | #[non_exhaustive] |
| 14 | /// Configuration used when creating [UsbDevice]. | 14 | /// Configuration used when creating [`UsbDevice`]. |
| 15 | pub struct Config<'a> { | 15 | pub struct Config<'a> { |
| 16 | pub(crate) vendor_id: u16, | 16 | pub(crate) vendor_id: u16, |
| 17 | pub(crate) product_id: u16, | 17 | pub(crate) product_id: u16, |
| @@ -159,9 +159,10 @@ impl<'d, D: Driver<'d>> Builder<'d, D> { | |||
| 159 | panic!("if composite_with_iads is set, you must set device_class = 0xEF, device_sub_class = 0x02, device_protocol = 0x01"); | 159 | panic!("if composite_with_iads is set, you must set device_class = 0xEF, device_sub_class = 0x02, device_protocol = 0x01"); |
| 160 | } | 160 | } |
| 161 | 161 | ||
| 162 | if config.max_power > 500 { | 162 | assert!( |
| 163 | panic!("The maximum allowed value for `max_power` is 500mA"); | 163 | config.max_power <= 500, |
| 164 | } | 164 | "The maximum allowed value for `max_power` is 500mA" |
| 165 | ); | ||
| 165 | 166 | ||
| 166 | match config.max_packet_size_0 { | 167 | match config.max_packet_size_0 { |
| 167 | 8 | 16 | 32 | 64 => {} | 168 | 8 | 16 | 32 | 64 => {} |
| @@ -260,12 +261,11 @@ impl<'d, D: Driver<'d>> Builder<'d, D> { | |||
| 260 | /// The Handler is called on some USB bus events, and to handle all control requests not already | 261 | /// The Handler is called on some USB bus events, and to handle all control requests not already |
| 261 | /// handled by the USB stack. | 262 | /// handled by the USB stack. |
| 262 | pub fn handler(&mut self, handler: &'d mut dyn Handler) { | 263 | pub fn handler(&mut self, handler: &'d mut dyn Handler) { |
| 263 | if self.handlers.push(handler).is_err() { | 264 | assert!( |
| 264 | panic!( | 265 | self.handlers.push(handler).is_ok(), |
| 265 | "embassy-usb: handler list full. Increase the `max_handler_count` compile-time setting. Current value: {}", | 266 | "embassy-usb: handler list full. Increase the `max_handler_count` compile-time setting. Current value: {}", |
| 266 | MAX_HANDLER_COUNT | 267 | MAX_HANDLER_COUNT |
| 267 | ) | 268 | ); |
| 268 | } | ||
| 269 | } | 269 | } |
| 270 | 270 | ||
| 271 | /// Allocates a new string index. | 271 | /// Allocates a new string index. |
| @@ -332,12 +332,10 @@ impl<'a, 'd, D: Driver<'d>> FunctionBuilder<'a, 'd, D> { | |||
| 332 | num_alt_settings: 0, | 332 | num_alt_settings: 0, |
| 333 | }; | 333 | }; |
| 334 | 334 | ||
| 335 | if self.builder.interfaces.push(iface).is_err() { | 335 | assert!(self.builder.interfaces.push(iface).is_ok(), |
| 336 | panic!( | 336 | "embassy-usb: interface list full. Increase the `max_interface_count` compile-time setting. Current value: {}", |
| 337 | "embassy-usb: interface list full. Increase the `max_interface_count` compile-time setting. Current value: {}", | 337 | MAX_INTERFACE_COUNT |
| 338 | MAX_INTERFACE_COUNT | 338 | ); |
| 339 | ) | ||
| 340 | } | ||
| 341 | 339 | ||
| 342 | InterfaceBuilder { | 340 | InterfaceBuilder { |
| 343 | builder: self.builder, | 341 | builder: self.builder, |
| @@ -371,7 +369,7 @@ pub struct InterfaceBuilder<'a, 'd, D: Driver<'d>> { | |||
| 371 | 369 | ||
| 372 | impl<'a, 'd, D: Driver<'d>> InterfaceBuilder<'a, 'd, D> { | 370 | impl<'a, 'd, D: Driver<'d>> InterfaceBuilder<'a, 'd, D> { |
| 373 | /// Get the interface number. | 371 | /// Get the interface number. |
| 374 | pub fn interface_number(&self) -> InterfaceNumber { | 372 | pub const fn interface_number(&self) -> InterfaceNumber { |
| 375 | self.interface_number | 373 | self.interface_number |
| 376 | } | 374 | } |
| 377 | 375 | ||
| @@ -422,12 +420,12 @@ pub struct InterfaceAltBuilder<'a, 'd, D: Driver<'d>> { | |||
| 422 | 420 | ||
| 423 | impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | 421 | impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { |
| 424 | /// Get the interface number. | 422 | /// Get the interface number. |
| 425 | pub fn interface_number(&self) -> InterfaceNumber { | 423 | pub const fn interface_number(&self) -> InterfaceNumber { |
| 426 | self.interface_number | 424 | self.interface_number |
| 427 | } | 425 | } |
| 428 | 426 | ||
| 429 | /// Get the alternate setting number. | 427 | /// Get the alternate setting number. |
| 430 | pub fn alt_setting_number(&self) -> u8 { | 428 | pub const fn alt_setting_number(&self) -> u8 { |
| 431 | self.alt_setting_number | 429 | self.alt_setting_number |
| 432 | } | 430 | } |
| 433 | 431 | ||
| @@ -436,7 +434,7 @@ impl<'a, 'd, D: Driver<'d>> InterfaceAltBuilder<'a, 'd, D> { | |||
| 436 | /// Descriptors are written in the order builder functions are called. Note that some | 434 | /// Descriptors are written in the order builder functions are called. Note that some |
| 437 | /// classes care about the order. | 435 | /// classes care about the order. |
| 438 | pub fn descriptor(&mut self, descriptor_type: u8, descriptor: &[u8]) { | 436 | pub fn descriptor(&mut self, descriptor_type: u8, descriptor: &[u8]) { |
| 439 | self.builder.config_descriptor.write(descriptor_type, descriptor) | 437 | self.builder.config_descriptor.write(descriptor_type, descriptor); |
| 440 | } | 438 | } |
| 441 | 439 | ||
| 442 | fn endpoint_in(&mut self, ep_type: EndpointType, max_packet_size: u16, interval_ms: u8) -> D::EndpointIn { | 440 | fn endpoint_in(&mut self, ep_type: EndpointType, max_packet_size: u16, interval_ms: u8) -> D::EndpointIn { |
