From 8b448aebd7690111cdc68879d17960ce9c39320c Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 8 May 2026 14:20:19 +0300 Subject: [PATCH] Init --- SerialPort_USB.c | 8 ++++---- cdc/cdc_class.c | 18 ++++++++++++++++++ cdc/cdc_class.h | 1 + cdc/cdc_desc.c | 14 ++++++++++++++ cdc/cdc_desc.h | 1 + 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/SerialPort_USB.c b/SerialPort_USB.c index 9e56a84..18bc5a6 100644 --- a/SerialPort_USB.c +++ b/SerialPort_USB.c @@ -550,8 +550,8 @@ void SerialPortUsb_Init( usbd_init(&otg2_core_struct, USB_FULL_SPEED_CORE_ID, USB2_ID, - &cdc_class_handler, - &cdc_desc_handler); + &cdc_class_handler2, + &cdc_desc_handler2); #endif } @@ -564,8 +564,8 @@ void SerialPortUsb_Init( UsbDriver_StartThread(env); } - */ -} +*/ + } tSerialPortIO SerialPortUsb_GetIo(tSerialPortUsbArtery *env) { tSerialPortIO io = { diff --git a/cdc/cdc_class.c b/cdc/cdc_class.c index 22094c4..f54b02a 100644 --- a/cdc/cdc_class.c +++ b/cdc/cdc_class.c @@ -77,6 +77,24 @@ usbd_class_handler cdc_class_handler = class_event_handler, &cdc_struct }; + + +cdc_struct_type cdc_struct2; + +usbd_class_handler cdc_class_handler2 = + { + class_init_handler, + class_clear_handler, + class_setup_handler, + class_ept0_tx_handler, + class_ept0_rx_handler, + class_in_handler, + class_out_handler, + class_sof_handler, + class_event_handler, + &cdc_struct2 + }; + /** * @brief initialize usb custom hid endpoint * @param udev: to the structure of usbd_core_type diff --git a/cdc/cdc_class.h b/cdc/cdc_class.h index f781519..f8fbbf3 100644 --- a/cdc/cdc_class.h +++ b/cdc/cdc_class.h @@ -90,6 +90,7 @@ typedef struct * @{ */ extern usbd_class_handler cdc_class_handler; +extern usbd_class_handler cdc_class_handler2; uint16_t usb_vcp_get_rxdata(void *udev, uint8_t *recv_data); error_status usb_vcp_send_data(void *udev, uint8_t *send_data, uint16_t len); diff --git a/cdc/cdc_desc.c b/cdc/cdc_desc.c index 03325cc..a634292 100644 --- a/cdc/cdc_desc.c +++ b/cdc/cdc_desc.c @@ -76,6 +76,20 @@ usbd_desc_handler cdc_desc_handler = get_device_config_string, }; +usbd_desc_handler cdc_desc_handler2 = + { + get_device_descriptor, + get_device_qualifier, + get_device_configuration, + get_device_other_speed, + get_device_lang_id, + get_device_manufacturer_string, + get_device_product_string, + get_device_serial_string, + get_device_interface_string, + get_device_config_string, + }; + /** * @brief usb device standard descriptor */ diff --git a/cdc/cdc_desc.h b/cdc/cdc_desc.h index f5f80cb..d3df631 100644 --- a/cdc/cdc_desc.h +++ b/cdc/cdc_desc.h @@ -86,6 +86,7 @@ extern "C" { */ extern usbd_desc_handler cdc_desc_handler; +extern usbd_desc_handler cdc_desc_handler2; /**