From 340fa4e024e3f2ef38fe32102753388e87e8073b Mon Sep 17 00:00:00 2001 From: sakimisu <1203593632@qq.com> Date: Wed, 21 Jun 2023 21:26:25 +0800 Subject: [PATCH] use usbd_event_handler instead of usbd_configure_done_callback --- core/usbd_core.c | 1 - core/usbd_core.h | 1 - demo/audio_v1_mic_multichan_template.c | 31 +++++++++++++--- .../audio_v1_mic_speaker_multichan_template.c | 33 ++++++++++++++--- demo/audio_v2_mic_multichan_template.c | 31 +++++++++++++--- .../audio_v2_mic_speaker_multichan_template.c | 30 +++++++++++++-- demo/audio_v2_speaker_multichan_template.c | 30 +++++++++++++-- demo/cdc_acm_hid_msc_template.c | 27 ++++++++++++-- demo/cdc_acm_msc_template.c | 27 ++++++++++++-- demo/cdc_acm_multi_template.c | 33 ++++++++++++++--- demo/cdc_acm_template.c | 27 ++++++++++++-- demo/cdc_rndis_template.c | 37 ++++++++++++++----- demo/cmsis-dap_v2.1_tempate.c | 29 +++++++++++++-- demo/dfu_with_st_tool_template.c | 24 +++++++++++- demo/hid_custom_inout_template.c | 27 ++++++++++++-- demo/hid_keyboard_template.c | 24 +++++++++++- demo/hid_mouse_template.c | 24 +++++++++++- demo/midi_template.c | 25 +++++++++++++ demo/msc_ram_template.c | 24 +++++++++++- demo/mtp_template.c | 23 +++++++++++- demo/printer_template.c | 27 ++++++++++++-- demo/video_static_mjpeg_template.c | 24 +++++++++++- demo/winusb1.0_template.c | 27 ++++++++++++-- 23 files changed, 512 insertions(+), 74 deletions(-) diff --git a/core/usbd_core.c b/core/usbd_core.c index 64a4ead5..5bb09d92 100644 --- a/core/usbd_core.c +++ b/core/usbd_core.c @@ -1301,7 +1301,6 @@ __WEAK void usbd_event_handler(uint8_t event) case USBD_EVENT_SUSPEND: break; case USBD_EVENT_CONFIGURED: - usbd_configure_done_callback(); break; case USBD_EVENT_SET_REMOTE_WAKEUP: break; diff --git a/core/usbd_core.h b/core/usbd_core.h index 561730e4..f54ee992 100644 --- a/core/usbd_core.h +++ b/core/usbd_core.h @@ -88,7 +88,6 @@ void usbd_add_interface(struct usbd_interface *intf); void usbd_add_endpoint(struct usbd_endpoint *ep); bool usb_device_is_configured(void); -void usbd_configure_done_callback(void); int usbd_initialize(void); int usbd_deinitialize(void); diff --git a/demo/audio_v1_mic_multichan_template.c b/demo/audio_v1_mic_multichan_template.c index 7ab10ca6..b612121d 100644 --- a/demo/audio_v1_mic_multichan_template.c +++ b/demo/audio_v1_mic_multichan_template.c @@ -145,19 +145,40 @@ const uint8_t audio_v1_descriptor[] = { 0x00 }; -void usbd_configure_done_callback(void) -{ - /* no out ep, do nothing */ -} - volatile bool tx_flag = 0; volatile bool ep_tx_busy_flag = false; +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} + void usbd_audio_open(uint8_t intf) { tx_flag = 1; USB_LOG_RAW("OPEN\r\n"); } + void usbd_audio_close(uint8_t intf) { USB_LOG_RAW("CLOSE\r\n"); diff --git a/demo/audio_v1_mic_speaker_multichan_template.c b/demo/audio_v1_mic_speaker_multichan_template.c index eb28fba7..9b802028 100644 --- a/demo/audio_v1_mic_speaker_multichan_template.c +++ b/demo/audio_v1_mic_speaker_multichan_template.c @@ -145,6 +145,32 @@ USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[AUDIO_IN_PACKET]; volatile bool tx_flag = 0; volatile bool rx_flag = 0; +volatile bool ep_tx_busy_flag = false; + +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} void usbd_audio_open(uint8_t intf) { @@ -158,6 +184,7 @@ void usbd_audio_open(uint8_t intf) printf("OPEN2\r\n"); } } + void usbd_audio_close(uint8_t intf) { if (intf == 1) { @@ -169,12 +196,6 @@ void usbd_audio_close(uint8_t intf) } } -volatile bool ep_tx_busy_flag = false; - -void usbd_configure_done_callback(void) -{ -} - void usbd_audio_out_callback(uint8_t ep, uint32_t nbytes) { USB_LOG_RAW("actual out len:%d\r\n", nbytes); diff --git a/demo/audio_v2_mic_multichan_template.c b/demo/audio_v2_mic_multichan_template.c index d6533a21..8c83c9eb 100644 --- a/demo/audio_v2_mic_multichan_template.c +++ b/demo/audio_v2_mic_multichan_template.c @@ -159,11 +159,37 @@ static const uint8_t mic_default_sampling_freq_table[] = { volatile bool tx_flag = 0; +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} + void usbd_audio_open(uint8_t intf) { tx_flag = 1; USB_LOG_RAW("OPEN\r\n"); } + void usbd_audio_close(uint8_t intf) { USB_LOG_RAW("CLOSE\r\n"); @@ -177,11 +203,6 @@ void usbd_audio_get_sampling_freq_table(uint8_t ep, uint8_t **sampling_freq_tabl } } -void usbd_configure_done_callback(void) -{ - /* no out ep, do nothing */ -} - void usbd_audio_iso_in_callback(uint8_t ep, uint32_t nbytes) { } diff --git a/demo/audio_v2_mic_speaker_multichan_template.c b/demo/audio_v2_mic_speaker_multichan_template.c index 2701d1e8..3d0eead7 100644 --- a/demo/audio_v2_mic_speaker_multichan_template.c +++ b/demo/audio_v2_mic_speaker_multichan_template.c @@ -229,6 +229,31 @@ USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[AUDIO_IN_PACKET]; volatile bool tx_flag = 0; volatile bool rx_flag = 0; +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} + void usbd_audio_open(uint8_t intf) { if (intf == 1) { @@ -241,6 +266,7 @@ void usbd_audio_open(uint8_t intf) USB_LOG_RAW("OPEN2\r\n"); } } + void usbd_audio_close(uint8_t intf) { if (intf == 1) { @@ -276,10 +302,6 @@ void usbd_audio_set_sampling_freq(uint8_t ep, uint32_t sampling_freq) } } -void usbd_configure_done_callback(void) -{ -} - void usbd_audio_iso_out_callback(uint8_t ep, uint32_t nbytes) { USB_LOG_RAW("actual out len:%d\r\n", nbytes); diff --git a/demo/audio_v2_speaker_multichan_template.c b/demo/audio_v2_speaker_multichan_template.c index 54ae38ff..84301502 100644 --- a/demo/audio_v2_speaker_multichan_template.c +++ b/demo/audio_v2_speaker_multichan_template.c @@ -173,6 +173,31 @@ USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t read_buffer[AUDIO_OUT_PACKET]; volatile bool rx_flag = 0; +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} + void usbd_audio_open(uint8_t intf) { rx_flag = 1; @@ -180,6 +205,7 @@ void usbd_audio_open(uint8_t intf) usbd_ep_start_read(AUDIO_OUT_EP, read_buffer, AUDIO_OUT_PACKET); USB_LOG_RAW("OPEN\r\n"); } + void usbd_audio_close(uint8_t intf) { USB_LOG_RAW("CLOSE\r\n"); @@ -193,10 +219,6 @@ void usbd_audio_get_sampling_freq_table(uint8_t ep, uint8_t **sampling_freq_tabl } } -void usbd_configure_done_callback(void) -{ -} - void usbd_audio_iso_out_callback(uint8_t ep, uint32_t nbytes) { USB_LOG_RAW("actual out len:%d\r\n", nbytes); diff --git a/demo/cdc_acm_hid_msc_template.c b/demo/cdc_acm_hid_msc_template.c index 02243991..8b0f2ebb 100644 --- a/demo/cdc_acm_hid_msc_template.c +++ b/demo/cdc_acm_hid_msc_template.c @@ -238,10 +238,31 @@ volatile bool ep_tx_busy_flag = false; #define CDC_MAX_MPS 64 #endif -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_cdc_acm_bulk_out(uint8_t ep, uint32_t nbytes) diff --git a/demo/cdc_acm_msc_template.c b/demo/cdc_acm_msc_template.c index e66e5dff..67fe85cf 100644 --- a/demo/cdc_acm_msc_template.c +++ b/demo/cdc_acm_msc_template.c @@ -121,10 +121,31 @@ volatile bool ep_tx_busy_flag = false; #define CDC_MAX_MPS 64 #endif -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_cdc_acm_bulk_out(uint8_t ep, uint32_t nbytes) diff --git a/demo/cdc_acm_multi_template.c b/demo/cdc_acm_multi_template.c index 5ab43353..3b9f083f 100644 --- a/demo/cdc_acm_multi_template.c +++ b/demo/cdc_acm_multi_template.c @@ -125,13 +125,34 @@ volatile bool ep_tx_busy_flag = false; #define CDC_MAX_MPS 64 #endif -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); - usbd_ep_start_read(CDC_OUT_EP2, read_buffer, 2048); - usbd_ep_start_read(CDC_OUT_EP3, read_buffer, 2048); - usbd_ep_start_read(CDC_OUT_EP4, read_buffer, 2048); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + usbd_ep_start_read(CDC_OUT_EP2, read_buffer, 2048); + usbd_ep_start_read(CDC_OUT_EP3, read_buffer, 2048); + usbd_ep_start_read(CDC_OUT_EP4, read_buffer, 2048); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_cdc_acm_bulk_out(uint8_t ep, uint32_t nbytes) diff --git a/demo/cdc_acm_template.c b/demo/cdc_acm_template.c index 3cd1fea0..494330d0 100644 --- a/demo/cdc_acm_template.c +++ b/demo/cdc_acm_template.c @@ -110,10 +110,31 @@ volatile bool ep_tx_busy_flag = false; #define CDC_MAX_MPS 64 #endif -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(CDC_OUT_EP, read_buffer, 2048); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_cdc_acm_bulk_out(uint8_t ep, uint32_t nbytes) diff --git a/demo/cdc_rndis_template.c b/demo/cdc_rndis_template.c index 49ec1106..3e10545d 100644 --- a/demo/cdc_rndis_template.c +++ b/demo/cdc_rndis_template.c @@ -110,11 +110,6 @@ const uint8_t mac[6] = { 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }; struct eth_device rndis_dev; -void usbd_configure_done_callback(void) -{ - eth_device_linkchange(&rndis_dev, RT_TRUE); -} - static rt_err_t rt_usbd_rndis_control(rt_device_t dev, int cmd, void *args) { switch (cmd) { @@ -161,10 +156,6 @@ void rt_usbd_rndis_init(void) eth_device_linkchange(&rndis_dev, RT_FALSE); } #else -void usbd_configure_done_callback(void) -{ -} - #include "lwip/err.h" #include "lwip/netif.h" #include "netif/ethernet.h" @@ -260,6 +251,34 @@ void rndis_input_poll(void) } #endif /* RT_USING_LWIP */ +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: +#ifdef RT_USING_LWIP + eth_device_linkchange(&rndis_dev, RT_TRUE); +#endif + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} + struct usbd_interface intf0; struct usbd_interface intf1; diff --git a/demo/cmsis-dap_v2.1_tempate.c b/demo/cmsis-dap_v2.1_tempate.c index c82a005e..4ef78ea2 100644 --- a/demo/cmsis-dap_v2.1_tempate.c +++ b/demo/cmsis-dap_v2.1_tempate.c @@ -192,11 +192,32 @@ USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t USB_Response[DAP_PACKET_SIZE]; volatile bool ep_tx_busy_flag = false; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(CDC_OUT_EP, cdc_read_buffer, CDC_MAX_MPS); - usbd_ep_start_read(DAP_OUT_EP, USB_Request, DAP_PACKET_SIZE); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(CDC_OUT_EP, cdc_read_buffer, CDC_MAX_MPS); + usbd_ep_start_read(DAP_OUT_EP, USB_Request, DAP_PACKET_SIZE); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_cdc_acm_bulk_out(uint8_t ep, uint32_t nbytes) diff --git a/demo/dfu_with_st_tool_template.c b/demo/dfu_with_st_tool_template.c index 7d168242..fbf70b4c 100644 --- a/demo/dfu_with_st_tool_template.c +++ b/demo/dfu_with_st_tool_template.c @@ -137,9 +137,29 @@ const uint8_t dfu_flash_descriptor[] = { 0x00 }; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* no out ep, do nothing */ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } struct usbd_interface intf0; diff --git a/demo/hid_custom_inout_template.c b/demo/hid_custom_inout_template.c index 76e7acde..cd6f9713 100644 --- a/demo/hid_custom_inout_template.c +++ b/demo/hid_custom_inout_template.c @@ -167,10 +167,31 @@ USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[64]; /*!< hid state ! Data can be sent only when state is idle */ static volatile uint8_t custom_state = HID_STATE_IDLE; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(HIDRAW_OUT_EP, read_buffer, 64); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(HIDRAW_OUT_EP, read_buffer, 64); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } static void usbd_hid_custom_in_callback(uint8_t ep, uint32_t nbytes) diff --git a/demo/hid_keyboard_template.c b/demo/hid_keyboard_template.c index 14959408..cb9d593c 100644 --- a/demo/hid_keyboard_template.c +++ b/demo/hid_keyboard_template.c @@ -172,9 +172,29 @@ static const uint8_t hid_keyboard_report_desc[HID_KEYBOARD_REPORT_DESC_SIZE] = { 0xc0 // END_COLLECTION }; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* no out ep, do nothing */ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } #define HID_STATE_IDLE 0 diff --git a/demo/hid_mouse_template.c b/demo/hid_mouse_template.c index 96ad51c5..81aff89d 100644 --- a/demo/hid_mouse_template.c +++ b/demo/hid_mouse_template.c @@ -194,9 +194,29 @@ static USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX struct hid_mouse mouse_cfg; /*!< hid state ! Data can be sent only when state is idle */ static volatile uint8_t hid_state = HID_STATE_IDLE; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* no out ep, do nothing */ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } /* function ------------------------------------------------------------------*/ diff --git a/demo/midi_template.c b/demo/midi_template.c index a9596a11..f8fb82f7 100644 --- a/demo/midi_template.c +++ b/demo/midi_template.c @@ -146,6 +146,31 @@ const uint8_t midi_descriptor[] = { 0x00 }; +void usbd_event_handler(uint8_t event) +{ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } +} + void usbd_midi_bulk_out(uint8_t ep, uint32_t nbytes) { } diff --git a/demo/msc_ram_template.c b/demo/msc_ram_template.c index d755a817..84cd7bea 100644 --- a/demo/msc_ram_template.c +++ b/demo/msc_ram_template.c @@ -95,9 +95,29 @@ const uint8_t msc_ram_descriptor[] = { 0x00 }; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* do nothing */ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } #define BLOCK_SIZE 512 diff --git a/demo/mtp_template.c b/demo/mtp_template.c index 33e4f506..873532db 100644 --- a/demo/mtp_template.c +++ b/demo/mtp_template.c @@ -151,8 +151,29 @@ const uint8_t bos_descriptor[] = { 0x0a, 0x10, 0x03, 0x00, 0x0f, 0x00, 0x01, 0x01, 0xf4, 0x01 }; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } struct usbd_interface intf0; diff --git a/demo/printer_template.c b/demo/printer_template.c index 0b666c4d..9d50360c 100644 --- a/demo/printer_template.c +++ b/demo/printer_template.c @@ -101,10 +101,31 @@ static const uint8_t printer_descriptor[] = { USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t read_buffer[PRINTER_OUT_EP_SIZE]; USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[PRINTER_IN_EP_SIZE]; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(PRINTER_OUT_EP, read_buffer, PRINTER_OUT_EP_SIZE); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(PRINTER_OUT_EP, read_buffer, PRINTER_OUT_EP_SIZE); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_printer_bulk_out(uint8_t ep, uint32_t nbytes) diff --git a/demo/video_static_mjpeg_template.c b/demo/video_static_mjpeg_template.c index a9c4b020..4079f123 100644 --- a/demo/video_static_mjpeg_template.c +++ b/demo/video_static_mjpeg_template.c @@ -141,9 +141,29 @@ const uint8_t video_descriptor[] = { 0x00 }; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* no out ep, so do nothing */ + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } volatile bool tx_flag = 0; diff --git a/demo/winusb1.0_template.c b/demo/winusb1.0_template.c index 564b79b9..1a8dc11b 100644 --- a/demo/winusb1.0_template.c +++ b/demo/winusb1.0_template.c @@ -187,10 +187,31 @@ USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[2048]; volatile bool ep_tx_busy_flag = false; -void usbd_configure_done_callback(void) +void usbd_event_handler(uint8_t event) { - /* setup first out ep read transfer */ - usbd_ep_start_read(WINUSB_OUT_EP, read_buffer, 2048); + switch (event) { + case USBD_EVENT_RESET: + break; + case USBD_EVENT_CONNECTED: + break; + case USBD_EVENT_DISCONNECTED: + break; + case USBD_EVENT_RESUME: + break; + case USBD_EVENT_SUSPEND: + break; + case USBD_EVENT_CONFIGURED: + /* setup first out ep read transfer */ + usbd_ep_start_read(WINUSB_OUT_EP, read_buffer, 2048); + break; + case USBD_EVENT_SET_REMOTE_WAKEUP: + break; + case USBD_EVENT_CLR_REMOTE_WAKEUP: + break; + + default: + break; + } } void usbd_winusb_out(uint8_t ep, uint32_t nbytes)