beautypg.com

Maxim Integrated 73S12xxF Software User Manual

Page 45

background image


UG_12xxF_016

73S12xxF Software User Guide

Rev. 1.50

45

unsigned int

idProduct;

// Always 0x0500

unsigned int

Device;

// 0x4600;

unsigned char iManufacturer;

// 0, TBD;

unsigned char iProduct;

// 0, TBD;

unsigned char iSerialNum;

// 0, TBD;

unsigned char NumConfigs;

// 1, TBD;

};

struct USB_Interface_t
{
unsigned char Length;

// Always 9.

unsigned char DescriptorType;

// Always

INTERFACE_DESCRIPTOR = 4.

unsigned char InterfaceNumber;

// 0.

unsigned char AlternateSetting;

// 0.

unsigned char NumEndPoints;

// Always NUMBER_OF_EPS - 1 = 3;

unsigned char InterfaceClass;

// 0x0B.

unsigned char InterfaceSubClass;

// 0.

unsigned char InterfaceProtocol;

// 0.

unsigned char iInterface;

// 0.

};

#define CLASS 0x0B

//Always 0B for Smart Card Reader

#define SUBCLASS 0

struct USB_EP_t
{
unsigned char Length;

// Always 7.

unsigned char DescriptorType;

// Always EP_DESCRIPTOR = 5.

unsigned char EndpointAddress;

// (IN or OUT) plus (1 or 2).

unsigned char Attributes;

// BULK or INTERRUPT.

unsigned int

MaxPacketSize;

// 16, 32 or 64.

unsigned char Interval;

// 0 for BULK. 10 for INTERRUPT.

};

#define IN

0x80

#define OUT

0x00

#define BULK

0x02

#define INTERRUPT

0x03

#define INTERVAL 10

// Interrupt EndPoint interval in frames (about 10 msec).


struct USB_Config_t
{
unsigned char Length;

// Always 9.

unsigned char DescriptorType;

// Always CONFIGURATION_DESCRIPTOR = 2.

unsigned char TotalLengthL;

// CONFIG_DESC_TOTAL_SIZE = 93

// (One Interface, three Endpoints).

unsigned char TotalLengthH;

// Always 0.

unsigned char NumInterfaces;

// NUMBER_OF_INTERFACES = 1.

unsigned char ConfigurationValue;

// Always 1.

unsigned char iConfiguration;

// Application specific.

unsigned char Attributes;

// Application specific.

unsigned char MaxPower;

// Application specific.

struct USB_Interface_t I;
};

#define ATTRIBUTES BIT7 | SELF_POWERED

// application specific, self-powered