Common API for USB Host Drivers (UHD). More...
#include "USBDescriptors.h"#include "USBRequests.h"#include "board.h"Go to the source code of this file.
Typedefs | |
| typedef void(* | uhd_callback_reset_t )(void) |
| End of reset callback function type. Registered by uhd_send_reset() Callback called when reset event is completed. | |
| typedef bool(* | uhd_callback_setup_run_t )(uint8_t add, uint8_t **payload, uint16_t *payload_size) |
| Data setup transfer callback function type. Registered by USBH_HAL_SetupReq() Called during DATA phase when the (payload) buffer is full or empty. Then the setup request is halted. A new buffer can be provided to continue the DATA phase or abort DATA phase. | |
| typedef void(* | uhd_callback_setup_end_t )(uint8_t add, USBH_XfrStatus_t status, uint16_t payload_trans) |
| End of setup callback function type. Registered by USBH_HAL_SetupReq() Called when the setup request is completed. | |
| typedef void(* | uhd_callback_trans_t )(uint8_t add, uint8_t ep, USBH_XfrStatus_t status, uint32_t nb_transfered) |
| End of transfer callback function type. Registered by USBH_HAL_RunEndpoint() Callback called by USB interrupt after data transfer or abort (reset,...). | |
Enumerations | |
| enum | USBH_Speed_t { UHD_SPEED_LOW = 0, UHD_SPEED_FULL = 1, UHD_SPEED_HIGH = 2 } |
Device speed. | |
| enum | USBH_XfrStatus_t { UHD_TRANS_NOERROR = 0, UHD_TRANS_DISCONNECT, UHD_TRANS_CRC, UHD_TRANS_DT_MISMATCH, UHD_TRANS_STALL, UHD_TRANS_NOTRESPONDING, UHD_TRANS_PIDFAILURE, UHD_TRANS_TIMEOUT, UHD_TRANS_ABORTED } |
Endpoint transfer status The status field is updated after each transaction attempt, whether successful or not. More... | |
Functions | |
| void | USBHS_SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t dsize) |
| void | USBHS_SCB_InvalidateDCache_by_Addr (uint32_t *addr, int32_t dsize) |
| void | USBH_HAL_EnableUsbHost (void) |
| Enables the USB host mode Start the ID pin management if the ID pin is available. | |
| void | USBH_HAL_DisableUsb (bool b_id_stop) |
| Disables the USB host mode. | |
| USBH_Speed_t | USBH_HAL_GetSpeed (void) |
| Returns the speed of connected device. | |
| uint16_t | USBH_HAL_GetFrameNum (void) |
| Returns the current Start Of Frame (SOF) number. | |
| uint16_t | USBH_HAL_GetMicroFrameNum (void) |
| Returns the current micro start of frame number. | |
| void | USBH_HAL_Reset (uhd_callback_reset_t callback) |
| Enables the Reset state on the USB line. | |
| void | USBH_HAL_Suspend (void) |
| Enables the suspend state on the USB line. The SUSPEND state is enable when SOF are disabled on USB line. | |
| bool | USBH_HAL_IsSuspended (void) |
| Test if the suspend state is enabled on the USB line. | |
| void | USBH_HAL_Resume (void) |
| Enables the IDLE state on the USB line. The IDLE state is enable when SOF are present on USB line. A Downstream Resume signal can be sent. | |
| bool | USBH_HAL_SetupReq (uint8_t add, USBGenericRequest *req, uint8_t *payload, uint16_t payload_size, uhd_callback_setup_run_t callback_run, uhd_callback_setup_end_t callback_end) |
| Add a setup request in the control endpoint setup queue. Note: Request timeout is 5s. | |
Endpoint Management | |
| bool | USBH_HAL_ConfigureControlPipe (uint8_t add, uint16_t ep_size) |
| Configures and enables a control endpoint 0. | |
| bool | USBH_HAL_ConfigurePipe (uint8_t add, USBEndpointDescriptor *ep_desc) |
| Configures and enables an endpoint. | |
| void | USBH_HAL_FreePipe (uint8_t add, uint8_t endp) |
| Disables an endpoint or all endpoint of a device. | |
| bool | USBH_HAL_RunEndpoint (uint8_t add, uint8_t endp, bool b_shortpacket, uint8_t *buf, uint32_t buf_size, uint16_t timeout, uhd_callback_trans_t callback) |
| Allows to receive or send data on an endpoint. | |
| void | USBH_HAL_AbortEndPoint (uint8_t add, uint8_t endp) |
| Aborts an on-going transfer on an endpoint. | |
UHC callbacks to provide for UHD | |
| void | USBH_start (void) |
| Starts the host mode. | |
| void | USBH_stop (bool b_id_stop) |
| Stops the host mode. | |
| void | USBH_notify_connection (bool b_plug) |
| Notify device connection or disconnection. | |
| void | USBH_notify_sof (bool b_micro) |
| Notify each start of frame sent by driver. | |
| void | USBH_notify_resume (void) |
| Notify that a resume bus occurs A resume can occur after a downstream or an upstream resume. | |
Common API for USB Host Drivers (UHD).
Definition in file USBHDriver.h.
1.7.1