1130: USB serial (CDC-ACM) improvements r=Dirbaio a=timokroeger

* Remove unused call management descriptor
* Set flag for supported capabilities

The rp `usb_serial` example still works with windows hosts.

Co-authored-by: Timo Kröger <timokroeger93@gmail.com>
This commit is contained in:
bors[bot] 2023-01-02 22:51:58 +00:00 committed by GitHub
commit a6b52bde58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -18,7 +18,6 @@ const CDC_PROTOCOL_NONE: u8 = 0x00;
const CS_INTERFACE: u8 = 0x24; const CS_INTERFACE: u8 = 0x24;
const CDC_TYPE_HEADER: u8 = 0x00; const CDC_TYPE_HEADER: u8 = 0x00;
const CDC_TYPE_CALL_MANAGEMENT: u8 = 0x01;
const CDC_TYPE_ACM: u8 = 0x02; const CDC_TYPE_ACM: u8 = 0x02;
const CDC_TYPE_UNION: u8 = 0x06; const CDC_TYPE_UNION: u8 = 0x06;
@ -186,7 +185,10 @@ impl<'d, D: Driver<'d>> CdcAcmClass<'d, D> {
CS_INTERFACE, CS_INTERFACE,
&[ &[
CDC_TYPE_ACM, // bDescriptorSubtype CDC_TYPE_ACM, // bDescriptorSubtype
0x00, // bmCapabilities 0x02, // bmCapabilities:
// D1: Device supports the request combination of
// Set_Line_Coding, Set_Control_Line_State, Get_Line_Coding,
// and the Notification Serial_State.
], ],
); );
alt.descriptor( alt.descriptor(
@ -197,14 +199,6 @@ impl<'d, D: Driver<'d>> CdcAcmClass<'d, D> {
data_if.into(), // bSubordinateInterface data_if.into(), // bSubordinateInterface
], ],
); );
alt.descriptor(
CS_INTERFACE,
&[
CDC_TYPE_CALL_MANAGEMENT, // bDescriptorSubtype
0x00, // bmCapabilities
data_if.into(), // bDataInterface
],
);
let comm_ep = alt.endpoint_interrupt_in(8, 255); let comm_ep = alt.endpoint_interrupt_in(8, 255);