?? descriptors.h
字號:
/*----------------------------------------------------------------------------------
*
* COPYRIGHT (c) 2001 by Singing Electrons, Inc. All rights reserved.
*
* This document contains confidential proprietary trade secrets of Singing Electrons, Inc.
* No distribution of the contents of this file is allowed except by written permission by an officer
* of Singing Electrons, Inc.
*
* Module Name : C:\se\adi\audioclass\vdsp\descriptors.h
*
* Description : Contains descriptors for use with the USB device.
*
*
* Revision History : At bottom of the file.
*
*---------------------------------------------------------------------------------*/
//
// String Descriptors
//
enum {
STRING_DEVICE = 1,
STRING_PRODUCT,
STRING_SERIALNO,
TOTAL_STRING_DESCRIPTORS
};
UCHAR gTheLangIDArray[] =
{
0x04,//bLength
USB_STRING_DESCRIPTOR, //bDescriptorType
0x09, 0x04 // 0x409 - English!
};
UCHAR *gTheStringDescriptors[] =
{
"Analog Devices",
"BlackFin Mass Storage Class Reference Implementation",
"123456789012"
};
#define OFFSET_VENDOR_ID 0x08
#define OFFSET_PRODUCT_ID 0x0A
#define OFFSET_RELEASE 0x0C
#define OFFSET_REPORT_DESCRIPTOR_LENGTH 25
//
// The Device Descriptor
//
UCHAR gTheDeviceDescriptor[] =
{
0x12, //Length
USB_DEVICE_DESCRIPTOR, //bDescriptorType
0x00, 0x01, //bcdUSB - USB Spec 1.0
0x00, //bDevice Class
0x00, //bDeviceSubClass
0x00, //bDeviceProtocol
CONTROL_PIPE_PACKET_SIZE, //bMaxPacketSize0
0x00, 0x00, //LOBYTE(VENDOR_ID), HIBYTE(VENDOR_ID),//idvendor
0x00, 0x00, //LOBYTE(PRODUCT_ID), HIBYTE(PRODUCT_ID),//idProduct
0x00, 0x00, //LOBYTE(DEVICE_RELEASE), HIBYTE(DEVICE_RELEASE),//bcdDevice
STRING_DEVICE,//iManufacturer
STRING_PRODUCT,//iProduct
STRING_SERIALNO,//iSerialNumber
1//bNumConfigurations
};
#define CONFIG_DESCRIPTOR_LEN 0x09
#define INTERFACE_DESCRIPTOR_LEN 0x09
#define ENDPOINT_DESCRIPTOR_LEN 0x07
#define TOTAL_CONFIG_DESCRIPTOR_LEN \
(CONFIG_DESCRIPTOR_LEN + INTERFACE_DESCRIPTOR_LEN + ENDPOINT_DESCRIPTOR_LEN + ENDPOINT_DESCRIPTOR_LEN)
//
// The Configuration Descriptor
//
UCHAR gTheConfigDescriptor[] =
{
CONFIG_DESCRIPTOR_LEN, // Configuration Descriptor Length
CONFIG_DESCR, // Descriptor Type
LOBYTE(TOTAL_CONFIG_DESCRIPTOR_LEN), // Everything!
HIBYTE(TOTAL_CONFIG_DESCRIPTOR_LEN), // Everything!
0x01, // # of interfaces
0x01, // configurationValue
0x00, // Configuration String
0x40, // Attributes: Self power and RWU
0x00, // max Power
// Interface descriptor - MassStorage BulkOnly
INTERFACE_DESCRIPTOR_LEN, // length
USB_INTERFACE_DESCRIPTOR, // descriptorType
INTERFACE_FOR_BULKONLY, // interfaceNumber
ALTSETTING_FOR_BULKONLY, // alternateSetting
2, // numEndpoints
USBMS_CLASS, // interfaceClass
USBMS_SUBCLASS_SCSI_TRANSPARENT, // interfaceSubClass
USBMS_INTERFACE_PROTOCOL_BULKONLY, // interfaceProtocol
0, // interface string index
//The Bulk IN endpoint
ENDPOINT_DESCRIPTOR_LEN, // Endpoint Descriptor Length
USB_ENDPOINT_DESCRIPTOR, // Descriptor Type
USB_ENDPOINT_DIRECTION_IN (1) | EP_FOR_IN_TRANSFERS,// EP # and direction
EP_BULK, // Endpoint Type
LOBYTE (BULKEP_MAX_PACKET_SIZE), // Maximum packet size (LSB)
HIBYTE (BULKEP_MAX_PACKET_SIZE), // Maximum packet size (MSB)
0, // Polling Interval
//The Bulk OUT endpoint
ENDPOINT_DESCRIPTOR_LEN, // Endpoint Descriptor Length
USB_ENDPOINT_DESCRIPTOR, // Descriptor Type
USB_ENDPOINT_DIRECTION_IN (0) | EP_FOR_OUT_TRANSFERS, // EP # and direction
EP_BULK, // Endpoint Type
LOBYTE (BULKEP_MAX_PACKET_SIZE), // Maximum packet size (LSB)
HIBYTE (BULKEP_MAX_PACKET_SIZE), // Maximum packet size (MSB)
0, // Polling Interval
};
/*----------------------------------------------------------------------------------
* $Log: descriptors.h,v $
* Revision 1.1 2003/03/03 18:13:45 Devendra
* First Rev, the device enumerates as Mass Storage Class
*
*
*---------------------------------------------------------------------------------*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -