USB host operating mode configuration
[USB application configuration]

Collaboration diagram for USB host operating mode configuration:


Modules

 USB host custom actions

Defines

#define HID_CLASS   0x03
#define MS_CLASS   0x08
#define NO_SUBCLASS   0x00
#define BOOT_SUBCLASS   0x01
#define MOUSE_PROTOCOL   0x02
#define NO_PROTOCOL   0x00
#define VID_PID_TABLE   { 0x03EB, 1, 0x2031 }
 VID/PID supported table list.
#define CLASS_SUBCLASS_PROTOCOL
 CLASS/SUBCLASS_PROTOCOL supported table list.
#define SIZEOF_DATA_STAGE   250
 The size of RAM buffer reserved of descriptors manipulation.
#define DEVICE_ADDRESS   0x05
 The address that will be assigned to the connected device.
#define MAX_INTERFACE_SUPPORTED   0x03
 The maximum number of interface that can be supported (composite device).
#define MAX_EP_PER_INTERFACE   3
 The maximum number of endpoints per interface supported.
#define HOST_STRICT_VID_PID_TABLE   ENABLE
 The host controller will be limited to the strict VID/PID list.
#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 enable.
#define HOST_ERROR_RESTART   ENABLE
 When Host error state detected, goto unattached state.
#define USB_HOST_PIPE_INTERRUPT_TRANSFER   ENABLE
 USB host pipes transfers use USB communication interrupt (allows to use none blocking functions).
#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
 Force WDT reset upon ID pin change.
#define TIMEOUT_DELAY_ENABLE   ENABLE
 Enable Timeout delay (time) for host transfer.
#define TIMEOUT_DELAY   10
 delay 1/4sec (250ms) before timeout value
#define NAK_TIMEOUT_ENABLE   DISABLE
 Enable cpt NAK Timeout for host transfer.
#define NAK_SEND_TIMEOUT   0x0FFF
 Number of NAK handshake before timeout for transmit functions (up to 0xFFFF).
#define NAK_RECEIVE_TIMEOUT   0x0FFF
 NAKNumber of NAK handshake before timeout for receive functions (up to 0xFFFF).
#define SOFTWARE_VBUS_CTRL   ENABLE
 For reduced host only allows to control VBUS generator with PIO PE.7.
#define User_configure_endpoint()
 If no auto configuration of EP, map here user function.

Functions

void set_power_down_mode (void)
 set_power_down_mode.
void host_sof_action (void)

Variables

volatile U8 spider_connected

Define Documentation

#define HID_CLASS   0x03

Definition at line 121 of file conf_usb.h.

Referenced by otg_user_task().

#define MS_CLASS   0x08

Definition at line 122 of file conf_usb.h.

#define NO_SUBCLASS   0x00

Definition at line 123 of file conf_usb.h.

#define BOOT_SUBCLASS   0x01

Definition at line 124 of file conf_usb.h.

#define MOUSE_PROTOCOL   0x02

Definition at line 125 of file conf_usb.h.

Referenced by otg_user_task().

#define NO_PROTOCOL   0x00

Definition at line 126 of file conf_usb.h.

#define VID_PID_TABLE   { 0x03EB, 1, 0x2031 }

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_pid_for_this_VID1, PID11_value,..., PID1X_Value
...
,VIDz, number_of_pid_for_this_VIDz, PIDz1_value,..., PIDzX_Value} The TEST DEVICE must not be included : VID=0x1A0A & PID=0xBADD For the OTG Compliance the B-OPT uses a PID=0x1234 as the "Unsupported device"

Definition at line 139 of file conf_usb.h.

#define CLASS_SUBCLASS_PROTOCOL

Value:

{0x00, 0x00, 0x00,\
                                       MS_CLASS, 0x06, 0x50,\
                                       HID_CLASS, NO_SUBCLASS, MOUSE_PROTOCOL,\
                                       HID_CLASS, BOOT_SUBCLASS, MOUSE_PROTOCOL,\
                                       HID_CLASS, NO_SUBCLASS, NO_PROTOCOL}
