Microchip® Advanced Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
USB host operating mode configuration

Modules

 USB host custom actions
 
 USB device operating mode configuration
 

Macros

#define CLASS_SUBCLASS_PROTOCOL   {VENDOR_CLASS, NO_SUBCLASS, NO_PROTOCOL}
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. More...
 
#define CPU_RESET_CALLBACK()
 Reset callback - called just before the CPU reset takes in place. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_AUTO_CFG_ENDPOINT   ENABLE
 Try to configure the host pipe according to the device descriptors received. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   ENABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE
 Host Start-of-Frame interrupt always enabled. More...
 
#define HOST_ERROR_RESTART   DISABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_ERROR_RESTART   ENABLE
 When host error state detected, go to detached state. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_STRICT_VID_PID_TABLE   DISABLE
 The host controller will be limited to the strict VID/PID list. More...
 
#define HOST_VBUS_LOW_TIMEOUT   ((2000 * (unsigned long long) 60000000) / 1000)
 The time in cycle number that the VBus need to be dropped down after a "device unplugged" has been detected if no timeouts are needed, then this constant should not be defined. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force CPU reset upon ID pin change. More...
 
#define MAX_EP_PER_INTERFACE   3
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   3
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   3
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   2
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   3
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   3
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   2
 The maximal number of endpoints per interface supported. More...
 
#define MAX_EP_PER_INTERFACE   3
 The maximal number of endpoints per interface supported. More...
 
#define MAX_INTERFACE_SUPPORTED   0x02
 The maximal number of interfaces that can be supported (composite device) More...
 
#define MAX_INTERFACE_SUPPORTED   0x03
 The maximal number of interfaces that can be supported (composite device) More...
 
#define MAX_INTERFACE_SUPPORTED   0x08
 The maximal number of interfaces that can be supported (composite device) More...
 
#define MAX_INTERFACE_SUPPORTED   0x03
 The maximal number of interfaces that can be supported (composite device) More...
 
#define MAX_INTERFACE_SUPPORTED   0x03
 The maximal number of interfaces that can be supported (composite device) More...
 
#define MAX_INTERFACE_SUPPORTED   0x03
 The maximal number of interfaces that can be supported (composite device) More...
 
#define MAX_INTERFACE_SUPPORTED   0x08
 The maximal number of interfaces that can be supported (composite device) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0010
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for receive functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0010
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF) More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   ENABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK time-out for host transfer. More...
 
#define PIPE_AUDIO_IN   pipe_audio_in
 
#define PIPE_AUDIO_IN   pipe_audio_in
 
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   1024
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. More...
 
#define SIZEOF_DATA_STAGE   1024
 The size of RAM buffer reserved for descriptor handling. More...
 
#define TIMEOUT_DELAY   10
 Delay (unit is in 1/4 s - 250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   10
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   10
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   10
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   1
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   10
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   10
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY   10
 Delay 1/4 s (250 ms) before time-out value. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable time-out delay for host transfer. More...
 
#define USB_HOST_FULLSPEED_ONLY
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) When set to ENABLE, take care of the NAK_RECEIVE_TIMEOUT value: NAK OUT will be counted faster and a timeout will occur if using FreeRTOS, since host and device tasks are sleeping several milliseconds. More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, CDC_EXAMPLE_PID}
 VID/PID supported table list. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, ENUM_EXAMPLE_PID}
 VID/PID supported table list. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, AUDIO_MIC_EXAMPLE_PID}
 VID/PID supported table list. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, EVK1100_CTRL_PANEL_DEMO_PID}
 VID/PID supported table list. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, MS_EXAMPLE_PID}
 VID/PID supported table list. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, HID_EXAMPLE_PID}
 VID/PID supported table list. More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, AUDIO_MIC_EXAMPLE_PID}
 VID/PID supported table list. More...
 

Functions

void host_sof_action (void)
 host_sof_action More...
 
void host_suspend_action (void)
 
