switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String:\r
if (!(DescriptorNumber))\r
{\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = LanguageString.Header.Size;\r
}\r
else\r
{\r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = ProductString.Header.Size;\r
}\r
\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = &DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = &ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
if (!(DescriptorNumber))\r
{\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = &LanguageString;\r
Size = LanguageString.Header.Size;\r
}\r
else\r
{\r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = &ProductString;\r
Size = ProductString.Header.Size;\r
}\r
\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String:\r
if (!(DescriptorNumber))\r
{\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = LanguageString.Header.Size;\r
}\r
else\r
{\r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = ProductString.Header.Size;\r
}\r
\r
break;\r
case DTYPE_HID:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.HIDDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor.HIDDescriptor;\r
Size = sizeof(USB_Descriptor_HID_t);\r
break;\r
case DTYPE_Report:\r
- Address = DESCRIPTOR_ADDRESS(HIDReport);\r
+ Address = (void*)&HIDReport;\r
Size = sizeof(HIDReport);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00:\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
const uint8_t DescriptorType = (wValue >> 8);\r
const uint8_t DescriptorNumber = (wValue & 0xFF);\r
\r
- void* Address = NULL;\r
- uint16_t Size = NO_DESCRIPTOR;\r
+ void* Address = NULL;\r
+ uint16_t Size = NO_DESCRIPTOR;\r
\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
\r
break;\r
case DTYPE_HID: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.GenericHID);\r
+ Address = (void*)&ConfigurationDescriptor.GenericHID;\r
Size = sizeof(USB_Descriptor_HID_t);\r
break;\r
case DTYPE_Report: \r
- Address = DESCRIPTOR_ADDRESS(GenericReport);\r
+ Address = (void*)&GenericReport;\r
Size = sizeof(GenericReport);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
\r
break;\r
case DTYPE_HID: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.JoystickHID);\r
+ Address = (void*)&ConfigurationDescriptor.JoystickHID;\r
Size = sizeof(USB_Descriptor_HID_t);\r
break;\r
case DTYPE_Report: \r
- Address = DESCRIPTOR_ADDRESS(JoystickReport);\r
+ Address = (void*)&JoystickReport;\r
Size = sizeof(JoystickReport);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device: \r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
\r
break;\r
case DTYPE_HID: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.KeyboardHID);\r
+ Address = (void*)&ConfigurationDescriptor.KeyboardHID;\r
Size = sizeof(USB_Descriptor_HID_t);\r
break;\r
case DTYPE_Report: \r
- Address = DESCRIPTOR_ADDRESS(KeyboardReport);\r
+ Address = (void*)&KeyboardReport;\r
Size = sizeof(KeyboardReport);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device: \r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
case DTYPE_HID: \r
if (!(wIndex))\r
{\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.KeyboardHID);\r
+ Address = (void*)&ConfigurationDescriptor.KeyboardHID;\r
Size = sizeof(USB_Descriptor_HID_t);\r
}\r
else\r
{\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.MouseHID);\r
+ Address = (void*)&ConfigurationDescriptor.MouseHID;\r
Size = sizeof(USB_Descriptor_HID_t); \r
}\r
break;\r
case DTYPE_Report: \r
if (!(wIndex))\r
{\r
- Address = DESCRIPTOR_ADDRESS(KeyboardReport);\r
+ Address = (void*)&KeyboardReport;\r
Size = sizeof(KeyboardReport);\r
}\r
else\r
{ \r
- Address = DESCRIPTOR_ADDRESS(MouseReport);\r
+ Address = (void*)&MouseReport;\r
Size = sizeof(MouseReport);\r
}\r
\r
switch (DescriptorType)\r
{\r
case DTYPE_Device: \r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device: \r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
case 0x03: \r
- Address = DESCRIPTOR_ADDRESS(SerialNumberString);\r
+ Address = (void*)&SerialNumberString;\r
Size = pgm_read_byte(&SerialNumberString.Header.Size);\r
break;\r
}\r
/* Reset the data endpoint banks */\r
Endpoint_ResetFIFO(MASS_STORAGE_OUT_EPNUM);\r
Endpoint_ResetFIFO(MASS_STORAGE_IN_EPNUM);\r
+ \r
+ Endpoint_SelectEndpoint(MASS_STORAGE_OUT_EPNUM);\r
+ Endpoint_ClearStall();\r
+ Endpoint_SelectEndpoint(MASS_STORAGE_IN_EPNUM);\r
+ Endpoint_ClearStall();\r
\r
/* Clear the abort transfer flag */\r
IsMassStoreReset = false;\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String:\r
switch (DescriptorNumber)\r
{\r
case 0x00:\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01:\r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02:\r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
\r
break;\r
case DTYPE_HID: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.MouseHID);\r
+ Address = (void*)&ConfigurationDescriptor.MouseHID;\r
Size = sizeof(USB_Descriptor_HID_t);\r
break;\r
case DTYPE_Report: \r
- Address = DESCRIPTOR_ADDRESS(MouseReport);\r
+ Address = (void*)&MouseReport;\r
Size = sizeof(MouseReport);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String:\r
switch (DescriptorNumber)\r
{\r
case 0x00:\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01:\r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02:\r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device: \r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration: \r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String: \r
switch (DescriptorNumber)\r
{\r
case 0x00: \r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01: \r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02: \r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
* interface is skipped\r
* - Clarified the size of library tokens which accept integer values in the Compile Time Tokens page, values now use the smallest datatype\r
* inside the library that is able to hold their defined value to save space\r
+ * - Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code\r
*\r
*\r
* \section Sec_ChangeLog090510 Version 090510\r
*/\r
#define ENDPOINT_USAGE_IMPLICIT_FEEDBACK (2 << 4)\r
\r
- /** Gives a void pointer to the specified descriptor (of any type). */\r
- #define DESCRIPTOR_ADDRESS(Descriptor) ((void*)&Descriptor)\r
-\r
/* Events: */\r
#if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)\r
/** This module raises the Device Error event while in device mode, if the \ref USB_GetDescriptor()\r
* otherwise zero for standard descriptors, or as defined in a class-specific\r
* standards.\r
* \param DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to\r
- * the location of the descriptor, found by the \ref DESCRIPTOR_ADDRESS() macro.\r
+ * the address of the descriptor.\r
*\r
* \note By default, the library expects all descriptors to be located in flash memory via the PROGMEM attribute.\r
* If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to\r
* projects using interrupts on non-control endpoints should switch to polling. For control interrupts, the library can\r
* manage the control endpoint via interrupts automatically by compiling with the INTERRUPT_CONTROL_ENDPOINT token defined.\r
* - The Endpoint_ClearEndpointInterrupt() macro has been deleted and references to it should be removed.\r
+ * - The DESCRIPTOR_ADDRESS() macro has been removed. User applications should use normal casts to obtain a descriptor's memory\r
+ * address.\r
*\r
* <b>Device Mode</b>\r
* - Support for non-control data pipe interrupts has been dropped due to many issues in the implementation. All existing\r
switch (DescriptorType)\r
{\r
case DTYPE_Device:\r
- Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);\r
+ Address = (void*)&DeviceDescriptor;\r
Size = sizeof(USB_Descriptor_Device_t);\r
break;\r
case DTYPE_Configuration:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);\r
+ Address = (void*)&ConfigurationDescriptor;\r
Size = sizeof(USB_Descriptor_Configuration_t);\r
break;\r
case DTYPE_String:\r
switch (DescriptorNumber)\r
{\r
case 0x00:\r
- Address = DESCRIPTOR_ADDRESS(LanguageString);\r
+ Address = (void*)&LanguageString;\r
Size = pgm_read_byte(&LanguageString.Header.Size);\r
break;\r
case 0x01:\r
- Address = DESCRIPTOR_ADDRESS(ManufacturerString);\r
+ Address = (void*)&ManufacturerString;\r
Size = pgm_read_byte(&ManufacturerString.Header.Size);\r
break;\r
case 0x02:\r
- Address = DESCRIPTOR_ADDRESS(ProductString);\r
+ Address = (void*)&ProductString;\r
Size = pgm_read_byte(&ProductString.Header.Size);\r
break;\r
}\r
\r
break;\r
case DTYPE_HID:\r
- Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor.KeyboardHID);\r
+ Address = (void*)&ConfigurationDescriptor.KeyboardHID;\r
Size = sizeof(USB_Descriptor_HID_t);\r
break;\r
case DTYPE_Report:\r
- Address = DESCRIPTOR_ADDRESS(KeyboardReport);\r
+ Address = (void*)&KeyboardReport;\r
Size = sizeof(KeyboardReport);\r
break;\r
}\r