Maxim Integrated 73S12xxF Software User Manual
Page 46
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.