projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Re-add in old Endpoint/Pipe workaround for unordered pipes - add new ORDERED_EP_CONFI...
[pub/USBasp.git]
/
Bootloaders
/
CDC
/
Descriptors.c
diff --git
a/Bootloaders/CDC/Descriptors.c
b/Bootloaders/CDC/Descriptors.c
index
092ee2f
..
6857aff
100644
(file)
--- a/
Bootloaders/CDC/Descriptors.c
+++ b/
Bootloaders/CDC/Descriptors.c
@@
-1,21
+1,21
@@
/*
LUFA Library
Copyright (C) Dean Camera, 2010.
/*
LUFA Library
Copyright (C) Dean Camera, 2010.
-
+
dean [at] fourwalledcubicle [dot] com
dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
+ www.lufa-lib.org
*/
/*
Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
*/
/*
Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
- Permission to use, copy, modify, distribute, and sell this
+ Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
software and its documentation for any purpose is hereby granted
- without fee, provided that the above copyright notice appear in
+ without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software without specific, written prior permission.
The author disclaim all warranties with regard to this
@@
-30,9
+30,9
@@
/** \file
*
/** \file
*
- * USB Device Descriptors, for library use when in USB device mode. Descriptors are special
+ * USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* computer-readable structures which the host requests upon device enumeration, to determine
- * the device's capabilities and functions.
+ * the device's capabilities and functions.
*/
#include "Descriptors.h"
*/
#include "Descriptors.h"
@@
-45,22
+45,22
@@
USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
-
+
.USBSpecification = VERSION_BCD(01.10),
.USBSpecification = VERSION_BCD(01.10),
- .Class =
0x02
,
- .SubClass =
0x00
,
- .Protocol =
0x00
,
-
+ .Class =
CDC_CSCP_CDCClass
,
+ .SubClass =
CDC_CSCP_NoSpecificSubclass
,
+ .Protocol =
CDC_CSCP_NoSpecificProtocol
,
+
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
-
+
.VendorID = 0x03EB,
.ProductID = 0x204A,
.VendorID = 0x03EB,
.ProductID = 0x204A,
- .ReleaseNumber =
0x0000
,
-
+ .ReleaseNumber =
VERSION_BCD(00.01)
,
+
.ManufacturerStrIndex = NO_DESCRIPTOR,
.ProductStrIndex = 0x01,
.SerialNumStrIndex = NO_DESCRIPTOR,
.ManufacturerStrIndex = NO_DESCRIPTOR,
.ProductStrIndex = 0x01,
.SerialNumStrIndex = NO_DESCRIPTOR,
-
+
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
@@
-71,105
+71,106
@@
USB_Descriptor_Device_t DeviceDescriptor =
*/
USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
*/
USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
- .Config =
+ .Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 2,
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 2,
-
+
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
-
+
.ConfigAttributes = USB_CONFIG_ATTR_BUSPOWERED,
.ConfigAttributes = USB_CONFIG_ATTR_BUSPOWERED,
-
+
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
-
- .CDC_CCI_Interface =
+
+ .CDC_CCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
-
+
.TotalEndpoints = 1,
.TotalEndpoints = 1,
-
- .Class =
0x02
,
- .SubClass =
0x02
,
- .Protocol =
0x01
,
-
+
+ .Class =
CDC_CSCP_CDCClass
,
+ .SubClass =
CDC_CSCP_ACMSubclass
,
+ .Protocol =
CDC_CSCP_ATCommandProtocol
,
+
.InterfaceStrIndex = NO_DESCRIPTOR
},
.InterfaceStrIndex = NO_DESCRIPTOR
},
- .CDC_Functional_
IntHeader =
+ .CDC_Functional_
Header =
{
{
- .Header = {.Size = sizeof(
CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24
},
- .Sub
T
ype = 0x00,
-
- .
Data = {0x10, 0x01}
+ .Header = {.Size = sizeof(
USB_Descriptor_CDC_FunctionalHeader_t), .Type = DTYPE_CSInterface
},
+ .Sub
t
ype = 0x00,
+
+ .
CDCSpecification = VERSION_BCD(01.10),
},
},
- .CDC_Functional_A
bstractControlManagement =
+ .CDC_Functional_A
CM =
{
{
- .Header = {.Size = sizeof(
CDC_FUNCTIONAL_DESCRIPTOR(1)), .Type = 0x24
},
- .Sub
T
ype = 0x02,
-
- .
Data = {0x06}
+ .Header = {.Size = sizeof(
USB_Descriptor_CDC_FunctionalACM_t), .Type = DTYPE_CSInterface
},
+ .Sub
t
ype = 0x02,
+
+ .
Capabilities = 0x04,
},
},
-
- .CDC_Functional_Union =
+
+ .CDC_Functional_Union =
{
{
- .Header = {.Size = sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)), .Type = 0x24},
- .SubType = 0x06,
-
- .Data = {0x00, 0x01}
- },
+ .Header = {.Size = sizeof(USB_Descriptor_CDC_FunctionalUnion_t), .Type = DTYPE_CSInterface},
+ .Subtype = 0x06,
+
+ .MasterInterfaceNumber = 0,
+ .SlaveInterfaceNumber = 1,
+ },
- .CDC_NotificationEndpoint =
+ .CDC_NotificationEndpoint =
{
.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 | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_NOTIFICATION_EPSIZE,
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_NOTIFICATION_EPSIZE,
- .PollingIntervalMS = 0x
02
+ .PollingIntervalMS = 0x
FF
},
},
- .CDC_DCI_Interface =
+ .CDC_DCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 0,
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 0,
-
+
.TotalEndpoints = 2,
.TotalEndpoints = 2,
-
- .Class =
0x0A
,
- .SubClass =
0x00
,
- .Protocol =
0x00
,
-
+
+ .Class =
CDC_CSCP_CDCDataClass
,
+ .SubClass =
CDC_CSCP_NoDataSubclass
,
+ .Protocol =
CDC_CSCP_NoDataProtocol
,
+
.InterfaceStrIndex = NO_DESCRIPTOR
},
.InterfaceStrIndex = NO_DESCRIPTOR
},
- .CDC_DataOutEndpoint =
+ .CDC_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 | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
- .PollingIntervalMS = 0x0
0
+ .PollingIntervalMS = 0x0
1
},
},
-
- .CDC_DataInEndpoint =
+
+ .CDC_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 | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
- .PollingIntervalMS = 0x0
0
+ .PollingIntervalMS = 0x0
1
}
};
}
};
@@
-180,7
+181,7
@@
USB_Descriptor_Configuration_t ConfigurationDescriptor =
USB_Descriptor_String_t LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
USB_Descriptor_String_t LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
-
+
.UnicodeString = {LANGUAGE_ID_ENG}
};
.UnicodeString = {LANGUAGE_ID_ENG}
};
@@
-191,7
+192,7
@@
USB_Descriptor_String_t LanguageString =
USB_Descriptor_String_t ProductString =
{
.Header = {.Size = USB_STRING_LEN(18), .Type = DTYPE_String},
USB_Descriptor_String_t ProductString =
{
.Header = {.Size = USB_STRING_LEN(18), .Type = DTYPE_String},
-
+
.UnicodeString = L"AVR CDC Bootloader"
};
.UnicodeString = L"AVR CDC Bootloader"
};
@@
-232,10
+233,11
@@
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
Address = &ProductString;
Size = ProductString.Header.Size;
}
Address = &ProductString;
Size = ProductString.Header.Size;
}
-
+
break;
}
break;
}
-
+
*DescriptorAddress = Address;
return Size;
}
*DescriptorAddress = Address;
return Size;
}
+