- Main Page
- Modules
- Data Structures
- Files
- Related Pages

# conf_usb.h

Go to the documentation of this file.

    00001 /*This file has been prepared for Doxygen automatic documentation generation.*/
    00013
    00014 /* Copyright (c) 2007, Atmel Corporation All rights reserved.
    00015  *
    00016  * Redistribution and use in source and binary forms, with or without
    00017  * modification, are permitted provided that the following conditions are met:
    00018  *
    00019  * 1. Redistributions of source code must retain the above copyright notice,
    00020  * this list of conditions and the following disclaimer.
    00021  *
    00022  * 2. Redistributions in binary form must reproduce the above copyright notice,
    00023  * this list of conditions and the following disclaimer in the documentation
    00024  * and/or other materials provided with the distribution.
    00025  *
    00026  * 3. The name of ATMEL may not be used to endorse or promote products derived
    00027  * from this software without specific prior written permission.
    00028  *
    00029  * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
    00030  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    00031  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
    00032  * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
    00033  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    00034  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    00035  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    00036  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    00037  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    00038  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    00039  */
    00040 #ifndef _CONF_USB_H_
    00041 #define _CONF_USB_H_
    00042
    00043 #include "modules/usb/usb_commun.h"
    00044 #include "modules/usb/usb_commun_hid.h"
    00045
    00049
    00050
    00051    // _________________ USB MODE CONFIGURATION ____________________________
    00052    //
    00057
    00061       #define USB_HOST_FEATURE            DISABLED
    00062
    00066       #define USB_DEVICE_FEATURE          ENABLED
    00067
    00069
    00070    // _________________ USB REGULATOR CONFIGURATION _______________________
    00071    //
    00074
    00079 #ifndef USE_USB_PADS_REGULATOR
    00080    #define USE_USB_PADS_REGULATOR   ENABLE      // Possible values ENABLE or DISABLE
    00081 #endif
    00083
    00084    // _________________ HOST MODE CONFIGURATION ____________________________
    00085    //
    00089
    00098    #define VID_PID_TABLE            {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
    00099                                     ,0x0123, 3, 0x2000, 0x2100, 0x1258}
    00100
    00111    #define CLASS_SUBCLASS_PROTOCOL     {0x0A, 0x00, 0x00, \
    00112                                        0x00, 0x00, 0x00,\
    00113                                        0xFF,0x00,0x00}
    00114
    00116    #define SIZEOF_DATA_STAGE        250
    00117
    00119    #define DEVICE_ADDRESS           0x05
    00120
    00124    #define HOST_STRICT_VID_PID_TABLE      DISABLE
    00125
    00127    #define HOST_AUTO_CFG_ENDPOINT         ENABLE
    00128
    00130    #define HOST_CONTINUOUS_SOF_INTERRUPT  DISABLE
    00131
    00133    #define HOST_ERROR_RESTART             ENABLE
    00134
    00136    #define ID_PIN_CHANGE_GENERATE_RESET   DISABLE
    00137
    00139    #define NAK_TIMEOUT_DELAY              1
    00140
    00141    #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
    00143       #define        User_configure_endpoint()
    00144    #endif
    00145
    00149    // write here the action to associate to each USB host event
    00150    // be carefull not to waste time in order not disturbing the functions
    00151    #define Usb_id_transition_action()
    00152    #define Host_device_disconnection_action()
    00153    #define Host_device_connection_action()
    00154    #define Host_sof_action()
    00155    #define Host_suspend_action()                      host_suspend_action();
    00156    #define Host_hwup_action()
    00157    #define Host_device_not_supported_action()
    00158    #define Host_device_supported_action()
    00159    #define Host_device_error_action()
    00161
    00162 extern void host_suspend_action(void);
    00164
    00165
    00166 // _________________ DEVICE MODE CONFIGURATION __________________________
    00167
    00171
    00172 #define USB_DEVICE_SN_USE          DISABLE            // DISABLE
    00173 #define USE_DEVICE_SN_UNIQUE       DISABLE            // ignore if USB_DEVICE_SN_USE = DISABLE
    00174
    00175 #define Usb_unicode(a)         ((U16)(a))
    00176
    00177 #define NB_ENDPOINTS          2  // number of endpoints in the application
    00178 #define EP_HID_IN             1
    00179 #define EP_HID_OUT            2
    00180
    00181 #define USB_REMOTE_WAKEUP_FEATURE   DISABLE
    00182
    00186    // write here the action to associate to each USB event
    00187    // be carefull not to waste time in order not disturbing the functions
    00188 #define Usb_sof_action()         sof_action();
    00189 #define Usb_wake_up_action()
    00190 #define Usb_resume_action()
    00191 #define Usb_suspend_action()
    00192 #define Usb_reset_action()
    00193 #define Usb_vbus_on_action()
    00194 #define Usb_vbus_off_action()
    00195 #define Usb_set_configuration_action()
    00197
    00198 extern void sof_action(void);
    00200
    00202
    00203 #endif // _CONF_USB_H_