bool host_user_check_class (const uint8_t *descriptor)
 This function is called by the standard USB host_check_class() function when the Host is analyzing the configuration descriptor previously sent by a USB Device. More...
 
void host_user_check_class_init (void)
 Initialization. More...
 

Variables

volatile bool audio_connected
 
volatile bool audio_connected
 
volatile bool audio_new_device_connected
 
volatile bool audio_new_device_connected
 
volatile bool cdc_connected
 
volatile bool cdc_new_device_connected
 
bool keyboard_hid_connected
 
bool keyboard_hid_new_device_connected
 
volatile bool mouse_hid_connected
 
volatile bool mouse_hid_new_device_connected
 
volatile bool ms_connected
 
volatile bool ms_connected
 
volatile bool ms_new_device_connected
 
volatile bool ms_new_device_connected
 
uint8_t pipe_audio_in
 
uint8_t pipe_audio_in
 
volatile bool tpl_new_device_connected
 

#define CLASS_SUBCLASS_PROTOCOL   {VENDOR_CLASS, NO_SUBCLASS, NO_PROTOCOL}

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CLASS_SUBCLASS_PROTOCOL
Value:
#define NO_PROTOCOL
Definition: usb_ids.h:87
#define CDC_COMM_CLASS
Definition: usb_ids.h:110
#define NO_SUBCLASS
Definition: usb_ids.h:86
#define CDC_DATA_CLASS
Definition: usb_ids.h:119
#define CDC_COMM_ABSTRACT_CM_SUBCLASS
Definition: usb_ids.h:112
#define CDC_COMM_V25ter_PROTOCOL
Definition: usb_ids.h:118

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CLASS_SUBCLASS_PROTOCOL
Value:
#define NO_PROTOCOL
Definition: usb_ids.h:87
#define AUDIO_CLASS
Definition: usb_ids.h:100
#define AUDIOCONTROL_SUBCLASS
Definition: usb_ids.h:101
#define AUDIOSTREAMING_SUBCLASS
Definition: usb_ids.h:102

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CLASS_SUBCLASS_PROTOCOL
Value:
MS_CLASS, SCSI_SUBCLASS, BULK_PROTOCOL}
#define SFF8070I_SUBCLASS
Definition: usb_ids.h:140
#define SFF8020I_MMC2_SUBCLASS
Definition: usb_ids.h:139
#define MS_CLASS
Definition: usb_ids.h:138
#define BULK_PROTOCOL
Definition: usb_ids.h:142
#define SCSI_SUBCLASS
Definition: usb_ids.h:141

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CLASS_SUBCLASS_PROTOCOL
Value:
MS_CLASS, SCSI_SUBCLASS, BULK_PROTOCOL}
#define SFF8070I_SUBCLASS
Definition: usb_ids.h:140
#define SFF8020I_MMC2_SUBCLASS
Definition: usb_ids.h:139
#define MS_CLASS
Definition: usb_ids.h:138
#define BULK_PROTOCOL
Definition: usb_ids.h:142
#define SCSI_SUBCLASS
Definition: usb_ids.h:141

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CLASS_SUBCLASS_PROTOCOL
Value:
HID_CLASS, NO_SUBCLASS, MOUSE_PROTOCOL}
#define KEYBOARD_PROTOCOL
Definition: usb_ids.h:131
#define NO_SUBCLASS
Definition: usb_ids.h:86
#define HID_CLASS
Definition: usb_ids.h:129
#define MOUSE_PROTOCOL
Definition: usb_ids.h:132
#define BOOT_SUBCLASS
Definition: usb_ids.h:130

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CLASS_SUBCLASS_PROTOCOL
Value:
#define NO_PROTOCOL
Definition: usb_ids.h:87
#define AUDIO_CLASS
Definition: usb_ids.h:100
#define AUDIOCONTROL_SUBCLASS
Definition: usb_ids.h:101
#define AUDIOSTREAMING_SUBCLASS
Definition: usb_ids.h:102

