.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | HID_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = HID_EPSIZE,\r
.PollingIntervalMS = 0x40\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC1_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC2_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | GENERIC_IN_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = GENERIC_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | JOYSTICK_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = JOYSTICK_EPSIZE,\r
.PollingIntervalMS = 0x02\r
} \r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | KEYBOARD_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = KEYBOARD_EPSIZE,\r
.PollingIntervalMS = 0x04\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | KEYBOARD_IN_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = HID_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MOUSE_IN_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = HID_EPSIZE,\r
.PollingIntervalMS = 0x02\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MASS_STORAGE_IN_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = MASS_STORAGE_IO_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | MASS_STORAGE_OUT_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = MASS_STORAGE_IO_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MOUSE_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = MOUSE_EPSIZE,\r
.PollingIntervalMS = 0x02\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC1_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC2_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | GENERIC_IN_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = GENERIC_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | GENERIC_OUT_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = GENERIC_EPSIZE,\r
.PollingIntervalMS = 0x02\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | JOYSTICK_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = JOYSTICK_EPSIZE,\r
.PollingIntervalMS = 0x02\r
} \r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | KEYBOARD_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = KEYBOARD_EPSIZE,\r
.PollingIntervalMS = 0x04\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | KEYBOARD_LEDS_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = KEYBOARD_EPSIZE,\r
.PollingIntervalMS = 0x04\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | KEYBOARD_IN_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = HID_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | KEYBOARD_OUT_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = HID_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MOUSE_IN_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = HID_EPSIZE,\r
.PollingIntervalMS = 0x02\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MASS_STORAGE_IN_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = MASS_STORAGE_IO_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | MASS_STORAGE_OUT_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = MASS_STORAGE_IO_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | MOUSE_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = MOUSE_EPSIZE,\r
.PollingIntervalMS = 0x02\r
} \r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0x02\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
\r
do\r
{\r
- if (USB_HostState != HOST_STATE_Configured)\r
- break;\r
-\r
if (MS_Host_TestUnitReady(&FlashDisk_MS_Interface, 0, &DeviceReady))\r
{\r
printf("Error waiting for device to be ready.\r\n");\r
break;\r
}\r
}\r
- while (DeviceReady == false);\r
+ while (!(DeviceReady));\r
\r
puts_P(PSTR("Retrieving Capacity... "));\r
\r
* \r
* <b>Changed:</b>\r
* - SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested\r
- * HID interface within the device, not all HID interfaces.\r
- * - Added new CDC_Device_Flush() command to the CDC Class device driver.\r
+ * HID interface within the device, not all HID interfaces\r
+ * - Added new CDC_Device_Flush() command to the device mode CDC Class driver\r
+ * - Added explicit attribute masks to the device mode demos' descriptors\r
*\r
* <b>Fixed:</b>\r
* - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_NOTIFICATION_EPSIZE,\r
.PollingIntervalMS = 0xFF\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
},\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),\r
- .Attributes = EP_TYPE_BULK,\r
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = CDC_TXRX_EPSIZE,\r
.PollingIntervalMS = 0x00\r
}\r
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},\r
\r
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | KEYBOARD_EPNUM),\r
- .Attributes = EP_TYPE_INTERRUPT,\r
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),\r
.EndpointSize = KEYBOARD_EPSIZE,\r
.PollingIntervalMS = 0x01\r
},\r