00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
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_hub.h"
00045 #include "modules/usb/usb_commun_hid.h"
00046 #include "modules/usb/usb_commun_ms.h"
00047 #include "modules/usb/usb_commun_cdc.h"
00048
00052
00053
00054
00055
00060
00064 #define USB_HOST_FEATURE ENABLED
00065
00069 #define USB_DEVICE_FEATURE ENABLED
00070
00072
00073
00074
00077
00082 #ifndef USE_USB_PADS_REGULATOR
00083 #define USE_USB_PADS_REGULATOR ENABLE // Possible values ENABLE or DISABLE
00084 #endif
00086
00087
00088
00092
00101 #define VID_PID_TABLE {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
00102 ,0x0123, 3, 0x2000, 0x2100, 0x1258}
00103
00114 #define CLASS_SUBCLASS_PROTOCOL {\
00115 0x00, 0x00, 0x00,\
00116 0x00,0x55,0xAA}
00117
00119 #define SIZEOF_DATA_STAGE 250
00120
00122 #define DEVICE_BASE_ADDRESS 0x05
00123
00125 #define MAX_EP_PER_INTERFACE 3
00126
00128 #define MAX_INTERFACE_FOR_DEVICE 3
00129
00131 #define MAX_DEVICE_IN_USB_TREE 1
00132
00133 #define SAVE_INTERRUPT_PIPE_FOR_DMS_INTERFACE ENABLE
00134
00136 #if (MAX_DEVICE_IN_USB_TREE>1)
00137 #define USB_HUB_SUPPORT ENABLE
00138 #define USB_MAX_HUB_NUMBER 4
00139 #define HUB_MAX_NB_PORT 4
00140 #else
00141 #define USB_HUB_SUPPORT DISABLE
00142 #endif
00143
00147 #define HOST_STRICT_VID_PID_TABLE DISABLE
00148
00150 #define HOST_AUTO_CFG_ENDPOINT ENABLE
00151
00153 #define HOST_CONTINUOUS_SOF_INTERRUPT DISABLE
00154
00156 #define HOST_ERROR_RESTART ENABLE
00157
00159 #define USB_HOST_PIPE_INTERRUPT_TRANSFER ENABLE
00160
00162 #define ID_PIN_CHANGE_GENERATE_RESET ENABLE
00163
00165 #define TIMEOUT_DELAY_ENABLE ENABLE
00166
00168 #define TIMEOUT_DELAY 1
00169
00171 #define NAK_TIMEOUT_ENABLE ENABLE
00172
00174 #define NAK_SEND_TIMEOUT 0x0010
00175
00177 #define NAK_RECEIVE_TIMEOUT 0x0010
00178
00180 #define SOFTWARE_VBUS_CTRL ENABLE
00181
00182 #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00184 #define User_configure_endpoint()
00185 #endif
00186
00190
00191
00192 #define Usb_id_transition_action()
00193 #define Host_device_disconnection_action()
00194 #define Host_device_connection_action()
00195 #define Host_sof_action()
00196 #define Host_suspend_action()
00197 #define Host_hwup_action()
00198 #define Host_device_not_supported_action()
00199 #define Host_device_class_not_supported_action()
00200 #define Host_device_supported_action()
00201 #define Host_device_error_action()
00203
00204
00206
00207
00208
00209
00213
00214 #define USB_DEVICE_SN_USE DISABLE // DISABLE
00215 #define USE_DEVICE_SN_UNIQUE DISABLE // ignore if USB_DEVICE_SN_USE = DISABLE
00216
00217 #define NB_ENDPOINTS 4 // number of endpoints in the application including control endpoint
00218 #define EP_TEMP_IN 1
00219 #define EP_TEMP_OUT 2
00220 #define EP_TEMP_INT_IN 3
00221
00223 #define USB_LOW_SPEED_DEVICE DISABLE
00224
00225 #define USB_REMOTE_WAKEUP_FEATURE DISABLE
00226
00230
00231
00232 #define Usb_sof_action() sof_action();
00233 #define Usb_wake_up_action()
00234 #define Usb_resume_action()
00235 #define Usb_suspend_action()
00236 #define Usb_reset_action()
00237 #define Usb_vbus_on_action()
00238 #define Usb_vbus_off_action()
00239 #define Usb_set_configuration_action()
00241
00242 extern void sof_action(void);
00244
00246
00247 #endif // _CONF_USB_H_