diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2023-02-01 00:36:22 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-02-01 00:36:22 +0000 |
| commit | 465e4c8b1940762cee6c75912a5289b70d34deca (patch) | |
| tree | 152e3b3635a4ebe450868d3fc097ab85504d7623 /embassy-usb/src/builder.rs | |
| parent | 594969f2811b53741d1c5e477350dbf5b1b24a9d (diff) | |
| parent | 7ecb05ff77ba8cd87d87c1c6bc3b8c1a1624ad15 (diff) | |
Merge #1151
1151: USB: allow setting the interface string for interface alt settings r=Dirbaio a=mattico
This is a breaking change to embassy-usb's API.
Co-authored-by: Matt Ickstadt <[email protected]>
Diffstat (limited to 'embassy-usb/src/builder.rs')
| -rw-r--r-- | embassy-usb/src/builder.rs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/embassy-usb/src/builder.rs b/embassy-usb/src/builder.rs index 484989949..41b24fecf 100644 --- a/embassy-usb/src/builder.rs +++ b/embassy-usb/src/builder.rs | |||
| @@ -306,14 +306,25 @@ impl<'a, 'd, D: Driver<'d>> InterfaceBuilder<'a, 'd, D> { | |||
| 306 | /// Alternate setting numbers are guaranteed to be allocated consecutively, starting from 0. | 306 | /// Alternate setting numbers are guaranteed to be allocated consecutively, starting from 0. |
| 307 | /// | 307 | /// |
| 308 | /// The first alternate setting, with number 0, is the default one. | 308 | /// The first alternate setting, with number 0, is the default one. |
| 309 | pub fn alt_setting(&mut self, class: u8, subclass: u8, protocol: u8) -> InterfaceAltBuilder<'_, 'd, D> { | 309 | pub fn alt_setting( |
| 310 | &mut self, | ||
| 311 | class: u8, | ||
| 312 | subclass: u8, | ||
| 313 | protocol: u8, | ||
| 314 | interface_string: Option<StringIndex>, | ||
| 315 | ) -> InterfaceAltBuilder<'_, 'd, D> { | ||
| 310 | let number = self.next_alt_setting_number; | 316 | let number = self.next_alt_setting_number; |
| 311 | self.next_alt_setting_number += 1; | 317 | self.next_alt_setting_number += 1; |
| 312 | self.builder.interfaces[self.interface_number.0 as usize].num_alt_settings += 1; | 318 | self.builder.interfaces[self.interface_number.0 as usize].num_alt_settings += 1; |
| 313 | 319 | ||
| 314 | self.builder | 320 | self.builder.config_descriptor.interface_alt( |
| 315 | .config_descriptor | 321 | self.interface_number, |
| 316 | .interface_alt(self.interface_number, number, class, subclass, protocol, None); | 322 | number, |
| 323 | class, | ||
| 324 | subclass, | ||
| 325 | protocol, | ||
| 326 | interface_string, | ||
| 327 | ); | ||
| 317 | 328 | ||
| 318 | InterfaceAltBuilder { | 329 | InterfaceAltBuilder { |
| 319 | builder: self.builder, | 330 | builder: self.builder, |