CLASS/SUBCLASS/PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that are supported by the reduced-host application. This table definition allows to extend the reduced application device support to an entire CLASS/ SUBCLASS/PROTOCOL instead of a simple VID/PID table list.

CLASS_SUBCLASS_PROTOCOL format definition:
#define CLASS_SUBCLASS_PROTOCOL {CLASS1, SUB_CLASS1, PROTOCOL1,
...
CLASSn, SUB_CLASSn, PROTOCOLn}

#define CPU_RESET_CALLBACK ( )
Value:
{ \
extern void controller_shutdown(void); \
extern void gui_shutdown(void); \
extern void twi_disable_interrupt(volatile avr32_twi_t *twi); \
twi_disable_interrupt(&AVR32_TWI); \
}
void controller_shutdown(void)
Shutdown the controller.
void twi_disable_interrupt(volatile avr32_twi_t *twi)
Disable all TWI interrupts.
Definition: twi.c:335
void pdca_disable_interrupt_transfer_complete(uint8_t pdca_ch_number)
Disable PDCA transfer interrupt when completed (ie TCR and TCRR are both zero)
Definition: pdca.c:235
void pdca_disable_interrupt_reload_counter_zero(uint8_t pdca_ch_number)
Disable PDCA transfer interrupt when TCRR reaches zero.
Definition: pdca.c:258
void gui_shutdown(void)
Shutdown the GUI.

Reset callback - called just before the CPU reset takes in place.

Referenced by if().

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

Referenced by usb_host_task().

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

Try to configure the host pipe according to the device descriptors received.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   ENABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host Start-of-Frame interrupt always enabled.

#define HOST_ERROR_RESTART   DISABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_ERROR_RESTART   ENABLE

When host error state detected, go to detached state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_STRICT_VID_PID_TABLE   DISABLE

The host controller will be limited to the strict VID/PID list.

When enabled, if the device VID/PID does not belong to the supported list, the host controller software will not go to deeper configuration, but to error state.

#define HOST_VBUS_LOW_TIMEOUT   ((2000 * (unsigned long long) 60000000) / 1000)

The time in cycle number that the VBus need to be dropped down after a "device unplugged" has been detected if no timeouts are needed, then this constant should not be defined.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force CPU reset upon ID pin change.

#define MAX_EP_PER_INTERFACE   3

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   3

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   3

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   2

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   3

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   3

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   2

The maximal number of endpoints per interface supported.

#define MAX_EP_PER_INTERFACE   3

The maximal number of endpoints per interface supported.

Referenced by host_check_class().

#define MAX_INTERFACE_SUPPORTED   0x02

The maximal number of interfaces that can be supported (composite device)

#define MAX_INTERFACE_SUPPORTED   0x03

The maximal number of interfaces that can be supported (composite device)

#define MAX_INTERFACE_SUPPORTED   0x08

The maximal number of interfaces that can be supported (composite device)

#define MAX_INTERFACE_SUPPORTED   0x03

The maximal number of interfaces that can be supported (composite device)

#define MAX_INTERFACE_SUPPORTED   0x03

The maximal number of interfaces that can be supported (composite device)

#define MAX_INTERFACE_SUPPORTED   0x03

The maximal number of interfaces that can be supported (composite device)

Referenced by host_check_class(), and host_user_check_class().

#define MAX_INTERFACE_SUPPORTED   0x08

The maximal number of interfaces that can be supported (composite device)

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_RECEIVE_TIMEOUT   0x0010

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

Referenced by host_get_data(), host_get_data_interrupt(), and usb_pipe_interrupt().

#define NAK_RECEIVE_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for receive functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0010

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

Referenced by host_send_data(), host_send_data_interrupt(), and usb_pipe_interrupt().

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshakes before time-out for transmit functions (up to 0xFFFF)

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   ENABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define PIPE_AUDIO_IN   pipe_audio_in
#define PIPE_AUDIO_IN   pipe_audio_in

Referenced by host_audio_task().

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

