Documentation enhancements to improve documentation cross-references.
This commit is contained in:
parent
6865a7bc09
commit
9cec85bfd9
22 changed files with 425 additions and 241 deletions
|
|
@ -36,7 +36,7 @@
|
|||
* multiple places in the user or library code, which may or may not be inside an ISR, thus each handler
|
||||
* should be written to be as small and fast as possible to prevent possible problems.
|
||||
*
|
||||
* Events can be hooked by the user application using the EVENT_HANDLER() and HANDLES_EVENT() macros. If an
|
||||
* Events can be hooked by the user application using the \ref EVENT_HANDLER() and \ref HANDLES_EVENT() macros. If an
|
||||
* event with no associated handler is fired within the library, it by default fires an internal empty stub
|
||||
* function. This is achieved through the use of the GCC compiler's "alias" attribute.
|
||||
*
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
|
||||
/** Indicates that a given module can raise a given event. This is the equivalent of putting the
|
||||
* event function's prototype into the module, but in a cleaner way. Each event which may be
|
||||
* fired via the RAISE_EVENT macro in the module should have an accompanying RAISES_EVENT
|
||||
* fired via the \ref RAISE_EVENT macro in the module should have an accompanying \ref RAISES_EVENT
|
||||
* prototype in the module's header file.
|
||||
*
|
||||
* Usage Examples:
|
||||
|
|
@ -122,7 +122,7 @@
|
|||
|
||||
/** Indicates that a given module handles an event. This is the equivalent of putting the
|
||||
* event function's prototype into the module, but in a cleaner way. Each event which may be
|
||||
* handled via the EVENT_HANDLER macro in the module should have an accompanying HANDLES_EVENT
|
||||
* handled via the \ref EVENT_HANDLER macro in the module should have an accompanying \ref HANDLES_EVENT
|
||||
* prototype in the module's header file.
|
||||
*
|
||||
* Usage Examples:
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired by RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
* and disconnection events may be manually fired by \ref RAISE_EVENT(), and the \ref USB_IsConnected global changed manually.
|
||||
*
|
||||
* \see USBTask.h for more information on the USB management task and reducing CPU usage.
|
||||
*/
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired by RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
* and disconnection events may be manually fired by \ref RAISE_EVENT(), and the \ref USB_IsConnected global changed manually.
|
||||
*
|
||||
* \see USBTask.h for more information on the USB management task and reducing CPU usage.
|
||||
*/
|
||||
|
|
@ -205,7 +205,7 @@
|
|||
/** Event for USB device power on failure. This event fires when the USB interface fails to
|
||||
* initialize correctly due to a hardware or software fault.
|
||||
*
|
||||
* \param ErrorCode Error code indicating the failure reason, a value in USB_PowerOnErrorCodes_t
|
||||
* \param ErrorCode Error code indicating the failure reason, a value in \ref USB_PowerOnErrorCodes_t
|
||||
* located in LowLevel.h.
|
||||
*/
|
||||
void USB_PowerOnFail(const uint8_t ErrorCode);
|
||||
|
|
@ -224,7 +224,7 @@
|
|||
/** Event for USB host error. This event fires when a hardware fault has occurred whilst the USB
|
||||
* interface is in host mode.
|
||||
*
|
||||
* \param ErrorCode Error code indicating the failure reason, a value in USB_Host_ErrorCodes_t
|
||||
* \param ErrorCode Error code indicating the failure reason, a value in \ref USB_Host_ErrorCodes_t
|
||||
* located in Host.h.
|
||||
*
|
||||
* \note This event only exists on USB AVR models which supports host mode.
|
||||
|
|
@ -236,7 +236,7 @@
|
|||
|
||||
/** Event for USB device attachment. This event fires when a the USB interface is in host mode, and
|
||||
* a USB device has been connected to the USB interface. This is interrupt driven, thus fires before
|
||||
* the standard USB_DeviceConnect event and so can be used to programmatically start the USB management
|
||||
* the standard \ref USB_Connect event and so can be used to programmatically start the USB management
|
||||
* task to reduce CPU consumption.
|
||||
*
|
||||
* \note This event only exists on USB AVR models which supports host mode.
|
||||
|
|
@ -291,19 +291,13 @@
|
|||
* issued to the device which must be handled appropriately. Due to the strict timing requirements
|
||||
* on control transfers, interrupts are disabled during control request processing.
|
||||
*
|
||||
* \param bRequest Request value, indicating what command the host has issued.
|
||||
* \param bmRequestType Mask indicating the request data direction (if any), type and recipient.
|
||||
*
|
||||
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
|
||||
* LowLevel.h documentation).
|
||||
*
|
||||
* \note Requests should be handled in the same manner as described in the USB 2.0 Specification,
|
||||
* or appropriate class' specification. In all instances, the library has already read the
|
||||
* request bmRequestType and bRequest values out (into the Request and RequestType parameters
|
||||
* respectively) so that it can correctly determine if it is able to handle the request
|
||||
* internally, or hand off the request to the user application via this event. Other request
|
||||
* parameters (wValue, wIndex, wLength, and Data) remain in the control endpoint bank until
|
||||
* read out by the user application for processing.
|
||||
* or appropriate class specification. In all instances, the library has already read the
|
||||
* request SETUP parameters into the \ref USB_ControlRequest structure which should then be used
|
||||
* by the application to determine how to handle the issued request.
|
||||
*/
|
||||
void USB_UnhandledControlPacket(void);
|
||||
|
||||
|
|
@ -311,7 +305,7 @@
|
|||
* selected configuration number while in device mode. This event should be hooked in device
|
||||
* applications to create the endpoints and configure the device for the selected configuration.
|
||||
*
|
||||
* This event fires after the value of USB_ConfigurationNumber has been changed.
|
||||
* This event fires after the value of \ref USB_ConfigurationNumber has been changed.
|
||||
*
|
||||
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
|
||||
* LowLevel.h documentation).
|
||||
|
|
@ -325,7 +319,7 @@
|
|||
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
|
||||
* LowLevel.h documentation).
|
||||
*
|
||||
* \see USB_WakeUp() event for accompanying Wake Up event.
|
||||
* \see \ref USB_WakeUp() event for accompanying Wake Up event.
|
||||
*/
|
||||
void USB_Suspend(void);
|
||||
|
||||
|
|
@ -337,7 +331,7 @@
|
|||
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
|
||||
* LowLevel.h documentation).
|
||||
*
|
||||
* \see USB_Suspend() event for accompanying Suspend event.
|
||||
* \see \ref USB_Suspend() event for accompanying Suspend event.
|
||||
*/
|
||||
void USB_WakeUp(void);
|
||||
|
||||
|
|
@ -356,7 +350,7 @@
|
|||
* and an error occurs which prevents it from operating normally.
|
||||
*
|
||||
* \param ErrorCode Error code indicating the source of the error. One of the values in the
|
||||
* USB_Device_ErrorCodes_t enum located in Device.h.
|
||||
* \ref USB_Device_ErrorCodes_t enum located in Device.h.
|
||||
*
|
||||
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
|
||||
* LowLevel.h documentation).
|
||||
|
|
|
|||
|
|
@ -90,85 +90,85 @@
|
|||
#define VERSION_BCD(x) ((((VERSION_TENS(x) << 4) | VERSION_ONES(x)) << 8) | \
|
||||
((VERSION_TENTHS(x) << 4) | VERSION_HUNDREDTHS(x)))
|
||||
|
||||
/** String language ID for the English language. Should be used in USB_Descriptor_Language_t descriptors
|
||||
/** String language ID for the English language. Should be used in \ref USB_Descriptor_String_t descriptors
|
||||
* to indicate that the English language is supported by the device in its string descriptors.
|
||||
*/
|
||||
#define LANGUAGE_ID_ENG 0x0409
|
||||
|
||||
/** Can be masked with an endpoint address for a USB_Descriptor_Endpoint_t endpoint descriptor's
|
||||
/** Can be masked with an endpoint address for a \ref USB_Descriptor_Endpoint_t endpoint descriptor's
|
||||
* EndpointAddress value to indicate to the host that the endpoint is of the IN direction (i.e, from
|
||||
* device to host).
|
||||
*/
|
||||
#define ENDPOINT_DESCRIPTOR_DIR_IN 0x80
|
||||
|
||||
/** Can be masked with an endpoint address for a USB_Descriptor_Endpoint_t endpoint descriptor's
|
||||
/** Can be masked with an endpoint address for a \ref USB_Descriptor_Endpoint_t endpoint descriptor's
|
||||
* EndpointAddress value to indicate to the host that the endpoint is of the OUT direction (i.e, from
|
||||
* host to device).
|
||||
*/
|
||||
#define ENDPOINT_DESCRIPTOR_DIR_OUT 0x00
|
||||
|
||||
/** Can be masked with other configuration descriptor attributes for a USB_Descriptor_Configuration_Header_t
|
||||
/** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
|
||||
* descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
|
||||
* from the host's VBUS line.
|
||||
*/
|
||||
#define USB_CONFIG_ATTR_BUSPOWERED 0x80
|
||||
|
||||
/** Can be masked with other configuration descriptor attributes for a USB_Descriptor_Configuration_Header_t
|
||||
/** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
|
||||
* descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
|
||||
* from the device's own power source.
|
||||
*/
|
||||
#define USB_CONFIG_ATTR_SELFPOWERED 0xC0
|
||||
|
||||
/** Can be masked with other configuration descriptor attributes for a USB_Descriptor_Configuration_Header_t
|
||||
/** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
|
||||
* descriptor's ConfigAttributes value to indicate that the specified configuration supports the
|
||||
* remote wakeup feature of the USB standard, allowing a suspended USB device to wake up the host upon
|
||||
* request.
|
||||
*/
|
||||
#define USB_CONFIG_ATTR_REMOTEWAKEUP 0xA0
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is not synchronized.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint attributes.
|
||||
*/
|
||||
#define ENDPOINT_ATTR_NO_SYNC (0 << 2)
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is asynchronous.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint attributes.
|
||||
*/
|
||||
#define ENDPOINT_ATTR_ASYNC (1 << 2)
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is adaptive.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint attributes.
|
||||
*/
|
||||
#define ENDPOINT_ATTR_ADAPTIVE (2 << 2)
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is synchronized.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint attributes.
|
||||
*/
|
||||
#define ENDPOINT_ATTR_SYNC (3 << 2)
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is used for data transfers.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint usage attributes.
|
||||
*/
|
||||
#define ENDPOINT_USAGE_DATA (0 << 4)
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is used for feedback.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint usage attributes.
|
||||
*/
|
||||
#define ENDPOINT_USAGE_FEEDBACK (1 << 4)
|
||||
|
||||
/** Can be masked with other endpoint descriptor attributes for a USB_Descriptor_Endpoint_t descriptor's
|
||||
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
|
||||
* Attributes value to indicate that the specified endpoint is used for implicit feedback.
|
||||
*
|
||||
* \see The USB specification for more details on the possible Endpoint usage attributes.
|
||||
|
|
@ -180,7 +180,7 @@
|
|||
|
||||
/* Events: */
|
||||
#if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
|
||||
/** This module raises the Device Error event while in device mode, if the USB_GetDescriptor()
|
||||
/** This module raises the Device Error event while in device mode, if the \ref USB_GetDescriptor()
|
||||
* routine is not hooked in the user application to properly return descriptors to the library.
|
||||
*
|
||||
* \see Events.h for more information on this event.
|
||||
|
|
@ -215,7 +215,7 @@
|
|||
{
|
||||
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__)
|
||||
uint8_t Size; /**< Size of the descriptor, in bytes. */
|
||||
uint8_t Type; /**< Type of the descriptor, either a value in DescriptorTypes_t or a value
|
||||
uint8_t Type; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
|
||||
* given by the specific class.
|
||||
*/
|
||||
#else
|
||||
|
|
@ -251,7 +251,7 @@
|
|||
* host will request this string via a separate
|
||||
* control request for the string descriptor.
|
||||
*
|
||||
* \note If no string supplied, use NO_DESCRIPTOR.
|
||||
* \note If no string supplied, use \ref NO_DESCRIPTOR.
|
||||
*/
|
||||
uint8_t ProductStrIndex; /**< String index for the product name/details.
|
||||
*
|
||||
|
|
@ -309,7 +309,7 @@
|
|||
*/
|
||||
|
||||
uint8_t MaxPowerConsumption; /**< Maximum power consumption of the device while in the
|
||||
* current configuration, calculated by the USB_CONFIG_POWER_MA()
|
||||
* current configuration, calculated by the \ref USB_CONFIG_POWER_MA()
|
||||
* macro.
|
||||
*/
|
||||
#else
|
||||
|
|
@ -364,7 +364,7 @@
|
|||
#endif
|
||||
} USB_Descriptor_Interface_t;
|
||||
|
||||
/** Type define for a standard interface association descriptor.
|
||||
/** Type define for a standard Interface Association descriptor.
|
||||
*
|
||||
* This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at
|
||||
* <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows compound
|
||||
|
|
@ -442,7 +442,7 @@
|
|||
} USB_Descriptor_Endpoint_t;
|
||||
|
||||
/** Type define for a standard string descriptor. Unlike other standard descriptors, the length
|
||||
* of the descriptor for placement in the descriptor header must be determined by the USB_STRING_LEN()
|
||||
* of the descriptor for placement in the descriptor header must be determined by the \ref USB_STRING_LEN()
|
||||
* macro rather than by the size of the descriptor structure, as the length is not fixed.
|
||||
*
|
||||
* This structure should also be used for string index 0, which contains the supported language IDs for
|
||||
|
|
@ -479,7 +479,7 @@
|
|||
/* Function Prototypes: */
|
||||
/** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
|
||||
* index and language ID. This function MUST be overridden in the user application (added with full, identical
|
||||
* prototype and name except for the ATTR_WEAK attribute) so that the library can call it to retrieve descriptor
|
||||
* prototype and name except for the \ref ATTR_WEAK attribute) so that the library can call it to retrieve descriptor
|
||||
* data.
|
||||
*
|
||||
* \param wValue The type of the descriptor to retrieve in the upper byte, and the index in the
|
||||
|
|
@ -490,7 +490,7 @@
|
|||
* otherwise zero for standard descriptors, or as defined in a class-specific
|
||||
* standards.
|
||||
* \param DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
|
||||
* the location of the descriptor, found by the DESCRIPTOR_ADDRESS macro.
|
||||
* the location of the descriptor, found by the \ref DESCRIPTOR_ADDRESS() macro.
|
||||
*
|
||||
* \note By default, the library expects all descriptors to be located in flash memory via the PROGMEM attribute.
|
||||
* If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
|
||||
|
|
@ -498,7 +498,7 @@
|
|||
* USE_EEPROM_DESCRIPTORS tokens may be defined in the project makefile and passed to the compiler by the -D
|
||||
* switch.
|
||||
*
|
||||
* \return Size in bytes of the descriptor if it exists, zero or NO_DESCRIPTOR otherwise
|
||||
* \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise
|
||||
*/
|
||||
uint16_t USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
|
||||
ATTR_WARN_UNUSED_RESULT ATTR_WEAK ATTR_NON_NULL_PTR_ARG(3);
|
||||
|
|
|
|||
|
|
@ -66,58 +66,58 @@
|
|||
|
||||
/** Request data direction mask, indicating that the request data will flow from host to device.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_DIRECTION macro.
|
||||
* \see \ref CONTROL_REQTYPE_DIRECTION macro.
|
||||
*/
|
||||
#define REQDIR_HOSTTODEVICE (0 << 7)
|
||||
|
||||
/** Request data direction mask, indicating that the request data will flow from device to host.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_DIRECTION macro.
|
||||
* \see \ref CONTROL_REQTYPE_DIRECTION macro.
|
||||
*/
|
||||
#define REQDIR_DEVICETOHOST (1 << 7)
|
||||
|
||||
/** Request type mask, indicating that the request is a standard request.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_TYPE macro.
|
||||
* \see \ref CONTROL_REQTYPE_TYPE macro.
|
||||
*/
|
||||
#define REQTYPE_STANDARD (0 << 5)
|
||||
|
||||
/** Request type mask, indicating that the request is a class-specific request.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_TYPE macro.
|
||||
* \see \ref CONTROL_REQTYPE_TYPE macro.
|
||||
*/
|
||||
#define REQTYPE_CLASS (1 << 5)
|
||||
|
||||
/** Request type mask, indicating that the request is a vendor specific request.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_TYPE macro.
|
||||
* \see \ref CONTROL_REQTYPE_TYPE macro.
|
||||
*/
|
||||
#define REQTYPE_VENDOR (2 << 5)
|
||||
|
||||
/** Request recipient mask, indicating that the request is to be issued to the device as a whole.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_RECIPIENT macro.
|
||||
* \see \ref CONTROL_REQTYPE_RECIPIENT macro.
|
||||
*/
|
||||
#define REQREC_DEVICE (0 << 0)
|
||||
|
||||
/** Request recipient mask, indicating that the request is to be issued to an interface in the
|
||||
* currently selected configuration.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_RECIPIENT macro.
|
||||
* \see \ref CONTROL_REQTYPE_RECIPIENT macro.
|
||||
*/
|
||||
#define REQREC_INTERFACE (1 << 0)
|
||||
|
||||
/** Request recipient mask, indicating that the request is to be issued to an endpoint in the
|
||||
* currently selected configuration.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_RECIPIENT macro.
|
||||
* \see \ref CONTROL_REQTYPE_RECIPIENT macro.
|
||||
*/
|
||||
#define REQREC_ENDPOINT (2 << 0)
|
||||
|
||||
/** Request recipient mask, indicating that the request is to be issued to an unspecified element
|
||||
* in the currently selected configuration.
|
||||
*
|
||||
* \see CONTROL_REQTYPE_RECIPIENT macro.
|
||||
* \see \ref CONTROL_REQTYPE_RECIPIENT macro.
|
||||
*/
|
||||
#define REQREC_OTHER (3 << 0)
|
||||
|
||||
|
|
@ -151,7 +151,7 @@
|
|||
|
||||
/* Enums: */
|
||||
/** Enumeration for the various standard request commands. These commands are applicable when the
|
||||
* request type is REQTYPE_STANDARD (with the exception of REQ_GetDescriptor, which is always
|
||||
* request type is \ref REQTYPE_STANDARD (with the exception of \ref REQ_GetDescriptor, which is always
|
||||
* handled regardless of the request type value).
|
||||
*
|
||||
* \see Chapter 9 of the USB 2.0 Specification.
|
||||
|
|
@ -160,41 +160,41 @@
|
|||
{
|
||||
REQ_GetStatus = 0, /**< Implemented in the library for device, endpoint and interface
|
||||
* recipients. Passed to the user application for other recipients
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_ClearFeature = 1, /**< Implemented in the library for device, endpoint and interface
|
||||
* recipients. Passed to the user application for other recipients
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_SetFeature = 3, /**< Implemented in the library for device, endpoint and interface
|
||||
* recipients. Passed to the user application for other recipients
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_SetAddress = 5, /**< Implemented in the library for the device recipient. Passed
|
||||
* to the user application for other recipients via the
|
||||
* USB_UnhandledControlPacket() event when received in
|
||||
* \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_GetDescriptor = 6, /**< Implemented in the library for all recipients and all request
|
||||
* types. */
|
||||
REQ_SetDescriptor = 7, /**< Not implemented in the library, passed to the user application
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_GetConfiguration = 8, /**< Implemented in the library for the device recipient. Passed
|
||||
* to the user application for other recipients via the
|
||||
* USB_UnhandledControlPacket() event when received in
|
||||
* \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_SetConfiguration = 9, /**< Implemented in the library for the device recipient. Passed
|
||||
* to the user application for other recipients via the
|
||||
* USB_UnhandledControlPacket() event when received in
|
||||
* \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_GetInterface = 10, /**< Not implemented in the library, passed to the user application
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_SetInterface = 11, /**< Not implemented in the library, passed to the user application
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
REQ_SynchFrame = 12, /**< Not implemented in the library, passed to the user application
|
||||
* via the USB_UnhandledControlPacket() event when received in
|
||||
* via the \ref USB_UnhandledControlPacket() event when received in
|
||||
* device mode. */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
* these functions are used) which allow the user application to abort the transfer when certain
|
||||
* arbitrary conditions are met.
|
||||
*
|
||||
* Stream callback functions should return a value from the StreamCallback_Return_ErrorCodes_t
|
||||
* Stream callback functions should return a value from the \ref StreamCallback_Return_ErrorCodes_t
|
||||
* enum.
|
||||
*
|
||||
* Usage Example (Device Endpoint, but applicable for Host Pipes also):
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@
|
|||
|
||||
/** Disables the given USB interrupt vector.
|
||||
*
|
||||
* \see USB_INT_Enable()
|
||||
* \see \ref USB_INT_Enable()
|
||||
*/
|
||||
#define USB_INT_Disable(int) MACROS{ USB_INT_GET_EN_REG(int) &= ~(USB_INT_GET_EN_MASK(int)); }MACROE
|
||||
|
||||
|
|
@ -96,7 +96,7 @@
|
|||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired by RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
* and disconnection events may be manually fired by \ref RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
*/
|
||||
RAISES_EVENT(USB_Connect);
|
||||
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired by RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
* and disconnection events may be manually fired by \ref RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
*/
|
||||
RAISES_EVENT(USB_Disconnect);
|
||||
|
||||
|
|
|
|||
|
|
@ -67,14 +67,14 @@
|
|||
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
|
||||
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
|
||||
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
|
||||
* and disconnection events may be manually fired by RAISE_EVENT(), and the USB_IsConnected global changed manually.
|
||||
* and disconnection events may be manually fired by \ref RAISE_EVENT(), and the \ref USB_IsConnected global changed manually.
|
||||
*
|
||||
* \ingroup Group_USBManagement
|
||||
*/
|
||||
extern volatile bool USB_IsConnected;
|
||||
|
||||
/** Indicates if the USB interface is currently initialized but not necessarily connected to a host
|
||||
* or device (i.e. if USB_Init() has been run). If this is false, all other library globals are invalid.
|
||||
* or device (i.e. if \ref USB_Init() has been run). If this is false, all other library globals are invalid.
|
||||
*
|
||||
* \note This variable should be treated as read-only in the user application, and never manually
|
||||
* changed in value.
|
||||
|
|
@ -84,8 +84,8 @@
|
|||
extern volatile bool USB_IsInitialized;
|
||||
|
||||
/** Structure containing the last received Control request when in Device mode (for use in user-applications
|
||||
* inside of the USB_UnhandledControlPacket() event, or for filling up with a control request to issue when
|
||||
* in Host mode before calling USB_Host_SendControlRequest().
|
||||
* inside of the \ref USB_UnhandledControlPacket() event, or for filling up with a control request to issue when
|
||||
* in Host mode before calling \ref USB_Host_SendControlRequest().
|
||||
*
|
||||
* \ingroup Group_USBManagement
|
||||
*/
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
#if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
|
||||
/** Indicates if the USB interface is currently suspended by the host when in device mode. When suspended,
|
||||
* the device should consume minimal power, and cannot communicate to the host. If Remote Wakeup is
|
||||
* supported by the device and USB_RemoteWakeupEnabled is true, suspension can be terminated by the device
|
||||
* supported by the device and \ref USB_RemoteWakeupEnabled is true, suspension can be terminated by the device
|
||||
* by issuing a Remote Wakeup request.
|
||||
*
|
||||
* \note This global is only present if the user application can be a USB device.
|
||||
|
|
@ -109,11 +109,11 @@
|
|||
|
||||
#if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
|
||||
/** Indicates the current host state machine state. When in host mode, this indicates the state
|
||||
* via one of the values of the USB_Host_States_t enum values in Host.h.
|
||||
* via one of the values of the \ref USB_Host_States_t enum values in Host.h.
|
||||
*
|
||||
* This value may be altered by the user application to implement the HOST_STATE_Addressed,
|
||||
* HOST_STATE_Configured, HOST_STATE_Ready and HOST_STATE_Suspended states which are not implemented
|
||||
* by the library.
|
||||
* This value may be altered by the user application to implement the \ref HOST_STATE_Addressed,
|
||||
* \ref HOST_STATE_Configured, \ref HOST_STATE_Ready and \ref HOST_STATE_Suspended states which
|
||||
* are not implemented by the library.
|
||||
*
|
||||
* \note This global is only present if the user application can be a USB host.
|
||||
*
|
||||
|
|
@ -124,35 +124,35 @@
|
|||
|
||||
/* Throwable Events: */
|
||||
#if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
|
||||
/** This module raises the USB Connect event when a USB device has been connected whilst in host
|
||||
/** This module raises the \ref USB_Connect event when a USB device has been connected whilst in host
|
||||
* mode, but not yet enumerated.
|
||||
*
|
||||
* \see Events.h for more information on this event.
|
||||
*/
|
||||
RAISES_EVENT(USB_Connect);
|
||||
|
||||
/** This module raises the USB Device Attached event when in host mode, and a device is attached
|
||||
/** This module raises the \ref USB_DeviceAttached event when in host mode, and a device is attached
|
||||
* to the AVR's USB interface.
|
||||
*
|
||||
* \see Events.h for more information on this event.
|
||||
*/
|
||||
RAISES_EVENT(USB_DeviceAttached);
|
||||
|
||||
/** This module raises the USB Device Unattached event when in host mode, and a device is removed
|
||||
/** This module raises the \ref USB_DeviceUnattached event when in host mode, and a device is removed
|
||||
* from the AVR's USB interface.
|
||||
*
|
||||
* \see Events.h for more information on this event.
|
||||
*/
|
||||
RAISES_EVENT(USB_DeviceUnattached);
|
||||
|
||||
/** This module raises the USB Device Enumeration Failed event when in host mode, and an
|
||||
/** This module raises the \ref USB_DeviceEnumerationFailed event when in host mode, and an
|
||||
* attached USB device has failed to successfully enumerated.
|
||||
*
|
||||
* \see Events.h for more information on this event.
|
||||
*/
|
||||
RAISES_EVENT(USB_DeviceEnumerationFailed);
|
||||
|
||||
/** This module raises the USB Device Enumeration Complete event when in host mode, and an
|
||||
/** This module raises the \ref USB_DeviceEnumerationComplete event when in host mode, and an
|
||||
* attached USB device has been successfully enumerated and ready to be used by the user
|
||||
* application.
|
||||
*
|
||||
|
|
@ -160,7 +160,7 @@
|
|||
*/
|
||||
RAISES_EVENT(USB_DeviceEnumerationComplete);
|
||||
|
||||
/** This module raises the USB Disconnect event when an attached USB device is removed from the USB
|
||||
/** This module raises the \ref USB_Disconnect event when an attached USB device is removed from the USB
|
||||
* bus.
|
||||
*
|
||||
* \see Events.h for more information on this event.
|
||||
|
|
@ -177,11 +177,11 @@
|
|||
* The USB task must be serviced within 50mS in all modes, when needed. The task may be serviced
|
||||
* at all times, or (for minimum CPU consumption):
|
||||
*
|
||||
* - In device mode, it may be disabled at start-up, enabled on the firing of the USB_Connect event
|
||||
* and disabled again on the firing of the USB_Disconnect event.
|
||||
* - In device mode, it may be disabled at start-up, enabled on the firing of the \ref USB_Connect event
|
||||
* and disabled again on the firing of the \ref USB_Disconnect event.
|
||||
*
|
||||
* - In host mode, it may be disabled at start-up, enabled on the firing of the USB_DeviceAttached
|
||||
* event and disabled again on the firing of the USB_DeviceUnattached event.
|
||||
* - In host mode, it may be disabled at start-up, enabled on the firing of the \ref USB_DeviceAttached
|
||||
* event and disabled again on the firing of the \ref USB_DeviceUnattached event.
|
||||
*
|
||||
* \see Events.h for more information on the USB events.
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue