-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Description of defect
My PC side application needs to send a break signal to the board, but mbed-os will not handle it, and return failure.
I did some changes to the source for just making it return success, but I think it will be wonderful if this can be supported officially.
Related codes:
mbed-os/drivers/usb/source/USBCDC.cpp
Lines 29 to 31 in f0d9090
#define CDC_SET_LINE_CODING 0x20 | |
#define CDC_GET_LINE_CODING 0x21 | |
#define CDC_SET_CONTROL_LINE_STATE 0x22 |
↑ add the following codes.
#define CDC_SEND_BREAK 0x23
mbed-os/drivers/usb/source/USBCDC.cpp
Lines 218 to 243 in f0d9090
/* Only process class-specific requests */ | |
if (setup->bmRequestType.Type == CLASS_TYPE) { | |
switch (setup->bRequest) { | |
case CDC_GET_LINE_CODING: | |
result = Send; | |
data = _cdc_line_coding; | |
size = 7; | |
break; | |
case CDC_SET_LINE_CODING: | |
result = Receive; | |
data = _cdc_new_line_coding; | |
size = 7; | |
break; | |
case CDC_SET_CONTROL_LINE_STATE: | |
if (setup->wValue & CLS_DTR) { | |
_change_terminal_connected(true); | |
} else { | |
_change_terminal_connected(false); | |
} | |
result = Success; | |
break; | |
default: | |
result = Failure; | |
break; | |
} | |
} |
↑ add a new case in this
switch
case CDC_SEND_BREAK:
/* Do something here */
result = Success;
break;
Target(s) affected by this defect ?
I think all targets affected by this defect.
I'm using Arduino Giga r1 wifi
Toolchain(s) (name and version) displaying this defect ?
I'm using ArduinoCore-mbed v4.0.6
What version of Mbed-os are you using (tag or sha) ?
ArduinoCore-mbed v4.0.6 is based on mbed-os-6.17.0 I think
What version(s) of tools are you using. List all that apply (E.g. mbed-cli)
arduino ide
How is this defect reproduced ?
You should prepare an PC application.
The application will connect to the board by CDC, and at last send CDC_SEND_BREAK
request, and the board will response failed because it is not defined.
Metadata
Metadata
Assignees
Type
Projects
Status
Status