beautypg.com

Maxim Integrated 73S12xxF Software User Manual

Page 46

background image

73S12xxF Software User Guide

UG_12xxF_016

46

Rev. 1.50

#define SELF_POWERED BIT6
#define REMOTE_WAKEUP BIT5
#define MAXPOWER 50

// 100 mA, if bus-powered.

#define NUMBER_LANGIDS 1

// Change as needed.


#ifdef DFU
#define NUMBER_STRINGS 4

// Change as needed.

#else
#define NUMBER_STRINGS 3

struct USB_LangID_t
{
Uc

Length;

// (NUMBER_LANGIDS * 2) + 2.

Uc

DescriptorType;

// Always STRING_DESCRIPTOR = 3.

Ui

LangID [ NUMBER_LANGIDS ];

// Array of LangID codes.

};

#define MAX_STRING_LEN 80

// Change and duplicate as needed.


struct USB_String_t
{
Uc

Length;

// Real STRING_LEN + 2.

Uc

DescriptorType;

// Always STRING_DESCRIPTOR = 3.

Uc

String[ MAX_STRING_LEN ]; // UNICODE encoded string.

};
//Pointers to strings of a language are grouped together.

struct USB_Strings_t
{
U08

Number_Of_Strings;

// Number of String descriptors per language.

// Array of pointers to UNICODE encoded STRING descriptors.

struct USB_String_t code *Strings[ NUMBER_STRINGS * NUMBER_LANGIDS ];

};

// Define for any selection parameter below.
#define NONE 0x00000000L

// Defines for Voltage Support.
#define VOLTS5_0

0x01

#define VOLTS3_0

0x02

#define VOLTS1_8

0x04


// Defines for Protocols supported.
#define PROTOCOL_T_0

0x00000001L

#define PROTOCOL_T_1

0x00000002L


// Defines for Clock rates.
#define KHZ3600

3600L

#define KHZ4000

4000L

#define KHZ5050

5050L

#define KHZ6000

6000L

#define KHZ8000

8000L

#define KHZ9600

9600L

#define KHZ12000

12000L


// Defines for ICC bps.