00001
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 #include "conf_usb.h"
00052
00053
00054 #if USB_DEVICE_FEATURE == ENABLED
00055
00056 #include "usb_drv.h"
00057 #include "usb_descriptors.h"
00058 #include "usb_standard_request.h"
00059 #include "usb_specific_request.h"
00060
00061
00062
00063
00064
00065
00066
00067 const S_usb_device_descriptor usb_dev_desc =
00068 {
00069 sizeof(S_usb_device_descriptor),
00070 DEVICE_DESCRIPTOR,
00071 Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION),
00072 DEVICE_CLASS,
00073 DEVICE_SUB_CLASS,
00074 DEVICE_PROTOCOL,
00075 EP_CONTROL_LENGTH,
00076 Usb_format_mcu_to_usb_data(16, VENDOR_ID),
00077 Usb_format_mcu_to_usb_data(16, PRODUCT_ID),
00078 Usb_format_mcu_to_usb_data(16, RELEASE_NUMBER),
00079 MAN_INDEX,
00080 PROD_INDEX,
00081 SN_INDEX,
00082 NB_CONFIGURATION
00083 };
00084
00085
00086
00087 const S_usb_user_configuration_descriptor usb_conf_desc =
00088 {
00089 {
00090 sizeof(S_usb_configuration_descriptor),
00091 CONFIGURATION_DESCRIPTOR,
00092 Usb_format_mcu_to_usb_data(16, sizeof(S_usb_user_configuration_descriptor)),
00093 NB_INTERFACE,
00094 CONF_NB,
00095 CONF_INDEX,
00096 CONF_ATTRIBUTES,
00097 MAX_POWER
00098 },
00099
00100 {
00101 sizeof(S_usb_interface_descriptor),
00102 INTERFACE_DESCRIPTOR,
00103 INTERFACE_NB_FC,
00104 ALTERNATE_FC,
00105 NB_ENDPOINT_FC,
00106 INTERFACE_CLASS_FC,
00107 INTERFACE_SUB_CLASS_FC,
00108 INTERFACE_PROTOCOL_FC,
00109 INTERFACE_INDEX_FC
00110 },
00111
00112 {
00113 sizeof(S_usb_endpoint_descriptor),
00114 ENDPOINT_DESCRIPTOR,
00115 ENDPOINT_NB_1,
00116 EP_ATTRIBUTES_1,
00117 Usb_format_mcu_to_usb_data(16, EP_SIZE_1),
00118 EP_INTERVAL_1
00119 },
00120
00121 {
00122 sizeof(S_usb_endpoint_descriptor),
00123 ENDPOINT_DESCRIPTOR,
00124 ENDPOINT_NB_2,
00125 EP_ATTRIBUTES_2,
00126 Usb_format_mcu_to_usb_data(16, EP_SIZE_2),
00127 EP_INTERVAL_2
00128 }
00129
00130 #if( EVK1101_CTRL_PANEL_PID==EVK1101_CTRL_PANEL_DEMO_HID_MS_PID )
00131 , { sizeof(S_usb_interface_descriptor)
00132 , INTERFACE_DESCRIPTOR
00133 , INTERFACE_NB_MS
00134 , ALTERNATE_MS
00135 , NB_ENDPOINT_MS
00136 , INTERFACE_CLASS_MS
00137 , INTERFACE_SUB_CLASS_MS
00138 , INTERFACE_PROTOCOL_MS
00139 , INTERFACE_INDEX_MS
00140 }
00141
00142 , { sizeof(S_usb_endpoint_descriptor)
00143 , ENDPOINT_DESCRIPTOR
00144 , ENDPOINT_NB_3
00145 , EP_ATTRIBUTES_3
00146 , Usb_format_mcu_to_usb_data(16, EP_SIZE_3)
00147 , EP_INTERVAL_3
00148 }
00149
00150 , { sizeof(S_usb_endpoint_descriptor)
00151 , ENDPOINT_DESCRIPTOR
00152 , ENDPOINT_NB_4
00153 , EP_ATTRIBUTES_4
00154 , Usb_format_mcu_to_usb_data(16, EP_SIZE_4)
00155 , EP_INTERVAL_4
00156 }
00157 #endif
00158 };
00159
00160
00161
00162 const S_usb_language_id usb_user_language_id =
00163 {
00164 sizeof(S_usb_language_id),
00165 STRING_DESCRIPTOR,
00166 Usb_format_mcu_to_usb_data(16, LANGUAGE_ID)
00167 };
00168
00169
00170
00171 const S_usb_manufacturer_string_descriptor usb_user_manufacturer_string_descriptor =
00172 {
00173 sizeof(S_usb_manufacturer_string_descriptor),
00174 STRING_DESCRIPTOR,
00175 USB_MANUFACTURER_NAME
00176 };
00177
00178
00179
00180 const S_usb_product_string_descriptor usb_user_product_string_descriptor =
00181 {
00182 sizeof(S_usb_product_string_descriptor),
00183 STRING_DESCRIPTOR,
00184 USB_PRODUCT_NAME
00185 };
00186
00187
00188
00189 const S_usb_serial_number usb_user_serial_number =
00190 {
00191 sizeof(S_usb_serial_number),
00192 STRING_DESCRIPTOR,
00193 USB_SERIAL_NUMBER
00194 };
00195
00196
00197 #endif // USB_DEVICE_FEATURE == ENABLED