Jump to main content

##

# 2.2.5.1 usb_device.h

## File Name

usb_device.h

## Description

USB Device Layer Interface Definition

This header file contains the function prototypes and definitions of the data types and constants that make up the interface to the USB device layer. This application should include this file if it needs to use the USB Device Layer API.

## Enumerations

Name | Description
USB_DEVICE_CLIENT_STATUS | Enumerated data type that identifies the USB Device Layer Client Status.
USB_DEVICE_CONTROL_STATUS | USB Device Layer Control Transfer Status Stage flags.
USB_DEVICE_CONTROL_TRANSFER_RESULT | Enumerated data type identifying results of a control transfer.
USB_DEVICE_EVENT | USB Device Layer Events.
USB_DEVICE_POWER_STATE | Enumerated data type that identifies if the device is self powered or bus powered.
USB_DEVICE_REMOTE_WAKEUP_STATUS | Enumerated data type that identifies if the remote wakeup status of the device.
USB_DEVICE_RESULT | USB Device Layer Results Enumeration.
USB_DEVICE_TRANSFER_FLAGS | Enumerated data type that identifies the USB Device Layer Transfer Flags.

## Functions

Name | Description
USB_DEVICE_ActiveConfigurationGet | Informs the client of the current USB device configuration set by the USB host.
USB_DEVICE_ActiveSpeedGet | Informs the client of the current operation speed of the USB bus.
USB_DEVICE_Attach | This function will attach the device to the USB.
USB_DEVICE_ClientStatusGet | Returns the client specific status.
USB_DEVICE_Close | Closes an opened handle to an instance of the USB device layer.
USB_DEVICE_ControlReceive | Receives data stage of the control transfer from host to device.
USB_DEVICE_ControlSend | Sends data stage of the control transfer from device to host.
USB_DEVICE_ControlStatus | Initiates status stage of the control transfer.
USB_DEVICE_Deinitialize | De-initializes the specified instance of the USB device layer.
USB_DEVICE_Detach | This function will detach the device from the USB.
USB_DEVICE_EndpointDisable | Disables a device endpoint.
USB_DEVICE_EndpointEnable | Enables a device endpoint.
USB_DEVICE_EndpointIsEnabled | Returns true if the endpoint is enabled.
USB_DEVICE_EndpointIsStalled | This function returns the stall status of the specified endpoint and direction.
USB_DEVICE_EndpointRead | Reads data received from host on the requested endpoint.
USB_DEVICE_EndpointStall | This function stalls an endpoint in the specified direction.
USB_DEVICE_EndpointStallClear | This function clears the stall on an endpoint in the specified direction.
USB_DEVICE_EndpointTransferCancel | This function cancels a transfer scheduled on an endpoint.
USB_DEVICE_EndpointWrite | This function requests a data write to a USB Device Endpoint.
USB_DEVICE_EventHandlerSet | USB Device Layer Event Handler Callback Function set function.
USB_DEVICE_Initialize | Creates and initializes an instance of the USB device layer.
USB_DEVICE_IsSuspended | Returns true if the device is in a suspended state.
USB_DEVICE_Open | Opens the specified USB device layer instance and returns a handle to it.
USB_DEVICE_PowerStateSet | Sets power state of the device.
USB_DEVICE_RemoteWakeupStart | This function will start the resume signaling.
USB_DEVICE_RemoteWakeupStartTimed | This function will start a self timed Remote Wake-up.
USB_DEVICE_RemoteWakeupStatusGet | Gets the "Remote wake-up" status of the device.
USB_DEVICE_RemoteWakeupStop | This function will stop the resume signaling.
USB_DEVICE_StateGet | Returns the current state of the USB device.
USB_DEVICE_Status | Provides the current status of the USB device layer.
USB_DEVICE_Tasks | USB Device layer calls all other function driver tasks in this function. It also generates and forwards events to its clients.

## Macros

Name | Description
USB_DEVICE_EVENT_RESPONSE_NONE | Device Layer Event Handler Function Response Type.
USB_DEVICE_HANDLE_INVALID | Constant that defines the value of an Invalid Device Handle.
USB_DEVICE_INDEX_0 | USB device layer index definitions.
USB_DEVICE_INDEX_1 | This is macro USB_DEVICE_INDEX_1.
USB_DEVICE_INDEX_2 | This is macro USB_DEVICE_INDEX_2.
USB_DEVICE_INDEX_3 | This is macro USB_DEVICE_INDEX_3.
USB_DEVICE_INDEX_4 | This is macro USB_DEVICE_INDEX_4.
USB_DEVICE_INDEX_5 | This is macro USB_DEVICE_INDEX_5.
USB_DEVICE_TRANSFER_HANDLE_INVALID | Constant that defines the value of an Invalid Device Endpoint Data Transfer Handle.

## Structures

Name | Description
USB_DEVICE_EVENT_DATA_CONFIGURED | USB Device Set Configuration Event Data type.
USB_DEVICE_EVENT_DATA_ENDPOINT_READ_COMPLETE | USB Device Layer Endpoint Read and Write Complete Event Data type.
USB_DEVICE_EVENT_DATA_ENDPOINT_WRITE_COMPLETE | USB Device Layer Endpoint Read and Write Complete Event Data type.
USB_DEVICE_EVENT_DATA_SOF | USB Device Start Of Frame Event Data type.
USB_DEVICE_EVENT_DATA_SYNCH_FRAME | USB Device Synch Frame Event Data type.
USB_DEVICE_FUNCTION_REGISTRATION_TABLE | USB Device Function Registration Structure.
USB_DEVICE_INIT | USB Device Initialization Structure.
USB_DEVICE_MASTER_DESCRIPTOR | USB Device Master Descriptor Structure.

## Types

Name | Description
USB_DEVICE_CONFIGURATION_DESCRIPTORS_TABLE | Pointer to an array that contains pointer to configuration descriptors.
USB_DEVICE_EVENT_HANDLER | USB Device Layer Event Handler Function Pointer type.
USB_DEVICE_EVENT_RESPONSE | Device Layer Event Handler function return type.
USB_DEVICE_HANDLE | Data type for USB device handle.
USB_DEVICE_STRING_DESCRIPTORS_TABLE | Pointer to an array that contains pointer to string descriptors.
USB_DEVICE_TRANSFER_HANDLE | Data type for USB Device Endpoint Data Transfer Handle.