| @@ -614,39 +614,35 @@ static void usb_control(uint32_t stat) | |||
| //serial_print("PID=OUT\n"); | |||
| if (setup.wRequestAndType == 0x2021 /*CDC_SET_LINE_CODING*/) { | |||
| int i; | |||
| uint8_t *dst = NULL; | |||
| uint32_t *line_coding = NULL; | |||
| switch (setup.wIndex) { | |||
| #ifdef CDC_STATUS_INTERFACE | |||
| case CDC_STATUS_INTERFACE: | |||
| dst = (uint8_t *)usb_cdc_line_coding; | |||
| line_coding = usb_cdc_line_coding; | |||
| break; | |||
| #endif | |||
| #ifdef CDC2_STATUS_INTERFACE | |||
| case CDC2_STATUS_INTERFACE: | |||
| dst = (uint8_t *)usb_cdc2_line_coding; | |||
| line_coding = usb_cdc2_line_coding; | |||
| break; | |||
| #endif | |||
| #ifdef CDC3_STATUS_INTERFACE | |||
| case CDC3_STATUS_INTERFACE: | |||
| dst = (uint8_t *)usb_cdc3_line_coding; | |||
| line_coding = usb_cdc3_line_coding; | |||
| break; | |||
| #endif | |||
| } | |||
| if (!dst) | |||
| break; | |||
| //serial_print("set line coding "); | |||
| for (i=0; i<7; i++) { | |||
| //serial_phex(*buf); | |||
| *dst++ = *buf++; | |||
| if (line_coding) { | |||
| uint8_t *dst = (uint8_t *)line_coding; | |||
| //serial_print("set line coding "); | |||
| for (i=0; i<7; i++) { | |||
| //serial_phex(*buf); | |||
| *dst++ = *buf++; | |||
| } | |||
| //serial_phex32(line_coding[0]); | |||
| //serial_print("\n"); | |||
| if (line_coding[0] == 134) usb_reboot_timer = 15; | |||
| } | |||
| //serial_phex32(usb_cdc_line_coding[0]); | |||
| //serial_print("\n"); | |||
| #ifdef CDC_STATUS_INTERFACE | |||
| if (setup.wIndex == CDC_STATUS_INTERFACE && | |||
| usb_cdc_line_coding[0] == 134) | |||
| usb_reboot_timer = 15; | |||
| #endif | |||
| endpoint0_transmit(NULL, 0); | |||
| } | |||
| #ifdef KEYBOARD_INTERFACE | |||