Modules | |
USB software Events Management | |
Macros to manage USB events detected under interrupt. | |
Standard requests defines | |
Macros | |
#define | USB_HIGH_SPEED_SUPPORT false |
#define | USB_MODE_DEVICE 0x01 |
#define | USB_MODE_HOST 0x02 |
#define | USB_MODE_UNDEFINED 0x00 |
Functions | |
U32 | host_get_timeout (void) |
void | usb_task (void) |
Entry point of the USB mamnagement. More... | |
void | usb_task_init (void) |
This function initializes the USB process. More... | |
Variables | |
volatile U16 | g_usb_event |
Public: U16 g_usb_event usb_connected is used to store USB events detected upon USB general interrupt subroutine Its value is managed by the following macros (See usb_task.h file) Usb_send_event(x) Usb_ack_event(x) Is_usb_event(x) Usb_clear_all_event() More... | |
volatile U8 | g_usb_mode |
Public: U8 g_usb_mode Used in dual-role application (both device/host) to store the current mode the USB controller is operating. More... | |
volatile U32 | private_sof_counter |
Private: U8 private_sof_counter Incremented by host SOF interrupt subroutine This counter is used to detect time-out in host requests. More... | |
#define USB_HIGH_SPEED_SUPPORT false |
#define USB_MODE_DEVICE 0x01 |
Referenced by ai_hid_class_get_device_status(), usb_general_interrupt(), and usb_task().
#define USB_MODE_HOST 0x02 |
Referenced by ai_usb_ms_get_device_status(), usb_general_interrupt(), and usb_task().
#define USB_MODE_UNDEFINED 0x00 |
Referenced by usb_task().
U32 host_get_timeout | ( | void | ) |
Referenced by host_transfer_control().
void usb_task | ( | void | ) |
Entry point of the USB mamnagement.
Depending on the mode supported (HOST/DEVICE/DUAL_ROLE) the function calls the corresponding USB management function
Entry point of the USB mamnagement.
Depending on the USB mode supported (HOST/DEVICE/DUAL_ROLE) the function calls the corresponding USB management function.
References Enable_global_interrupt, g_old_usb_mode, g_usb_mode, Is_usb_id_device, private_sof_counter, usb_device_task(), usb_device_task_init(), Usb_enable_id_interrupt, usb_host_task(), usb_host_task_init(), USB_MODE_DEVICE, USB_MODE_HOST, and USB_MODE_UNDEFINED.
Referenced by main(), and usb_task_init().
void usb_task_init | ( | void | ) |
This function initializes the USB process.
This function enables the USB controller and init the USB interrupts. The aim is to allow the USB connection detection in order to send the appropriate USB event to the operating mode manager. Depending on the mode supported (HOST/DEVICE/DUAL_ROLE) the function calls the corresponding USB mode initialization function
Depending on the mode supported (HOST/DEVICE/DUAL_ROLE) the function calls the corresponding USB mode initialization function
References configTSK_USB_NAME, configTSK_USB_PRIORITY, configTSK_USB_STACK_SIZE, NULL, usb_task(), vSemaphoreCreateBinary, and xTaskCreate.
Referenced by main().
volatile U16 g_usb_event |
Public: U16 g_usb_event usb_connected is used to store USB events detected upon USB general interrupt subroutine Its value is managed by the following macros (See usb_task.h file) Usb_send_event(x) Usb_ack_event(x) Is_usb_event(x) Usb_clear_all_event()
volatile U8 g_usb_mode |
Public: U8 g_usb_mode Used in dual-role application (both device/host) to store the current mode the USB controller is operating.
Referenced by ai_hid_class_get_device_status(), ai_usb_ms_get_device_status(), usb_general_interrupt(), and usb_task().
volatile U32 private_sof_counter |
Private: U8 private_sof_counter Incremented by host SOF interrupt subroutine This counter is used to detect time-out in host requests.
It must not be modified by the user applicative tasks.
Referenced by host_get_data(), host_get_data_interrupt(), host_get_timeout(), host_send_data(), host_send_data_interrupt(), host_transfer_control(), usb_general_interrupt(), usb_pipe_interrupt(), and usb_task().