/*
LUFA Library
- Copyright (C) Dean Camera, 2011.
+ Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
- .VendorID = CPU_TO_LE16(0x03EB),
- .ProductID = CPU_TO_LE16(0x2041),
- .ReleaseNumber = VERSION_BCD(00.02),
+ .VendorID = 0x03EB,
+ .ProductID = 0x2041,
+ .ReleaseNumber = VERSION_BCD(00.01),
.ManufacturerStrIndex = 0x01,
.ProductStrIndex = 0x02,
- .SerialNumStrIndex = USE_INTERNAL_SERIAL,
+ .SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
- .TotalConfigurationSize = CPU_TO_LE16(sizeof(USB_Descriptor_Configuration_t)),
+ .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 1,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
- .ConfigAttributes = (USB_CONFIG_ATTR_BUSPOWERED | USB_CONFIG_ATTR_SELFPOWERED),
+ .ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED),
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.CountryCode = 0x00,
.TotalReportDescriptors = 1,
.HIDReportType = HID_DTYPE_Report,
- .HIDReportLength = CPU_TO_LE16(sizeof(MouseReport))
+ .HIDReportLength = sizeof(MouseReport)
},
.HID_ReportINEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MOUSE_EPNUM),
+ .EndpointAddress = (ENDPOINT_DIR_IN | MOUSE_EPNUM),
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
- .EndpointSize = CPU_TO_LE16(MOUSE_EPSIZE),
+ .EndpointSize = MOUSE_EPSIZE,
.PollingIntervalMS = 0x01
}
};
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
- .UnicodeString = {CPU_TO_LE16('D'),
- CPU_TO_LE16('e'),
- CPU_TO_LE16('a'),
- CPU_TO_LE16('n'),
- CPU_TO_LE16(' '),
- CPU_TO_LE16('C'),
- CPU_TO_LE16('a'),
- CPU_TO_LE16('m'),
- CPU_TO_LE16('e'),
- CPU_TO_LE16('r'),
- CPU_TO_LE16('a')}
+ .UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
{
.Header = {.Size = USB_STRING_LEN(15), .Type = DTYPE_String},
- .UnicodeString = {CPU_TO_LE16('L'),
- CPU_TO_LE16('U'),
- CPU_TO_LE16('F'),
- CPU_TO_LE16('A'),
- CPU_TO_LE16(' '),
- CPU_TO_LE16('M'),
- CPU_TO_LE16('o'),
- CPU_TO_LE16('u'),
- CPU_TO_LE16('s'),
- CPU_TO_LE16('e'),
- CPU_TO_LE16(' '),
- CPU_TO_LE16('D'),
- CPU_TO_LE16('e'),
- CPU_TO_LE16('m'),
- CPU_TO_LE16('o')}
+ .UnicodeString = L"LUFA Mouse Demo"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
{
case 0x00:
Address = &LanguageString;
- Size = LanguageString.Header.Size;
+ Size = pgm_read_byte(&LanguageString.Header.Size);
break;
case 0x01:
Address = &ManufacturerString;
- Size = ManufacturerString.Header.Size;
+ Size = pgm_read_byte(&ManufacturerString.Header.Size);
break;
case 0x02:
Address = &ProductString;
- Size = ProductString.Header.Size;
+ Size = pgm_read_byte(&ProductString.Header.Size);
break;
}