aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/DualCDC
diff options
context:
space:
mode:
Diffstat (limited to 'Demos/Device/DualCDC')
-rw-r--r--Demos/Device/DualCDC/Descriptors.c304
-rw-r--r--Demos/Device/DualCDC/DualCDC.c22
2 files changed, 163 insertions, 163 deletions
diff --git a/Demos/Device/DualCDC/Descriptors.c b/Demos/Device/DualCDC/Descriptors.c
index 91ae50eea..e5d7ee26c 100644
--- a/Demos/Device/DualCDC/Descriptors.c
+++ b/Demos/Device/DualCDC/Descriptors.c
@@ -44,24 +44,24 @@
*/
USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
{
- Header: {Size: sizeof(USB_Descriptor_Device_t), Type: DTYPE_Device},
+ .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
- USBSpecification: VERSION_BCD(01.10),
- Class: 0xEF,
- SubClass: 0x02,
- Protocol: 0x01,
+ .USBSpecification = VERSION_BCD(01.10),
+ .Class = 0xEF,
+ .SubClass = 0x02,
+ .Protocol = 0x01,
- Endpoint0Size: 8,
+ .Endpoint0Size = 8,
- VendorID: 0x03EB,
- ProductID: 0x204E,
- ReleaseNumber: 0x0000,
+ .VendorID = 0x03EB,
+ .ProductID = 0x204E,
+ .ReleaseNumber = 0x0000,
- ManufacturerStrIndex: 0x01,
- ProductStrIndex: 0x02,
- SerialNumStrIndex: NO_DESCRIPTOR,
+ .ManufacturerStrIndex = 0x01,
+ .ProductStrIndex = 0x02,
+ .SerialNumStrIndex = NO_DESCRIPTOR,
- NumberOfConfigurations: 1
+ .NumberOfConfigurations = 1
};
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
@@ -71,235 +71,235 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
*/
USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
{
- Config:
+ .Config =
{
- Header: {Size: sizeof(USB_Descriptor_Configuration_Header_t), Type: DTYPE_Configuration},
+ .Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
- TotalConfigurationSize: sizeof(USB_Descriptor_Configuration_t),
- TotalInterfaces: 4,
+ .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
+ .TotalInterfaces = 4,
- ConfigurationNumber: 1,
- ConfigurationStrIndex: NO_DESCRIPTOR,
+ .ConfigurationNumber = 1,
+ .ConfigurationStrIndex = NO_DESCRIPTOR,
- ConfigAttributes: (USB_CONFIG_ATTR_BUSPOWERED | USB_CONFIG_ATTR_SELFPOWERED),
+ .ConfigAttributes = (USB_CONFIG_ATTR_BUSPOWERED | USB_CONFIG_ATTR_SELFPOWERED),
- MaxPowerConsumption: USB_CONFIG_POWER_MA(100)
+ .MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
- IAD1:
+ .IAD1 =
{
- Header: {Size: sizeof(USB_Descriptor_Interface_Association_t), Type: DTYPE_InterfaceAssociation},
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
- FirstInterfaceIndex: 0,
- TotalInterfaces: 2,
+ .FirstInterfaceIndex = 0,
+ .TotalInterfaces = 2,
- Class: 0x02,
- SubClass: 0x02,
- Protocol: 0x01,
+ .Class = 0x02,
+ .SubClass = 0x02,
+ .Protocol = 0x01,
- IADStrIndex: NO_DESCRIPTOR
+ .IADStrIndex = NO_DESCRIPTOR
},
- CDC1_CCI_Interface:
+ .CDC1_CCI_Interface =
{
- Header: {Size: sizeof(USB_Descriptor_Interface_t), Type: DTYPE_Interface},
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
- InterfaceNumber: 0,
- AlternateSetting: 0,
+ .InterfaceNumber = 0,
+ .AlternateSetting = 0,
- TotalEndpoints: 1,
+ .TotalEndpoints = 1,
- Class: 0x02,
- SubClass: 0x02,
- Protocol: 0x01,
+ .Class = 0x02,
+ .SubClass = 0x02,
+ .Protocol = 0x01,
- InterfaceStrIndex: NO_DESCRIPTOR
+ .InterfaceStrIndex = NO_DESCRIPTOR
},
- CDC1_Functional_IntHeader:
+ .CDC1_Functional_IntHeader =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), Type: 0x24},
- SubType: 0x00,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
+ .SubType = 0x00,
- Data: {0x01, 0x10}
+ .Data = {0x01, 0x10}
},
- CDC1_Functional_CallManagement:
+ .CDC1_Functional_CallManagement =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), Type: 0x24},
- SubType: 0x01,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
+ .SubType = 0x01,
- Data: {0x03, 0x01}
+ .Data = {0x03, 0x01}
},
- CDC1_Functional_AbstractControlManagement:
+ .CDC1_Functional_AbstractControlManagement =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(1)), Type: 0x24},
- SubType: 0x02,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(1)), .Type = 0x24},
+ .SubType = 0x02,
- Data: {0x06}
+ .Data = {0x06}
},
- CDC1_Functional_Union:
+ .CDC1_Functional_Union =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), Type: 0x24},
- SubType: 0x06,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
+ .SubType = 0x06,
- Data: {0x00, 0x01}
+ .Data = {0x00, 0x01}
},
- CDC1_ManagementEndpoint:
+ .CDC1_ManagementEndpoint =
{
- Header: {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- EndpointAddress: (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_NOTIFICATION_EPNUM),
- Attributes: EP_TYPE_INTERRUPT,
- EndpointSize: CDC_NOTIFICATION_EPSIZE,
- PollingIntervalMS: 0xFF
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_NOTIFICATION_EPNUM),
+ .Attributes = EP_TYPE_INTERRUPT,
+ .EndpointSize = CDC_NOTIFICATION_EPSIZE,
+ .PollingIntervalMS = 0xFF
},
- CDC1_DCI_Interface:
+ .CDC1_DCI_Interface =
{
- Header: {Size: sizeof(USB_Descriptor_Interface_t), Type: DTYPE_Interface},
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
- InterfaceNumber: 1,
- AlternateSetting: 0,
+ .InterfaceNumber = 1,
+ .AlternateSetting = 0,
- TotalEndpoints: 2,
+ .TotalEndpoints = 2,
- Class: 0x0A,
- SubClass: 0x00,
- Protocol: 0x00,
+ .Class = 0x0A,
+ .SubClass = 0x00,
+ .Protocol = 0x00,
- InterfaceStrIndex: NO_DESCRIPTOR
+ .InterfaceStrIndex = NO_DESCRIPTOR
},
- CDC1_DataOutEndpoint:
+ .CDC1_DataOutEndpoint =
{
- Header: {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- EndpointAddress: (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC1_RX_EPNUM),
- Attributes: EP_TYPE_BULK,
- EndpointSize: CDC_TXRX_EPSIZE,
- PollingIntervalMS: 0x00
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC1_RX_EPNUM),
+ .Attributes = EP_TYPE_BULK,
+ .EndpointSize = CDC_TXRX_EPSIZE,
+ .PollingIntervalMS = 0x00
},
- CDC1_DataInEndpoint:
+ .CDC1_DataInEndpoint =
{
- Header: {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- EndpointAddress: (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_TX_EPNUM),
- Attributes: EP_TYPE_BULK,
- EndpointSize: CDC_TXRX_EPSIZE,
- PollingIntervalMS: 0x00
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC1_TX_EPNUM),
+ .Attributes = EP_TYPE_BULK,
+ .EndpointSize = CDC_TXRX_EPSIZE,
+ .PollingIntervalMS = 0x00
},
- IAD2:
+ .IAD2 =
{
- Header: {Size: sizeof(USB_Descriptor_Interface_Association_t), Type: DTYPE_InterfaceAssociation},
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
- FirstInterfaceIndex: 2,
- TotalInterfaces: 2,
+ .FirstInterfaceIndex = 2,
+ .TotalInterfaces = 2,
- Class: 0x02,
- SubClass: 0x02,
- Protocol: 0x01,
+ .Class = 0x02,
+ .SubClass = 0x02,
+ .Protocol = 0x01,
- IADStrIndex: NO_DESCRIPTOR
+ .IADStrIndex = NO_DESCRIPTOR
},
- CDC2_CCI_Interface:
+ .CDC2_CCI_Interface =
{
- Header: {Size: sizeof(USB_Descriptor_Interface_t), Type: DTYPE_Interface},
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
- InterfaceNumber: 2,
- AlternateSetting: 0,
+ .InterfaceNumber = 2,
+ .AlternateSetting = 0,
- TotalEndpoints: 1,
+ .TotalEndpoints = 1,
- Class: 0x02,
- SubClass: 0x02,
- Protocol: 0x01,
+ .Class = 0x02,
+ .SubClass = 0x02,
+ .Protocol = 0x01,
- InterfaceStrIndex: NO_DESCRIPTOR
+ .InterfaceStrIndex = NO_DESCRIPTOR
},
- CDC2_Functional_IntHeader:
+ .CDC2_Functional_IntHeader =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), Type: 0x24},
- SubType: 0x00,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
+ .SubType = 0x00,
- Data: {0x01, 0x10}
+ .Data = {0x01, 0x10}
},
- CDC2_Functional_CallManagement:
+ .CDC2_Functional_CallManagement =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), Type: 0x24},
- SubType: 0x01,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
+ .SubType = 0x01,
- Data: {0x03, 0x03}
+ .Data = {0x03, 0x03}
},
- CDC2_Functional_AbstractControlManagement:
+ .CDC2_Functional_AbstractControlManagement =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(1)), Type: 0x24},
- SubType: 0x02,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(1)), .Type = 0x24},
+ .SubType = 0x02,
- Data: {0x06}
+ .Data = {0x06}
},
- CDC2_Functional_Union:
+ .CDC2_Functional_Union =
{
- Header: {Size: sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), Type: 0x24},
- SubType: 0x06,
+ .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
+ .SubType = 0x06,
- Data: {0x02, 0x03}
+ .Data = {0x02, 0x03}
},
- CDC2_ManagementEndpoint:
+ .CDC2_ManagementEndpoint =
{
- Header: {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- EndpointAddress: (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_NOTIFICATION_EPNUM),
- Attributes: EP_TYPE_INTERRUPT,
- EndpointSize: CDC_NOTIFICATION_EPSIZE,
- PollingIntervalMS: 0xFF
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_NOTIFICATION_EPNUM),
+ .Attributes = EP_TYPE_INTERRUPT,
+ .EndpointSize = CDC_NOTIFICATION_EPSIZE,
+ .PollingIntervalMS = 0xFF
},
- CDC2_DCI_Interface:
+ .CDC2_DCI_Interface =
{
- Header: {Size: sizeof(USB_Descriptor_Interface_t), Type: DTYPE_Interface},
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
- InterfaceNumber: 3,
- AlternateSetting: 0,
+ .InterfaceNumber = 3,
+ .AlternateSetting = 0,
- TotalEndpoints: 2,
+ .TotalEndpoints = 2,
- Class: 0x0A,
- SubClass: 0x00,
- Protocol: 0x00,
+ .Class = 0x0A,
+ .SubClass = 0x00,
+ .Protocol = 0x00,
- InterfaceStrIndex: NO_DESCRIPTOR
+ .InterfaceStrIndex = NO_DESCRIPTOR
},
- CDC2_DataOutEndpoint:
+ .CDC2_DataOutEndpoint =
{
- Header: {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- EndpointAddress: (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC2_RX_EPNUM),
- Attributes: EP_TYPE_BULK,
- EndpointSize: CDC_TXRX_EPSIZE,
- PollingIntervalMS: 0x00
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC2_RX_EPNUM),
+ .Attributes = EP_TYPE_BULK,
+ .EndpointSize = CDC_TXRX_EPSIZE,
+ .PollingIntervalMS = 0x00
},
- CDC2_DataInEndpoint:
+ .CDC2_DataInEndpoint =
{
- Header: {Size: sizeof(USB_Descriptor_Endpoint_t), Type: DTYPE_Endpoint},
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
- EndpointAddress: (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_TX_EPNUM),
- Attributes: EP_TYPE_BULK,
- EndpointSize: CDC_TXRX_EPSIZE,
- PollingIntervalMS: 0x00
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC2_TX_EPNUM),
+ .Attributes = EP_TYPE_BULK,
+ .EndpointSize = CDC_TXRX_EPSIZE,
+ .PollingIntervalMS = 0x00
}
};
@@ -309,9 +309,9 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
*/
USB_Descriptor_String_t PROGMEM LanguageString =
{
- Header: {Size: USB_STRING_LEN(1), Type: DTYPE_String},
+ .Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
- UnicodeString: {LANGUAGE_ID_ENG}
+ .UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
@@ -320,9 +320,9 @@ USB_Descriptor_String_t PROGMEM LanguageString =
*/
USB_Descriptor_String_t PROGMEM ManufacturerString =
{
- Header: {Size: USB_STRING_LEN(11), Type: DTYPE_String},
+ .Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
- UnicodeString: L"Dean Camera"
+ .UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
@@ -331,9 +331,9 @@ USB_Descriptor_String_t PROGMEM ManufacturerString =
*/
USB_Descriptor_String_t PROGMEM ProductString =
{
- Header: {Size: USB_STRING_LEN(13), Type: DTYPE_String},
+ .Header = {.Size = USB_STRING_LEN(13), .Type = DTYPE_String},
- UnicodeString: L"LUFA Dual CDC Demo"
+ .UnicodeString = L"LUFA Dual CDC Demo"
};
/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h
@@ -356,22 +356,22 @@ uint16_t USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** c
Address = DESCRIPTOR_ADDRESS(DeviceDescriptor);
Size = sizeof(USB_Descriptor_Device_t);
break;
- case DTYPE_Configuration:
+ case DTYPE_Configuration:
Address = DESCRIPTOR_ADDRESS(ConfigurationDescriptor);
Size = sizeof(USB_Descriptor_Configuration_t);
break;
- case DTYPE_String:
+ case DTYPE_String:
switch (DescriptorNumber)
{
- case 0x00:
+ case 0x00:
Address = DESCRIPTOR_ADDRESS(LanguageString);
Size = pgm_read_byte(&LanguageString.Header.Size);
break;
- case 0x01:
+ case 0x01:
Address = DESCRIPTOR_ADDRESS(ManufacturerString);
Size = pgm_read_byte(&ManufacturerString.Header.Size);
break;
- case 0x02:
+ case 0x02:
Address = DESCRIPTOR_ADDRESS(ProductString);
Size = pgm_read_byte(&ProductString.Header.Size);
break;
diff --git a/Demos/Device/DualCDC/DualCDC.c b/Demos/Device/DualCDC/DualCDC.c
index 56eebb305..69d26c488 100644
--- a/Demos/Device/DualCDC/DualCDC.c
+++ b/Demos/Device/DualCDC/DualCDC.c
@@ -39,9 +39,9 @@
/* Scheduler Task List */
TASK_LIST
{
- { Task: USB_USBTask , TaskStatus: TASK_STOP },
- { Task: CDC1_Task , TaskStatus: TASK_STOP },
- { Task: CDC2_Task , TaskStatus: TASK_STOP },
+ { .Task = USB_USBTask , .TaskStatus = TASK_STOP },
+ { .Task = CDC1_Task , .TaskStatus = TASK_STOP },
+ { .Task = CDC2_Task , .TaskStatus = TASK_STOP },
};
/* Globals: */
@@ -53,10 +53,10 @@ TASK_LIST
* It is possible to completely ignore these value or use other settings as the host is completely unaware of the physical
* serial link characteristics and instead sends and receives data in endpoint streams.
*/
-CDC_Line_Coding_t LineCoding1 = { BaudRateBPS: 9600,
- CharFormat: OneStopBit,
- ParityType: Parity_None,
- DataBits: 8 };
+CDC_Line_Coding_t LineCoding1 = { .BaudRateBPS = 9600,
+ .CharFormat = OneStopBit,
+ .ParityType = Parity_None,
+ .DataBits = 8 };
/** Contains the current baud rate and other settings of the second virtual serial port. While this demo does not use
* the physical USART and thus does not use these settings, they must still be retained and returned to the host
@@ -66,10 +66,10 @@ CDC_Line_Coding_t LineCoding1 = { BaudRateBPS: 9600,
* It is possible to completely ignore these value or use other settings as the host is completely unaware of the physical
* serial link characteristics and instead sends and receives data in endpoint streams.
*/
-CDC_Line_Coding_t LineCoding2 = { BaudRateBPS: 9600,
- CharFormat: OneStopBit,
- ParityType: Parity_None,
- DataBits: 8 };
+CDC_Line_Coding_t LineCoding2 = { .BaudRateBPS = 9600,
+ .CharFormat = OneStopBit,
+ .ParityType = Parity_None,
+ .DataBits = 8 };
/** String to print through the first virtual serial port when the joystick is pressed upwards. */
char JoystickUpString[] = "Joystick Up\r\n";