LUFA Library - CDC Class Bootloader
Descriptors.h File Reference
#include <LUFA/Drivers/USB/USB.h>
#include "Config/AppConfig.h"

Data Structures

struct  USB_Descriptor_Configuration_t
 

Macros

#define CDC_NOTIFICATION_EPADDR   (ENDPOINT_DIR_IN | 2)
 
#define CDC_TX_EPADDR   (ENDPOINT_DIR_IN | 3)
 
#define CDC_RX_EPADDR   (ENDPOINT_DIR_OUT | 4)
 
#define CDC_TXRX_EPSIZE   16
 
#define CDC_NOTIFICATION_EPSIZE   8
 

Enumerations

enum  StringDescriptors_t {
  STRING_ID_Language = 0,
  STRING_ID_Manufacturer = 1,
  STRING_ID_Product = 2
}
 

Functions

uint16_t CALLBACK_USB_GetDescriptor (const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3)
 

Detailed Description

Header file for Descriptors.c.

Macro Definition Documentation

#define CDC_NOTIFICATION_EPADDR   (ENDPOINT_DIR_IN | 2)

Endpoint address for the CDC control interface event notification endpoint.

#define CDC_NOTIFICATION_EPSIZE   8

Size of the CDC control interface notification endpoint bank, in bytes.

#define CDC_RX_EPADDR   (ENDPOINT_DIR_OUT | 4)

Endpoint address for the CDC data interface RX (data OUT) endpoint.

#define CDC_TX_EPADDR   (ENDPOINT_DIR_IN | 3)

Endpoint address for the CDC data interface TX (data IN) endpoint.

#define CDC_TXRX_EPSIZE   16

Size of the CDC data interface TX and RX data endpoint banks, in bytes.

Enumeration Type Documentation

Enum for the device string descriptor IDs within the device. Each string descriptor should have a unique ID index associated with it, which can be used to refer to the string from other descriptors.

Enumerator
STRING_ID_Language 

Supported Languages string descriptor ID (must be zero)

STRING_ID_Manufacturer 

Manufacturer string ID

STRING_ID_Product 

Product string ID

Function Documentation

uint16_t CALLBACK_USB_GetDescriptor ( const uint16_t  wValue,
const uint8_t  wIndex,
const void **const  DescriptorAddress 
)

This function is called by the library when in device mode, and must be overridden (see LUFA library "USB Descriptors" documentation) by the application code so that the address and size of a requested descriptor can be given to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the USB host.