summaryrefslogtreecommitdiff
path: root/src/class/cdc/cdc_host.c
diff options
context:
space:
mode:
authorIngHK <[email protected]>2024-04-04 14:14:41 +0200
committerIngHK <[email protected]>2024-04-04 14:14:41 +0200
commite02a309f1dc09377fe5123c21ecfe36eb6a032c7 (patch)
tree7cd0931e0115b403cc2dbcd809660fe06a05d494 /src/class/cdc/cdc_host.c
parenta1b1c1f552d944da1bf309ce002b7c07f5a270a0 (diff)
disable PL2303 flow control config
Diffstat (limited to 'src/class/cdc/cdc_host.c')
-rw-r--r--src/class/cdc/cdc_host.c55
1 files changed, 29 insertions, 26 deletions
diff --git a/src/class/cdc/cdc_host.c b/src/class/cdc/cdc_host.c
index 6006730b7..b9915f583 100644
--- a/src/class/cdc/cdc_host.c
+++ b/src/class/cdc/cdc_host.c
@@ -2475,8 +2475,8 @@ enum {
CONFIG_PL2303_RESET_ENDP2,
CONFIG_PL2303_LINE_CODING,
CONFIG_PL2303_MODEM_CONTROL,
- CONFIG_PL2303_FLOW_CTRL_READ,
- CONFIG_PL2303_FLOW_CTRL_WRITE,
+// CONFIG_PL2303_FLOW_CTRL_READ,
+// CONFIG_PL2303_FLOW_CTRL_WRITE,
CONFIG_PL2303_COMPLETE
};
@@ -2691,35 +2691,38 @@ static void pl2303_process_config(tuh_xfer_t * xfer) {
case CONFIG_PL2303_MODEM_CONTROL:
#ifdef LINE_CONTROL_ON_ENUM
p_cdc->requested_line_state.all = LINE_CONTROL_ON_ENUM;
- TU_ASSERT_COMPLETE(pl2303_set_control_lines(p_cdc, pl2303_internal_control_complete, CONFIG_PL2303_FLOW_CTRL_READ));
+ TU_ASSERT_COMPLETE(pl2303_set_control_lines(p_cdc, pl2303_internal_control_complete, CONFIG_PL2303_COMPLETE));
break;
#else
TU_ATTR_FALLTHROUGH;
#endif
- case CONFIG_PL2303_FLOW_CTRL_READ:
- // read flow control register for modify & write back in next step
- if (p_cdc->pl2303.serial_private.type == &pl2303_type_data[TYPE_HXN]) {
- TU_ASSERT_COMPLETE(pl2303_vendor_read(p_cdc, PL2303_HXN_FLOWCTRL_REG, &buf, pl2303_process_config,
- CONFIG_PL2303_FLOW_CTRL_WRITE));
- } else {
- TU_ASSERT_COMPLETE(pl2303_vendor_read(p_cdc, 0, &buf, pl2303_process_config, CONFIG_PL2303_FLOW_CTRL_WRITE));
- }
- break;
-
- case CONFIG_PL2303_FLOW_CTRL_WRITE:
- // no flow control
- buf = xfer->buffer[0];
- if (p_cdc->pl2303.serial_private.type == &pl2303_type_data[TYPE_HXN]) {
- buf &= (uint8_t) ~PL2303_HXN_FLOWCTRL_MASK;
- buf |= PL2303_HXN_FLOWCTRL_NONE;
- TU_ASSERT_COMPLETE(pl2303_vendor_write(p_cdc, PL2303_HXN_FLOWCTRL_REG, buf, pl2303_process_config,
- CONFIG_PL2303_COMPLETE));
- } else {
- buf &= (uint8_t) ~PL2303_FLOWCTRL_MASK;
- TU_ASSERT_COMPLETE(pl2303_vendor_write(p_cdc, 0, buf, pl2303_process_config, CONFIG_PL2303_COMPLETE));
- }
- break;
+// skipped, because it's not working with each PL230x. flow control can be also set by PL2303 EEPROM Writer Program
+// case CONFIG_PL2303_FLOW_CTRL_READ:
+// // read flow control register for modify & write back in next step
+// if (p_cdc->pl2303.serial_private.type == &pl2303_type_data[TYPE_HXN]) {
+// TU_LOG_P_CDC ( "1\r\n" );
+// TU_ASSERT_COMPLETE(pl2303_vendor_read(p_cdc, PL2303_HXN_FLOWCTRL_REG, &buf, pl2303_process_config,
+// CONFIG_PL2303_FLOW_CTRL_WRITE));
+// } else {
+// TU_LOG_P_CDC ( "2\r\n" );
+// TU_ASSERT_COMPLETE(pl2303_vendor_read(p_cdc, 0, &buf, pl2303_process_config, CONFIG_PL2303_FLOW_CTRL_WRITE));
+// }
+// break;
+//
+// case CONFIG_PL2303_FLOW_CTRL_WRITE:
+// // no flow control
+// buf = xfer->buffer[0];
+// if (p_cdc->pl2303.serial_private.type == &pl2303_type_data[TYPE_HXN]) {
+// buf &= (uint8_t) ~PL2303_HXN_FLOWCTRL_MASK;
+// buf |= PL2303_HXN_FLOWCTRL_NONE;
+// TU_ASSERT_COMPLETE(pl2303_vendor_write(p_cdc, PL2303_HXN_FLOWCTRL_REG, buf, pl2303_process_config,
+// CONFIG_PL2303_COMPLETE));
+// } else {
+// buf &= (uint8_t) ~PL2303_FLOWCTRL_MASK;
+// TU_ASSERT_COMPLETE(pl2303_vendor_write(p_cdc, 0, buf, pl2303_process_config, CONFIG_PL2303_COMPLETE));
+// }
+// break;
case CONFIG_PL2303_COMPLETE:
set_config_complete(idx, 0, true);