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 U8 usb_hid_report_descriptor_mouse[USB_HID_REPORT_DESC_MOUSE] =
00068 {
00069 0x05, 0x01,
00070 0x09, 0x02,
00071 0xA1, 0x01,
00072 0x09, 0x01,
00073 0xA1, 0x00,
00074
00075 0x05, 0x09,
00076 0x19, 0x01,
00077 0x29, 0x03,
00078 0x15, 0x00,
00079 0x25, 0x01,
00080 0x95, 0x03,
00081 0x75, 0x01,
00082 0x81, 0x02,
00083
00084 0x95, 0x01,
00085 0x75, 0x05,
00086 0x81, 0x01,
00087
00088 0x05, 0x01,
00089 0x09, 0x30,
00090 0x09, 0x31,
00091 0x09, 0x38,
00092 0x15, 0x81,
00093 0x25, 0x7F,
00094 0x75, 0x08,
00095 0x95, 0x03,
00096 0x81, 0x06,
00097
00098 0xC0,
00099 0xC0
00100 };
00101
00102
00103
00104
00105 const S_usb_device_descriptor usb_dev_desc =
00106 {
00107 sizeof(S_usb_device_descriptor),
00108 DEVICE_DESCRIPTOR,
00109 Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION),
00110 DEVICE_CLASS,
00111 DEVICE_SUB_CLASS,
00112 DEVICE_PROTOCOL,
00113 EP_CONTROL_LENGTH,
00114 Usb_format_mcu_to_usb_data(16, VENDOR_ID),
00115 Usb_format_mcu_to_usb_data(16, PRODUCT_ID),
00116 Usb_format_mcu_to_usb_data(16, RELEASE_NUMBER),
00117 MAN_INDEX,
00118 PROD_INDEX,
00119 SN_INDEX,
00120 NB_CONFIGURATION
00121 };
00122
00123
00124
00125 const S_usb_user_configuration_descriptor usb_conf_desc_fs =
00126 {
00127 {
00128 sizeof(S_usb_configuration_descriptor),
00129 CONFIGURATION_DESCRIPTOR,
00130 Usb_format_mcu_to_usb_data(16, sizeof(S_usb_user_configuration_descriptor)),
00131 NB_INTERFACE,
00132 CONF_NB,
00133 CONF_INDEX,
00134 CONF_ATTRIBUTES,
00135 MAX_POWER
00136 },
00137
00138 {
00139 sizeof(S_usb_interface_descriptor),
00140 INTERFACE_DESCRIPTOR,
00141 INTERFACE_NB_MOUSE,
00142 ALTERNATE_MOUSE,
00143 NB_ENDPOINT_MOUSE,
00144 INTERFACE_CLASS_MOUSE,
00145 INTERFACE_SUB_CLASS_MOUSE,
00146 INTERFACE_PROTOCOL_MOUSE,
00147 INTERFACE_INDEX_MOUSE
00148 },
00149
00150 {
00151 sizeof(S_usb_hid_descriptor),
00152 HID_DESCRIPTOR,
00153 Usb_format_mcu_to_usb_data(16, HID_VERSION_MOUSE),
00154 HID_COUNTRY_CODE_MOUSE,
00155 HID_NUM_DESCRIPTORS_MOUSE,
00156 HID_REPORT_DESCRIPTOR,
00157 Usb_format_mcu_to_usb_data(16, sizeof(usb_hid_report_descriptor_mouse))
00158 },
00159
00160 {
00161 sizeof(S_usb_endpoint_descriptor),
00162 ENDPOINT_DESCRIPTOR,
00163 ENDPOINT_NB_1,
00164 EP_ATTRIBUTES_1,
00165 Usb_format_mcu_to_usb_data(16, EP_SIZE_1_FS),
00166 EP_INTERVAL_1
00167 }
00168 };
00169
00170
00171 #if (USB_HIGH_SPEED_SUPPORT==ENABLED)
00172
00173
00174 const S_usb_user_configuration_descriptor usb_conf_desc_hs =
00175 {
00176 {
00177 sizeof(S_usb_configuration_descriptor),
00178 CONFIGURATION_DESCRIPTOR,
00179 Usb_format_mcu_to_usb_data(16, sizeof(S_usb_user_configuration_descriptor)),
00180 NB_INTERFACE,
00181 CONF_NB,
00182 CONF_INDEX,
00183 CONF_ATTRIBUTES,
00184 MAX_POWER
00185 },
00186
00187 {
00188 sizeof(S_usb_interface_descriptor),
00189 INTERFACE_DESCRIPTOR,
00190 INTERFACE_NB_MOUSE,
00191 ALTERNATE_MOUSE,
00192 NB_ENDPOINT_MOUSE,
00193 INTERFACE_CLASS_MOUSE,
00194 INTERFACE_SUB_CLASS_MOUSE,
00195 INTERFACE_PROTOCOL_MOUSE,
00196 INTERFACE_INDEX_MOUSE
00197 },
00198
00199 {
00200 sizeof(S_usb_hid_descriptor),
00201 HID_DESCRIPTOR,
00202 Usb_format_mcu_to_usb_data(16, HID_VERSION_MOUSE),
00203 HID_COUNTRY_CODE_MOUSE,
00204 HID_NUM_DESCRIPTORS_MOUSE,
00205 HID_REPORT_DESCRIPTOR,
00206 Usb_format_mcu_to_usb_data(16, sizeof(usb_hid_report_descriptor_mouse))
00207 },
00208
00209 {
00210 sizeof(S_usb_endpoint_descriptor),
00211 ENDPOINT_DESCRIPTOR,
00212 ENDPOINT_NB_1,
00213 EP_ATTRIBUTES_1,
00214 Usb_format_mcu_to_usb_data(16, EP_SIZE_1_HS),
00215 EP_INTERVAL_1
00216 }
00217 };
00218
00219
00220
00221 const S_usb_device_qualifier_descriptor usb_qualifier_desc =
00222 {
00223 sizeof(S_usb_device_qualifier_descriptor),
00224 DEVICE_QUALIFIER_DESCRIPTOR,
00225 Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION),
00226 DEVICE_CLASS,
00227 DEVICE_SUB_CLASS,
00228 DEVICE_PROTOCOL,
00229 EP_CONTROL_LENGTH,
00230 NB_CONFIGURATION,
00231 0
00232 };
00233 #endif
00234
00235
00236
00237 const S_usb_language_id usb_user_language_id =
00238 {
00239 sizeof(S_usb_language_id),
00240 STRING_DESCRIPTOR,
00241 Usb_format_mcu_to_usb_data(16, LANGUAGE_ID)
00242 };
00243
00244
00245
00246 const S_usb_manufacturer_string_descriptor usb_user_manufacturer_string_descriptor =
00247 {
00248 sizeof(S_usb_manufacturer_string_descriptor),
00249 STRING_DESCRIPTOR,
00250 USB_MANUFACTURER_NAME
00251 };
00252
00253
00254
00255 const S_usb_product_string_descriptor usb_user_product_string_descriptor =
00256 {
00257 sizeof(S_usb_product_string_descriptor),
00258 STRING_DESCRIPTOR,
00259 USB_PRODUCT_NAME
00260 };
00261
00262
00263
00264 const S_usb_serial_number usb_user_serial_number =
00265 {
00266 sizeof(S_usb_serial_number),
00267 STRING_DESCRIPTOR,
00268 USB_SERIAL_NUMBER
00269 };
00270
00271
00272 #endif // USB_DEVICE_FEATURE == ENABLED