aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb/src/lib.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-11-08 23:08:50 +0100
committerDario Nieuwenhuis <[email protected]>2023-11-08 23:21:52 +0100
commit0b015bd727547d1eade5cd12c8b6a1b77483e6db (patch)
tree77f8a52f5a7eb5a8cc5981eae16e9871614015c7 /embassy-usb/src/lib.rs
parent79acb560ecb9089e31efdea29c6046225971fee3 (diff)
usb: remove msos-descriptor feature.
Diffstat (limited to 'embassy-usb/src/lib.rs')
-rw-r--r--embassy-usb/src/lib.rs23
1 files changed, 6 insertions, 17 deletions
diff --git a/embassy-usb/src/lib.rs b/embassy-usb/src/lib.rs
index 9fc1e3320..241e33a78 100644
--- a/embassy-usb/src/lib.rs
+++ b/embassy-usb/src/lib.rs
@@ -175,10 +175,7 @@ pub struct UsbBufferReport {
175 /// Number of bos descriptor bytes used 175 /// Number of bos descriptor bytes used
176 pub bos_descriptor_used: usize, 176 pub bos_descriptor_used: usize,
177 /// Number of msos descriptor bytes used 177 /// Number of msos descriptor bytes used
178 /// 178 pub msos_descriptor_used: usize,
179 /// Will be `None` if the "msos-descriptor" feature is not active.
180 /// Otherwise will return Some(bytes).
181 pub msos_descriptor_used: Option<usize>,
182 /// Size of the control buffer 179 /// Size of the control buffer
183 pub control_buffer_size: usize, 180 pub control_buffer_size: usize,
184} 181}
@@ -197,6 +194,7 @@ struct Inner<'d, D: Driver<'d>> {
197 device_descriptor: &'d [u8], 194 device_descriptor: &'d [u8],
198 config_descriptor: &'d [u8], 195 config_descriptor: &'d [u8],
199 bos_descriptor: &'d [u8], 196 bos_descriptor: &'d [u8],
197 msos_descriptor: crate::msos::MsOsDescriptorSet<'d>,
200 198
201 device_state: UsbDeviceState, 199 device_state: UsbDeviceState,
202 suspended: bool, 200 suspended: bool,
@@ -212,9 +210,6 @@ struct Inner<'d, D: Driver<'d>> {
212 210
213 interfaces: Vec<Interface, MAX_INTERFACE_COUNT>, 211 interfaces: Vec<Interface, MAX_INTERFACE_COUNT>,
214 handlers: Vec<&'d mut dyn Handler, MAX_HANDLER_COUNT>, 212 handlers: Vec<&'d mut dyn Handler, MAX_HANDLER_COUNT>,
215
216 #[cfg(feature = "msos-descriptor")]
217 msos_descriptor: crate::msos::MsOsDescriptorSet<'d>,
218} 213}
219 214
220impl<'d, D: Driver<'d>> UsbDevice<'d, D> { 215impl<'d, D: Driver<'d>> UsbDevice<'d, D> {
@@ -225,9 +220,9 @@ impl<'d, D: Driver<'d>> UsbDevice<'d, D> {
225 device_descriptor: &'d [u8], 220 device_descriptor: &'d [u8],
226 config_descriptor: &'d [u8], 221 config_descriptor: &'d [u8],
227 bos_descriptor: &'d [u8], 222 bos_descriptor: &'d [u8],
223 msos_descriptor: crate::msos::MsOsDescriptorSet<'d>,
228 interfaces: Vec<Interface, MAX_INTERFACE_COUNT>, 224 interfaces: Vec<Interface, MAX_INTERFACE_COUNT>,
229 control_buf: &'d mut [u8], 225 control_buf: &'d mut [u8],
230 #[cfg(feature = "msos-descriptor")] msos_descriptor: crate::msos::MsOsDescriptorSet<'d>,
231 ) -> UsbDevice<'d, D> { 226 ) -> UsbDevice<'d, D> {
232 // Start the USB bus. 227 // Start the USB bus.
233 // This prevent further allocation by consuming the driver. 228 // This prevent further allocation by consuming the driver.
@@ -242,6 +237,7 @@ impl<'d, D: Driver<'d>> UsbDevice<'d, D> {
242 device_descriptor, 237 device_descriptor,
243 config_descriptor, 238 config_descriptor,
244 bos_descriptor, 239 bos_descriptor,
240 msos_descriptor,
245 241
246 device_state: UsbDeviceState::Unpowered, 242 device_state: UsbDeviceState::Unpowered,
247 suspended: false, 243 suspended: false,
@@ -251,8 +247,6 @@ impl<'d, D: Driver<'d>> UsbDevice<'d, D> {
251 set_address_pending: false, 247 set_address_pending: false,
252 interfaces, 248 interfaces,
253 handlers, 249 handlers,
254 #[cfg(feature = "msos-descriptor")]
255 msos_descriptor,
256 }, 250 },
257 } 251 }
258 } 252 }
@@ -261,16 +255,11 @@ impl<'d, D: Driver<'d>> UsbDevice<'d, D> {
261 /// 255 ///
262 /// Useful for tuning buffer sizes for actual usage 256 /// Useful for tuning buffer sizes for actual usage
263 pub fn buffer_usage(&self) -> UsbBufferReport { 257 pub fn buffer_usage(&self) -> UsbBufferReport {
264 #[cfg(not(feature = "msos-descriptor"))]
265 let mdu = None;
266 #[cfg(feature = "msos-descriptor")]
267 let mdu = Some(self.inner.msos_descriptor.len());
268
269 UsbBufferReport { 258 UsbBufferReport {
270 device_descriptor_used: self.inner.device_descriptor.len(), 259 device_descriptor_used: self.inner.device_descriptor.len(),
271 config_descriptor_used: self.inner.config_descriptor.len(), 260 config_descriptor_used: self.inner.config_descriptor.len(),
272 bos_descriptor_used: self.inner.bos_descriptor.len(), 261 bos_descriptor_used: self.inner.bos_descriptor.len(),
273 msos_descriptor_used: mdu, 262 msos_descriptor_used: self.inner.msos_descriptor.len(),
274 control_buffer_size: self.control_buf.len(), 263 control_buffer_size: self.control_buf.len(),
275 } 264 }
276 } 265 }
@@ -684,7 +673,7 @@ impl<'d, D: Driver<'d>> Inner<'d, D> {
684 } 673 }
685 _ => InResponse::Rejected, 674 _ => InResponse::Rejected,
686 }, 675 },
687 #[cfg(feature = "msos-descriptor")] 676
688 (RequestType::Vendor, Recipient::Device) => { 677 (RequestType::Vendor, Recipient::Device) => {
689 if !self.msos_descriptor.is_empty() 678 if !self.msos_descriptor.is_empty()
690 && req.request == self.msos_descriptor.vendor_code() 679 && req.request == self.msos_descriptor.vendor_code()