diff options
Diffstat (limited to 'Demos/Device/ClassDriver/DualCDC')
-rw-r--r-- | Demos/Device/ClassDriver/DualCDC/Descriptors.c | 12 | ||||
-rw-r--r-- | Demos/Device/ClassDriver/DualCDC/Descriptors.h | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/Demos/Device/ClassDriver/DualCDC/Descriptors.c b/Demos/Device/ClassDriver/DualCDC/Descriptors.c index 8815b9e57..d76019556 100644 --- a/Demos/Device/ClassDriver/DualCDC/Descriptors.c +++ b/Demos/Device/ClassDriver/DualCDC/Descriptors.c @@ -37,6 +37,18 @@ #include "Descriptors.h"
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and
+ * port location).
+ */
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.
+#endif
+
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
diff --git a/Demos/Device/ClassDriver/DualCDC/Descriptors.h b/Demos/Device/ClassDriver/DualCDC/Descriptors.h index 739303edd..49befad38 100644 --- a/Demos/Device/ClassDriver/DualCDC/Descriptors.h +++ b/Demos/Device/ClassDriver/DualCDC/Descriptors.h @@ -42,10 +42,6 @@ #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Drivers/USB/Class/CDC.h>
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.
- #endif
-
/* Macros: */
/** Endpoint number of the first CDC interface's device-to-host notification IN endpoint. */
#define CDC1_NOTIFICATION_EPNUM 3
|