#define SIZEOF_DATA_STAGE   1024

The size of RAM buffer reserved for descriptor handling.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

Referenced by host_check_class(), host_hid_get_descriptor(), and host_hid_get_report().

#define SIZEOF_DATA_STAGE   1024

The size of RAM buffer reserved for descriptor handling.

#define TIMEOUT_DELAY   10

Delay (unit is in 1/4 s - 250 ms) before time-out value.

#define TIMEOUT_DELAY   10

Delay 1/4 s (250 ms) before time-out value.

#define TIMEOUT_DELAY   10

Delay 1/4 s (250 ms) before time-out value.

#define TIMEOUT_DELAY   10

Delay 1/4 s (250 ms) before time-out value.

#define TIMEOUT_DELAY   1

Delay 1/4 s (250 ms) before time-out value.

#define TIMEOUT_DELAY   10

Delay 1/4 s (250 ms) before time-out value.

#define TIMEOUT_DELAY   10

Delay 1/4 s (250 ms) before time-out value.

Referenced by host_get_data(), host_send_data(), and usb_general_interrupt().

#define TIMEOUT_DELAY   10

Delay 1/4 s (250 ms) before time-out value.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define USB_HOST_FULLSPEED_ONLY
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) When set to ENABLE, take care of the NAK_RECEIVE_TIMEOUT value: NAK OUT will be counted faster and a timeout will occur if using FreeRTOS, since host and device tasks are sleeping several milliseconds.

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions)

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

#define User_configure_endpoint ( )

If no auto configuration of EP, map here user function.

Referenced by usb_host_task().

#define VID_PID_TABLE   {ATMEL_VID, 1, CDC_EXAMPLE_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

#define VID_PID_TABLE   {ATMEL_VID, 1, ENUM_EXAMPLE_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

#define VID_PID_TABLE   {ATMEL_VID, 1, AUDIO_MIC_EXAMPLE_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

#define VID_PID_TABLE   {ATMEL_VID, 1, EVK1100_CTRL_PANEL_DEMO_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

#define VID_PID_TABLE   {ATMEL_VID, 1, MS_EXAMPLE_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

#define VID_PID_TABLE   {ATMEL_VID, 1, HID_EXAMPLE_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

#define VID_PID_TABLE   {ATMEL_VID, 1, AUDIO_MIC_EXAMPLE_PID}

VID/PID supported table list.

This table contains the VID/PID that are supported by the reduced-host application.

VID_PID_TABLE format definition:
#define VID_PID_TABLE {VID1, number_of_PIDs_for_VID1, PID11_value, ..., PID1X_Value,
...
VIDn, number_of_PIDs_for_VIDn, PIDn1_value, ..., PIDnY_Value}

void host_sof_action ( void  )

host_sof_action

This function increments the sof_cnt counter each time the USB Start-of-Frame interrupt subroutine is executed (1 ms). Useful to manage time delays

void host_suspend_action ( void  )
Todo:
Implement this on the silicon version

References Enable_global_interrupt.

bool host_user_check_class ( const uint8_t *  descriptor)

This function is called by the standard USB host_check_class() function when the Host is analyzing the configuration descriptor previously sent by a USB Device.

The function will be called for each descriptor found in the configuration descriptor.

void host_user_check_class_init ( void  )

Initialization.

volatile bool audio_connected
volatile bool audio_connected

Referenced by host_audio_task().

volatile bool audio_new_device_connected
volatile bool audio_new_device_connected

Referenced by host_audio_task().

volatile bool cdc_connected
volatile bool cdc_new_device_connected
bool keyboard_hid_connected
bool keyboard_hid_new_device_connected
volatile bool mouse_hid_connected
volatile bool mouse_hid_new_device_connected
volatile bool ms_connected
volatile bool ms_connected
volatile bool ms_new_device_connected
uint8_t pipe_audio_in
uint8_t pipe_audio_in

Referenced by host_audio_task().

volatile bool tpl_new_device_connected