aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/LowLevel/MassStorage
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-09-01 11:16:57 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-09-01 11:16:57 +0000
commitbda4bd45016714e892252fc7aaee88f6d20af231 (patch)
treefb18c93b895a62066f349cfae7a6f87427556dba /Demos/Device/LowLevel/MassStorage
parentdac7b046fd5d5c5332ca82cd538dd2c50f9128fd (diff)
downloadlufa-bda4bd45016714e892252fc7aaee88f6d20af231.tar.gz
lufa-bda4bd45016714e892252fc7aaee88f6d20af231.tar.bz2
lufa-bda4bd45016714e892252fc7aaee88f6d20af231.zip
Move check for devices not supporting internal serials in demos which make use of USE_INTERNAL_SERIAL to Descriptors.c from Descriptors.h so that the warning is only generated at most once per compilation.
Diffstat (limited to 'Demos/Device/LowLevel/MassStorage')
-rw-r--r--Demos/Device/LowLevel/MassStorage/Descriptors.c12
-rw-r--r--Demos/Device/LowLevel/MassStorage/Descriptors.h4
2 files changed, 12 insertions, 4 deletions
diff --git a/Demos/Device/LowLevel/MassStorage/Descriptors.c b/Demos/Device/LowLevel/MassStorage/Descriptors.c
index b82492386..4dcc4bb26 100644
--- a/Demos/Device/LowLevel/MassStorage/Descriptors.c
+++ b/Demos/Device/LowLevel/MassStorage/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/LowLevel/MassStorage/Descriptors.h b/Demos/Device/LowLevel/MassStorage/Descriptors.h
index 9b9dd7d31..0fa147b75 100644
--- a/Demos/Device/LowLevel/MassStorage/Descriptors.h
+++ b/Demos/Device/LowLevel/MassStorage/Descriptors.h
@@ -41,10 +41,6 @@
#include <avr/pgmspace.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 Mass Storage device-to-host data IN endpoint. */
#define MASS_STORAGE_IN_EPNUM 3