diff options
| author | Ha Thach <[email protected]> | 2021-02-26 12:54:50 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-26 12:54:50 +0700 |
| commit | c6eeee1b799b29da05f46f698bf2c139cf5e2fbb (patch) | |
| tree | 90ec4b7bf63e8f7ab0de678df2222301171c16fe /src | |
| parent | 0c05a02e676bdaa5f22e622a63de8af9b7851d97 (diff) | |
| parent | 55a46a5c3b7ad3afb70a995954baa6148381b3a5 (diff) | |
Merge pull request #683 from amitv87/handle_break_req
Handle CDC_REQUEST_SEND_BREAK
Diffstat (limited to 'src')
| -rw-r--r-- | src/class/cdc/cdc_device.c | 11 | ||||
| -rw-r--r-- | src/class/cdc/cdc_device.h | 3 |
2 files changed, 14 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 } diff --git a/src/class/cdc/cdc_device.h b/src/class/cdc/cdc_device.h index 62dcd3c0a..0885922c6 100644 --- a/src/class/cdc/cdc_device.h +++ b/src/class/cdc/cdc_device.h @@ -145,6 +145,9 @@ TU_ATTR_WEAK void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts); // Invoked when line coding is change via SET_LINE_CODING TU_ATTR_WEAK void tud_cdc_line_coding_cb(uint8_t itf, cdc_line_coding_t const* p_line_coding); +// Invoked when received send break +TU_ATTR_WEAK void tud_cdc_send_break_cb(uint8_t itf, uint16_t duration_ms); + //--------------------------------------------------------------------+ // Inline Functions //--------------------------------------------------------------------+ |
