summaryrefslogtreecommitdiff
path: root/src/class/cdc/cdc_device.c
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-02-26 12:54:50 +0700
committerGitHub <[email protected]>2021-02-26 12:54:50 +0700
commitc6eeee1b799b29da05f46f698bf2c139cf5e2fbb (patch)
tree90ec4b7bf63e8f7ab0de678df2222301171c16fe /src/class/cdc/cdc_device.c
parent0c05a02e676bdaa5f22e622a63de8af9b7851d97 (diff)
parent55a46a5c3b7ad3afb70a995954baa6148381b3a5 (diff)
Merge pull request #683 from amitv87/handle_break_req
Handle CDC_REQUEST_SEND_BREAK
Diffstat (limited to 'src/class/cdc/cdc_device.c')
-rw-r--r--src/class/cdc/cdc_device.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c
index 58f485a5d..5a74b4876 100644
--- a/src/class/cdc/cdc_device.c
+++ b/src/class/cdc/cdc_device.c
@@ -396,6 +396,17 @@ bool cdcd_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t
if ( tud_cdc_line_state_cb ) tud_cdc_line_state_cb(itf, dtr, rts);
}
break;
+ case CDC_REQUEST_SEND_BREAK:
+ if (stage == CONTROL_STAGE_SETUP)
+ {
+ tud_control_status(rhport, request);
+ }
+ else if (stage == CONTROL_STAGE_ACK)
+ {
+ TU_LOG2(" Send Break\r\n");
+ if ( tud_cdc_send_break_cb ) tud_cdc_send_break_cb(itf, request->wValue);
+ }
+ break;
default: return false; // stall unsupported request
}