Microchip® Advanced Software Framework

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

Modules

 USB host custom actions
 

Macros

#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS/PROTOCOL supported table list. 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_CONTINUOUS_SOF_INTERRUPT   ENABLE
 Host Start-of-Frame interrupt always enabled. 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 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_INTERFACE_SUPPORTED   0x03
 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_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 SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved for descriptor handling. 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 USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE
 USB host pipes transfers use USB communication interrupt (allows to use non-blocking functions) More...
 
#define VID_PID_TABLE   {ATMEL_VID, 1, CDC_EXAMPLE_PID}
 VID/PID supported table list. More...
 

Functions

void host_sof_action (void)
 host_sof_action More...
 
void host_suspend_action (void)
 

Variables

volatile bool cdc_connected
 
volatile bool cdc_new_device_connected
 

#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 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_CONTINUOUS_SOF_INTERRUPT   ENABLE

Host Start-of-Frame interrupt always enabled.

#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 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.

Referenced by host_check_class().

#define MAX_INTERFACE_SUPPORTED   0x03

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

Referenced by host_check_class().

#define NAK_RECEIVE_TIMEOUT   0x0FFF

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

Referenced by host_get_data().

#define NAK_SEND_TIMEOUT   0x0FFF

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

Referenced by host_send_data().

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK time-out for host transfer.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved for descriptor handling.

Referenced by host_check_class().

#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_ENABLE   ENABLE

Enable time-out delay for host transfer.

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   DISABLE

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

#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}

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.

volatile bool cdc_connected
volatile bool cdc_new_device_connected