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 
00044 #include "modules/usb/usb_commun.h"
00045 #include "modules/usb/usb_commun_ms.h"
00046 
00050 
00051 
00052    // _________________ USB MODE CONFIGURATION ____________________________
00053    //
00058 
00062       #define USB_HOST_FEATURE            DISABLED
00063 
00067       #define USB_DEVICE_FEATURE          ENABLED
00068 
00070 
00071    // _________________ USB REGULATOR CONFIGURATION _______________________
00072    //
00075 
00080 #ifndef USE_USB_PADS_REGULATOR
00081    #define USE_USB_PADS_REGULATOR   ENABLE      // Possible values ENABLE or DISABLE
00082 #endif
00084 
00085    // _________________ HOST MODE CONFIGURATION ____________________________
00086    //
00098    #define VID_PID_TABLE            {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
00099                                     ,0x0123, 3, 0x2000, 0x2100, 0x1258}
00100 
00111    #define CLASS_SUBCLASS_PROTOCOL     {\
00112                                        0x00, 0x00, 0x00,\
00113                                        MS_CLASS, MS_SUB_CLASS2, MS_PROTOCOL,\
00114                                        MS_CLASS, MS_SUB_CLASS5, MS_PROTOCOL,\
00115                                        MS_CLASS, MS_SUB_CLASS6, MS_PROTOCOL,\
00116                                        HID_CLASS, NO_SUBCLASS, HID_PROTOCOL_MOUSE,\
00117                                        HID_CLASS, HID_SUB_CLASS_BOOT, HID_PROTOCOL_MOUSE,\
00118                                        HID_CLASS, NO_SUBCLASS, NO_PROTOCOL,\
00119                                        }
00120 
00122    #define SIZEOF_DATA_STAGE        250
00123 
00125    #define DEVICE_ADDRESS           0x05
00126 
00128    #define MAX_INTERFACE_SUPPORTED  0x03
00129 
00131    #define MAX_EP_PER_INTERFACE     3
00132 
00136    #define HOST_STRICT_VID_PID_TABLE      DISABLE
00137 
00139    #define HOST_AUTO_CFG_ENDPOINT         ENABLE
00140 
00142    #define HOST_CONTINUOUS_SOF_INTERRUPT  ENABLE
00143 
00145    #define HOST_ERROR_RESTART             DISABLE
00146 
00148    #define USB_HOST_PIPE_INTERRUPT_TRANSFER  DISABLE
00149 
00151    #define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
00152 
00154    #define TIMEOUT_DELAY_ENABLE           ENABLE
00155 
00157    #define TIMEOUT_DELAY               10
00158 
00160    #define NAK_TIMEOUT_ENABLE          DISABLE
00161 
00163    #define NAK_SEND_TIMEOUT            0x0FFF
00164 
00166    #define NAK_RECEIVE_TIMEOUT         0x0FFF
00167 
00169    #define SOFTWARE_VBUS_CTRL          ENABLE
00170 
00171    #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00173       #define        User_configure_endpoint()
00174    #endif
00175 
00179    // write here the action to associate to each USB host event
00180    // be carefull not to waste time in order not disturbing the functions
00181    #define Usb_id_transition_action()
00182    #define Host_device_disconnection_action()         Led0_off()
00183    #define Host_device_connection_action()            Led0_on()
00184    #define Host_sof_action()                          host_sof_action()
00185    #define Host_suspend_action()
00186    #define Host_hwup_action()
00187    #define Host_device_not_supported_action()
00188    #define Host_device_class_not_supported_action()   Led0_off()
00189    #define Host_device_supported_action()
00190    #define Host_device_error_action()
00192 
00193 extern void host_sof_action(void);
00195 
00196 
00197 // _________________ DEVICE MODE CONFIGURATION __________________________
00198 
00202 
00203 #define USB_DEVICE_SN_USE          ENABLE             // Must be enable to see all disks under Windows in USB device MS mode
00204 #define USE_DEVICE_SN_UNIQUE       DISABLE            // ignore if USB_DEVICE_SN_USE = DISABLE
00205 
00206 #define NB_ENDPOINTS          2  // number of endpoints in the application
00207 #define EP_MS_IN              1
00208 #define EP_MS_OUT             2
00209 
00210 #define Usb_unicode(a)         ((U16)(a))
00211 #define USB_REMOTE_WAKEUP_FEATURE   DISABLE
00212 
00213 
00217    // write here the action to associate to each USB event
00218    // be carefull not to waste time in order not disturbing the functions
00219 #define Usb_sof_action()
00220 #define Usb_wake_up_action()
00221 #define Usb_resume_action()
00222 #define Usb_suspend_action()              nf_usb_stop()
00223 #define Usb_reset_action()
00224 #define Usb_vbus_on_action()
00225 #define Usb_vbus_off_action()             nf_usb_stop()
00226 #define Usb_set_configuration_action()
00227 
00228 extern void nf_usb_stop(void);
00229 
00231 
00233 
00237    // write here the action to associate to each SCSI commands
00238    // be carefull not to waste time in order not disturbing the functions
00239 #include "lib_board/avr_ms_board/avr_ms_board_drv.h"
00240 #define Scsi_start_read_action()    Led_ms_read_on()
00241 #define Scsi_stop_read_action()     Led_ms_read_off()
00242 #define Scsi_start_write_action()   Led_ms_write_on()
00243 #define Scsi_stop_write_action()    Led_ms_write_off()
00245 
00247 
00248 #endif // _CONF_USB_H_

Generated on Fri Oct 31 14:31:23 2008 for ATMEL by  doxygen 1.5.3