aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb/src/builder.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2023-02-01 00:36:22 +0000
committerGitHub <[email protected]>2023-02-01 00:36:22 +0000
commit465e4c8b1940762cee6c75912a5289b70d34deca (patch)
tree152e3b3635a4ebe450868d3fc097ab85504d7623 /embassy-usb/src/builder.rs
parent594969f2811b53741d1c5e477350dbf5b1b24a9d (diff)
parent7ecb05ff77ba8cd87d87c1c6bc3b8c1a1624ad15 (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.rs19
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,