USB interrupt routine.
This function is called each time a USB interrupt occurs. The following USB DEVICE events are taken in charge:
- VBus On / Off
- Start-of-Frame
- Suspend
- Wake-Up
- Resume
- Reset
The following USB HOST events are taken in charge:
- Device connection
- Device Disconnection
- Start-of-Frame
- ID pin change
- SOF (or Keep alive in low-speed) sent
- Wake-up on USB line detected
- Pipe events
For each event, the user can launch an action by completing the associated #define (see the conf_usb.h file to add actions on events).
Note: Only interrupt events that are enabled are processed.
Warning: If device and host tasks are not tasks in an RTOS, rough events like ID transition, VBus transition, device disconnection, etc. that need to kill then restart these tasks may lead to an undefined state if they occur just before something is activated in the USB macro (e.g. pipe/endpoint transfer...).
- Returns
- Nothing in the standalone configuration; a boolean indicating whether a task switch is required in the FreeRTOS configuration
Referenced by at25dfx_spi_deselect_device(), at25dfx_spi_select_device(), main(), main_keyboard_led(), main_usb_connection_event(), main_vendor_bulk_in_received(), main_vendor_bulk_out_received(), main_vendor_int_in_received(), main_vendor_int_out_received(), main_vendor_iso_in_received(), main_vendor_iso_out_received(), mci_deselect_device(), mem_name(), mem_removal(), mem_unload(), memory_2_ram(), mxt_init(), ram_2_memory(), run_osc_test(), run_pll_dfll_test(), run_sync_clock_test(), run_usb_cdc_test(), run_usb_mouse_test(), sd_mmc_is_write_protected(), sd_mmc_removal(), sd_mmc_spi_get_bus_width(), sd_mmc_spi_get_response_128(), sleepmgr_lock_mode(), sleepmgr_unlock_mode(), stream_state(), stream_stop(), udi_cdc_data_sent(), udi_cdc_line_coding_received(), udi_cdc_serial_state_msg_sent(), udi_hid_generic_report_in_sent(), udi_hid_generic_report_out_received(), udi_hid_kbd_report_sent(), udi_hid_mouse_report_sent(), udi_hid_multi_touch_report_in_sent(), udi_msc_cbw_received(), udi_msc_csw_sent(), udi_msc_data_sent(), udi_msc_trans_ack(), uhc_dev_get_string(), uhc_enumeration_step10(), uhc_enumeration_step12(), uhc_enumeration_step13(), uhc_enumeration_step14(), uhc_enumeration_step15(), uhc_enumeration_step6(), uhc_setup_request_callback(), uhi_cdc_rx_received(), uhi_cdc_sof(), uhi_cdc_tx_send(), uhi_hid_mouse_report_reception(), uhi_msc_cbw_rst_stall(), uhi_msc_cbw_sent(), uhi_msc_csw_received(), uhi_msc_data_csw_rst_stall(), uhi_msc_data_transfered(), uhi_msc_enable_step2(), uhi_msc_enable_step5(), usart_spi_deselect_device(), usart_spi_select_device(), and usart_spi_setup_device().