Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander).
This commit is contained in:
parent
619b0b7b6b
commit
37b2130fb2
55 changed files with 1670 additions and 1669 deletions
|
|
@ -43,10 +43,10 @@
|
|||
* current encoding options, including baud rate, character format, parity mode and total number of
|
||||
* bits in each data chunk.
|
||||
*/
|
||||
CDC_Line_Coding_t LineCoding = { BaudRateBPS: 9600,
|
||||
CharFormat: OneStopBit,
|
||||
ParityType: Parity_None,
|
||||
DataBits: 8 };
|
||||
CDC_Line_Coding_t LineCoding = { .BaudRateBPS = 9600,
|
||||
.CharFormat = OneStopBit,
|
||||
.ParityType = Parity_None,
|
||||
.DataBits = 8 };
|
||||
|
||||
/** Current address counter. This stores the current address of the FLASH or EEPROM as set by the host,
|
||||
* and is used when reading or writing to the AVRs memory (either FLASH or EEPROM depending on the issued
|
||||
|
|
|
|||
|
|
@ -44,24 +44,24 @@
|
|||
*/
|
||||
USB_Descriptor_Device_t 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: 0x02,
|
||||
SubClass: 0x00,
|
||||
Protocol: 0x00,
|
||||
.USBSpecification = VERSION_BCD(01.10),
|
||||
.Class = 0x02,
|
||||
.SubClass = 0x00,
|
||||
.Protocol = 0x00,
|
||||
|
||||
Endpoint0Size: FIXED_CONTROL_ENDPOINT_SIZE,
|
||||
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
|
||||
|
||||
VendorID: 0x03EB,
|
||||
ProductID: 0x204A,
|
||||
ReleaseNumber: 0x0000,
|
||||
.VendorID = 0x03EB,
|
||||
.ProductID = 0x204A,
|
||||
.ReleaseNumber = 0x0000,
|
||||
|
||||
ManufacturerStrIndex: NO_DESCRIPTOR,
|
||||
ProductStrIndex: 0x01,
|
||||
SerialNumStrIndex: NO_DESCRIPTOR,
|
||||
.ManufacturerStrIndex = NO_DESCRIPTOR,
|
||||
.ProductStrIndex = 0x01,
|
||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
||||
|
||||
NumberOfConfigurations: 1
|
||||
.NumberOfConfigurations = 1
|
||||
};
|
||||
|
||||
/** Configuration descriptor structure. This descriptor, located in SRAM memory, describes the usage
|
||||
|
|
@ -71,113 +71,113 @@ USB_Descriptor_Device_t DeviceDescriptor =
|
|||
*/
|
||||
USB_Descriptor_Configuration_t 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: 2,
|
||||
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
|
||||
.TotalInterfaces = 2,
|
||||
|
||||
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)
|
||||
},
|
||||
|
||||
CCI_Interface:
|
||||
.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
|
||||
},
|
||||
|
||||
CDC_Functional_IntHeader:
|
||||
.CDC_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: {0x10, 0x01}
|
||||
.Data = {0x10, 0x01}
|
||||
},
|
||||
|
||||
CDC_Functional_CallManagement:
|
||||
.CDC_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}
|
||||
},
|
||||
|
||||
CDC_Functional_AbstractControlManagement:
|
||||
.CDC_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}
|
||||
},
|
||||
|
||||
CDC_Functional_Union:
|
||||
.CDC_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}
|
||||
},
|
||||
|
||||
ManagementEndpoint:
|
||||
.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 | CDC_NOTIFICATION_EPNUM),
|
||||
Attributes: EP_TYPE_INTERRUPT,
|
||||
EndpointSize: CDC_NOTIFICATION_EPSIZE,
|
||||
PollingIntervalMS: 0x02
|
||||
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),
|
||||
.Attributes = EP_TYPE_INTERRUPT,
|
||||
.EndpointSize = CDC_NOTIFICATION_EPSIZE,
|
||||
.PollingIntervalMS = 0x02
|
||||
},
|
||||
|
||||
DCI_Interface:
|
||||
.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
|
||||
},
|
||||
|
||||
DataOutEndpoint:
|
||||
.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 | CDC_RX_EPNUM),
|
||||
Attributes: EP_TYPE_BULK,
|
||||
EndpointSize: CDC_TXRX_EPSIZE,
|
||||
PollingIntervalMS: 0x00
|
||||
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),
|
||||
.Attributes = EP_TYPE_BULK,
|
||||
.EndpointSize = CDC_TXRX_EPSIZE,
|
||||
.PollingIntervalMS = 0x00
|
||||
},
|
||||
|
||||
DataInEndpoint:
|
||||
.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 | CDC_TX_EPNUM),
|
||||
Attributes: EP_TYPE_BULK,
|
||||
EndpointSize: CDC_TXRX_EPSIZE,
|
||||
PollingIntervalMS: 0x00
|
||||
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),
|
||||
.Attributes = EP_TYPE_BULK,
|
||||
.EndpointSize = CDC_TXRX_EPSIZE,
|
||||
.PollingIntervalMS = 0x00
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -187,9 +187,9 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
|
|||
*/
|
||||
USB_Descriptor_String_t 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}
|
||||
};
|
||||
|
||||
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
|
||||
|
|
@ -198,9 +198,9 @@ USB_Descriptor_String_t LanguageString =
|
|||
*/
|
||||
USB_Descriptor_String_t ProductString =
|
||||
{
|
||||
Header: {Size: USB_STRING_LEN(15), Type: DTYPE_String},
|
||||
.Header = {.Size = USB_STRING_LEN(15), .Type = DTYPE_String},
|
||||
|
||||
UnicodeString: L"AVR CDC Bootloader"
|
||||
.UnicodeString = L"AVR CDC Bootloader"
|
||||
};
|
||||
|
||||
/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
{
|
||||
uint16_t Words[2];
|
||||
uint32_t Long;
|
||||
} CurrFlashAddress = {Words: {StartAddr, Flash64KBPage}};
|
||||
} CurrFlashAddress = {.Words = {StartAddr, Flash64KBPage}};
|
||||
|
||||
uint32_t CurrFlashPageStartAddress = CurrFlashAddress.Long;
|
||||
uint8_t WordsInFlashPage = 0;
|
||||
|
|
@ -336,7 +336,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
{
|
||||
uint16_t Words[2];
|
||||
uint32_t Long;
|
||||
} CurrFlashAddress = {Words: {StartAddr, Flash64KBPage}};
|
||||
} CurrFlashAddress = {.Words = {StartAddr, Flash64KBPage}};
|
||||
|
||||
while (WordsRemaining--)
|
||||
{
|
||||
|
|
@ -531,8 +531,8 @@ static void LoadStartEndAddresses(void)
|
|||
{
|
||||
uint8_t Bytes[2];
|
||||
uint16_t Word;
|
||||
} Address[2] = {{Bytes: {SentCommand.Data[2], SentCommand.Data[1]}},
|
||||
{Bytes: {SentCommand.Data[4], SentCommand.Data[3]}}};
|
||||
} Address[2] = {{.Bytes = {SentCommand.Data[2], SentCommand.Data[1]}},
|
||||
{.Bytes = {SentCommand.Data[4], SentCommand.Data[3]}}};
|
||||
|
||||
/* Load in the start and ending read addresses from the sent data packet */
|
||||
StartAddr = Address[0].Word;
|
||||
|
|
@ -557,7 +557,7 @@ static void ProcessMemProgCommand(void)
|
|||
{
|
||||
uint16_t Words[2];
|
||||
uint32_t Long;
|
||||
} CurrFlashAddress = {Words: {StartAddr, Flash64KBPage}};
|
||||
} CurrFlashAddress = {.Words = {StartAddr, Flash64KBPage}};
|
||||
|
||||
/* Erase the current page's temp buffer */
|
||||
boot_page_erase(CurrFlashAddress.Long);
|
||||
|
|
@ -639,7 +639,7 @@ static void ProcessWriteCommand(void)
|
|||
{
|
||||
uint8_t Bytes[2];
|
||||
AppPtr_t FuncPtr;
|
||||
} Address = {Bytes: {SentCommand.Data[4], SentCommand.Data[3]}};
|
||||
} Address = {.Bytes = {SentCommand.Data[4], SentCommand.Data[3]}};
|
||||
|
||||
AppStartPtr = Address.FuncPtr;
|
||||
|
||||
|
|
|
|||
|
|
@ -44,24 +44,24 @@
|
|||
*/
|
||||
USB_Descriptor_Device_t 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: 0x00,
|
||||
SubClass: 0x00,
|
||||
Protocol: 0x00,
|
||||
.USBSpecification = VERSION_BCD(01.10),
|
||||
.Class = 0x00,
|
||||
.SubClass = 0x00,
|
||||
.Protocol = 0x00,
|
||||
|
||||
Endpoint0Size: FIXED_CONTROL_ENDPOINT_SIZE,
|
||||
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
|
||||
|
||||
VendorID: 0x03EB,
|
||||
ProductID: PRODUCT_ID_CODE,
|
||||
ReleaseNumber: 0x0000,
|
||||
.VendorID = 0x03EB,
|
||||
.ProductID = PRODUCT_ID_CODE,
|
||||
.ReleaseNumber = 0x0000,
|
||||
|
||||
ManufacturerStrIndex: NO_DESCRIPTOR,
|
||||
ProductStrIndex: 0x01,
|
||||
SerialNumStrIndex: NO_DESCRIPTOR,
|
||||
.ManufacturerStrIndex = NO_DESCRIPTOR,
|
||||
.ProductStrIndex = 0x01,
|
||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
||||
|
||||
NumberOfConfigurations: 1
|
||||
.NumberOfConfigurations = 1
|
||||
};
|
||||
|
||||
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
|
||||
|
|
@ -71,47 +71,47 @@ USB_Descriptor_Device_t DeviceDescriptor =
|
|||
*/
|
||||
USB_Descriptor_Configuration_t 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: 1,
|
||||
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
|
||||
.TotalInterfaces = 1,
|
||||
|
||||
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)
|
||||
},
|
||||
|
||||
DFUInterface:
|
||||
.DFUInterface =
|
||||
{
|
||||
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: 0,
|
||||
.TotalEndpoints = 0,
|
||||
|
||||
Class: 0xFE,
|
||||
SubClass: 0x01,
|
||||
Protocol: 0x02,
|
||||
.Class = 0xFE,
|
||||
.SubClass = 0x01,
|
||||
.Protocol = 0x02,
|
||||
|
||||
InterfaceStrIndex: NO_DESCRIPTOR
|
||||
.InterfaceStrIndex = NO_DESCRIPTOR
|
||||
},
|
||||
|
||||
DFUFunctional:
|
||||
.DFUFunctional =
|
||||
{
|
||||
Header: {Size: sizeof(USB_DFU_Functional_Descriptor_t), Type: DTYPE_DFUFunctional},
|
||||
.Header = {.Size = sizeof(USB_DFU_Functional_Descriptor_t), .Type = DTYPE_DFUFunctional},
|
||||
|
||||
Attributes: (ATTR_CAN_UPLOAD | ATTR_CAN_DOWNLOAD),
|
||||
.Attributes = (ATTR_CAN_UPLOAD | ATTR_CAN_DOWNLOAD),
|
||||
|
||||
DetatchTimeout: 0x0000,
|
||||
TransferSize: 0x0c00,
|
||||
.DetatchTimeout = 0x0000,
|
||||
.TransferSize = 0x0c00,
|
||||
|
||||
DFUSpecification: VERSION_BCD(01.01)
|
||||
.DFUSpecification = VERSION_BCD(01.01)
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -121,9 +121,9 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
|
|||
*/
|
||||
USB_Descriptor_String_t 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}
|
||||
};
|
||||
|
||||
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
|
||||
|
|
@ -132,9 +132,9 @@ USB_Descriptor_String_t LanguageString =
|
|||
*/
|
||||
USB_Descriptor_String_t ProductString =
|
||||
{
|
||||
Header: {Size: USB_STRING_LEN(18), Type: DTYPE_String},
|
||||
.Header = {.Size = USB_STRING_LEN(18), .Type = DTYPE_String},
|
||||
|
||||
UnicodeString: L"AVR DFU Bootloader"
|
||||
.UnicodeString = L"AVR DFU Bootloader"
|
||||
};
|
||||
|
||||
/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h
|
||||
|
|
@ -157,11 +157,11 @@ 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:
|
||||
if (!(DescriptorNumber))
|
||||
{
|
||||
Address = DESCRIPTOR_ADDRESS(LanguageString);
|
||||
|
|
|
|||
|
|
@ -64,24 +64,24 @@ USB_Descriptor_HIDReport_Datatype_t HIDReport[] =
|
|||
*/
|
||||
USB_Descriptor_Device_t 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: 0x00,
|
||||
SubClass: 0x00,
|
||||
Protocol: 0x00,
|
||||
.USBSpecification = VERSION_BCD(01.10),
|
||||
.Class = 0x00,
|
||||
.SubClass = 0x00,
|
||||
.Protocol = 0x00,
|
||||
|
||||
Endpoint0Size: 8,
|
||||
.Endpoint0Size = 8,
|
||||
|
||||
VendorID: 0x16C0,
|
||||
ProductID: 0x0478,
|
||||
ReleaseNumber: 0x0010,
|
||||
.VendorID = 0x16C0,
|
||||
.ProductID = 0x0478,
|
||||
.ReleaseNumber = 0x0010,
|
||||
|
||||
ManufacturerStrIndex: NO_DESCRIPTOR,
|
||||
ProductStrIndex: 0x01,
|
||||
SerialNumStrIndex: NO_DESCRIPTOR,
|
||||
.ManufacturerStrIndex = NO_DESCRIPTOR,
|
||||
.ProductStrIndex = 0x01,
|
||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
||||
|
||||
NumberOfConfigurations: 1
|
||||
.NumberOfConfigurations = 1
|
||||
};
|
||||
|
||||
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
|
||||
|
|
@ -91,56 +91,56 @@ USB_Descriptor_Device_t DeviceDescriptor =
|
|||
*/
|
||||
USB_Descriptor_Configuration_t 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: 1,
|
||||
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
|
||||
.TotalInterfaces = 1,
|
||||
|
||||
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)
|
||||
},
|
||||
|
||||
Interface:
|
||||
.Interface =
|
||||
{
|
||||
Header: {Size: sizeof(USB_Descriptor_Interface_t), Type: DTYPE_Interface},
|
||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
|
||||
|
||||
InterfaceNumber: 0x00,
|
||||
AlternateSetting: 0x00,
|
||||
.InterfaceNumber = 0x00,
|
||||
.AlternateSetting = 0x00,
|
||||
|
||||
TotalEndpoints: 1,
|
||||
.TotalEndpoints = 1,
|
||||
|
||||
Class: 0x03,
|
||||
SubClass: 0x00,
|
||||
Protocol: 0x00,
|
||||
.Class = 0x03,
|
||||
.SubClass = 0x00,
|
||||
.Protocol = 0x00,
|
||||
|
||||
InterfaceStrIndex: NO_DESCRIPTOR
|
||||
.InterfaceStrIndex = NO_DESCRIPTOR
|
||||
},
|
||||
|
||||
HIDDescriptor:
|
||||
.HIDDescriptor =
|
||||
{
|
||||
Header: {Size: sizeof(USB_Descriptor_HID_t), Type: DTYPE_HID},
|
||||
.Header = {.Size = sizeof(USB_Descriptor_HID_t), .Type = DTYPE_HID},
|
||||
|
||||
HIDSpec: VERSION_BCD(01.11),
|
||||
CountryCode: 0x00,
|
||||
TotalHIDReports: 0x01,
|
||||
HIDReportType: DTYPE_Report,
|
||||
HIDReportLength: sizeof(HIDReport)
|
||||
.HIDSpec = VERSION_BCD(01.11),
|
||||
.CountryCode = 0x00,
|
||||
.TotalHIDReports = 0x01,
|
||||
.HIDReportType = DTYPE_Report,
|
||||
.HIDReportLength = sizeof(HIDReport)
|
||||
},
|
||||
|
||||
HIDEndpoint:
|
||||
.HIDEndpoint =
|
||||
{
|
||||
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 | HID_EPNUM),
|
||||
Attributes: EP_TYPE_INTERRUPT,
|
||||
EndpointSize: HID_EPSIZE,
|
||||
PollingIntervalMS: 0x40
|
||||
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | HID_EPNUM),
|
||||
.Attributes = EP_TYPE_INTERRUPT,
|
||||
.EndpointSize = HID_EPSIZE,
|
||||
.PollingIntervalMS = 0x40
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -150,9 +150,9 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
|
|||
*/
|
||||
USB_Descriptor_String_t 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}
|
||||
};
|
||||
|
||||
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
|
||||
|
|
@ -161,9 +161,9 @@ USB_Descriptor_String_t LanguageString =
|
|||
*/
|
||||
USB_Descriptor_String_t ProductString =
|
||||
{
|
||||
Header: {Size: USB_STRING_LEN(21), Type: DTYPE_String},
|
||||
.Header = {.Size = USB_STRING_LEN(21), .Type = DTYPE_String},
|
||||
|
||||
UnicodeString: L"AVR Teensy Bootloader"
|
||||
.UnicodeString = L"AVR Teensy Bootloader"
|
||||
};
|
||||
|
||||
/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue