USB host driver Compliance with common driver UHD. More...
#include "conf_usb_host.h"
#include "board.h"
#include "USBHDriver.h"
#include "USBH.h"
#include <string.h>
#include <stdlib.h>
#include "sleepmgr.h"
Go to the source code of this file.
Data Structures | |
struct | uhd_ctrl_request_t |
Structure to store the high level setup request. More... | |
struct | USBH_PipeJob_t |
Structure definition to store registered jobs on a pipe. More... | |
Defines | |
#define | UHD_USB_INT_LEVEL 5 |
#define | USB_HOST_MAX_EP 9 |
#define | UHD_PIPE_USED(pipe) (USB_HOST_MAX_EP >= pipe) |
#define | UHD_PIPE_FIFO_SUPPORTED |
#define | UHC_MODE_CHANGE(arg) |
#define | UHC_SOF_EVENT() |
#define | UHC_VBUS_CHANGE(b_present) |
#define | UHC_VBUS_ERROR() |
#define | UHD_ISOCHRONOUS_NB_BANK 2 |
#define | UHD_BULK_NB_BANK 2 |
#define | UHD_INTERRUPT_NB_BANK 1 |
Functions | |
void | USBHS_Handler (void) |
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. | |
Power management | |
| |
enum | uhd_uotghs_state_enum { UHD_STATE_OFF = 0, UHD_STATE_WAIT_ID_HOST = 1, UHD_STATE_NO_VBUS = 2, UHD_STATE_DISCONNECT = 3, UHD_STATE_SUSPEND = 4, UHD_STATE_IDLE = 5 } |
States of USBHS interface. | |
Control endpoint low level management routine. | |
This function performs control endpoint management. It handles the SETUP/DATA/HANDSHAKE phases of a control transaction. | |
enum | uhd_ctrl_request_phase_t { UHD_CTRL_REQ_PHASE_SETUP = 0, UHD_CTRL_REQ_PHASE_DATA_OUT = 1, UHD_CTRL_REQ_PHASE_DATA_IN = 2, UHD_CTRL_REQ_PHASE_ZLP_IN = 3, UHD_CTRL_REQ_PHASE_ZLP_OUT = 4 } |
Bit definitions to store setup request state machine. More... | |
struct uhd_ctrl_request_t * | uhd_ctrl_request_first |
Entry points of setup request list. | |
struct uhd_ctrl_request_t * | uhd_ctrl_request_last |
volatile uint16_t | uhd_ctrl_request_timeout |
Remaining time for on-going setup request (No request on-going if equal 0). | |
uint16_t | uhd_ctrl_nb_trans |
Number of transfered byte on DATA phase of current setup request. | |
uhd_ctrl_request_phase_t | uhd_ctrl_request_phase |
USB host driver Compliance with common driver UHD.
Copyright (C) 2012-2015 Atmel Corporation. All rights reserved.
Definition in file USBH_HAL.c.