improved ACM checks

This commit is contained in:
IngHK
2024-02-22 09:28:06 +01:00
parent ea86bbe5f7
commit 22a12c7668

View File

@@ -773,6 +773,11 @@ static bool acm_set_control_line_state(cdch_interface_t* p_cdc, tuh_xfer_cb_t co
} }
static bool acm_set_line_coding(cdch_interface_t* p_cdc, tuh_xfer_cb_t complete_cb, uintptr_t user_data) { static bool acm_set_line_coding(cdch_interface_t* p_cdc, tuh_xfer_cb_t complete_cb, uintptr_t user_data) {
TU_VERIFY(p_cdc->acm_capability.support_line_request);
TU_VERIFY(p_cdc->requested_line_coding.data_bits && p_cdc->requested_line_coding.bit_rate);
TU_VERIFY((p_cdc->requested_line_coding.data_bits >= 5 && p_cdc->requested_line_coding.data_bits <= 8) ||
p_cdc->requested_line_coding.data_bits == 16);
tusb_control_request_t const request = { tusb_control_request_t const request = {
.bmRequestType_bit = { .bmRequestType_bit = {
.recipient = TUSB_REQ_RCPT_INTERFACE, .recipient = TUSB_REQ_RCPT_INTERFACE,
@@ -813,7 +818,6 @@ static bool acm_set_baudrate(cdch_interface_t* p_cdc, tuh_xfer_cb_t complete_cb,
p_cdc->requested_line_coding.stop_bits = p_cdc->line_coding.stop_bits; p_cdc->requested_line_coding.stop_bits = p_cdc->line_coding.stop_bits;
p_cdc->requested_line_coding.parity = p_cdc->line_coding.parity; p_cdc->requested_line_coding.parity = p_cdc->line_coding.parity;
p_cdc->requested_line_coding.data_bits = p_cdc->line_coding.data_bits; p_cdc->requested_line_coding.data_bits = p_cdc->line_coding.data_bits;
TU_VERIFY(p_cdc->acm_capability.support_line_request);
return acm_set_line_coding(p_cdc, complete_cb, user_data); return acm_set_line_coding(p_cdc, complete_cb, user_data);
} }