CLASS/SUBCLASS_PROTOCOL supported table list.

This table contains the CLASS/SUBCLASS/PROTOCOL that is supported by the reduced host application This table definition allows to extended 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,
...
CLASSz, SUB_CLASSz,PROTOCOLz}

Definition at line 151 of file conf_usb.h.

#define SIZEOF_DATA_STAGE   250

The size of RAM buffer reserved of descriptors manipulation.

Definition at line 159 of file conf_usb.h.

Referenced by get_interface_descriptor_offset(), host_auto_configure_endpoint(), and host_check_class().

#define DEVICE_ADDRESS   0x05

The address that will be assigned to the connected device.

Definition at line 162 of file conf_usb.h.

Referenced by usb_host_task().

#define MAX_INTERFACE_SUPPORTED   0x03

The maximum number of interface that can be supported (composite device).

Definition at line 165 of file conf_usb.h.

Referenced by host_check_class().

#define MAX_EP_PER_INTERFACE   3

The maximum number of endpoints per interface supported.

Definition at line 168 of file conf_usb.h.

#define HOST_STRICT_VID_PID_TABLE   ENABLE

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

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

Definition at line 173 of file conf_usb.h.

#define HOST_AUTO_CFG_ENDPOINT   ENABLE

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

Definition at line 176 of file conf_usb.h.

#define HOST_CONTINUOUS_SOF_INTERRUPT   DISABLE

Host start of frame interrupt always enable.

Definition at line 179 of file conf_usb.h.

#define HOST_ERROR_RESTART   ENABLE

When Host error state detected, goto unattached state.

Definition at line 182 of file conf_usb.h.

#define USB_HOST_PIPE_INTERRUPT_TRANSFER   ENABLE

USB host pipes transfers use USB communication interrupt (allows to use none blocking functions).

Definition at line 185 of file conf_usb.h.

#define ID_PIN_CHANGE_GENERATE_RESET   ENABLE

Force WDT reset upon ID pin change.

Definition at line 188 of file conf_usb.h.

#define TIMEOUT_DELAY_ENABLE   ENABLE

Enable Timeout delay (time) for host transfer.

Definition at line 191 of file conf_usb.h.

#define TIMEOUT_DELAY   10

delay 1/4sec (250ms) before timeout value

Definition at line 194 of file conf_usb.h.

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

#define NAK_TIMEOUT_ENABLE   DISABLE

Enable cpt NAK Timeout for host transfer.

Definition at line 197 of file conf_usb.h.

#define NAK_SEND_TIMEOUT   0x0FFF

Number of NAK handshake before timeout for transmit functions (up to 0xFFFF).

Definition at line 200 of file conf_usb.h.

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

#define NAK_RECEIVE_TIMEOUT   0x0FFF

NAKNumber of NAK handshake before timeout for receive functions (up to 0xFFFF).

Definition at line 203 of file conf_usb.h.

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

#define SOFTWARE_VBUS_CTRL   ENABLE

For reduced host only allows to control VBUS generator with PIO PE.7.

Definition at line 206 of file conf_usb.h.

 
#define User_configure_endpoint (  ) 

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

Definition at line 210 of file conf_usb.h.

Referenced by usb_host_task().


Function Documentation

void set_power_down_mode ( void   ) 

set_power_down_mode.

This function makes the AVR core enter power down mode.

Parameters:
none 
Returns:
none.

Definition at line 34 of file power_drv.c.

00035 {
00036    Setup_power_down_mode();
00037    Sleep_instruction();
00038 }

void host_sof_action ( void   ) 


Variable Documentation

volatile U8 spider_connected


Generated on Mon Feb 19 09:32:10 2007 for Atmel by  doxygen 1.5.1-p1