\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
\r
#include <LUFA/Drivers/USB/USB.h>\r
#include <LUFA/Drivers/USB/Class/CDC.h>\r
- \r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
\r
/* Macros: */\r
/** Endpoint number of the CDC device-to-host notification IN endpoint. */\r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
#include <LUFA/Drivers/USB/USB.h>\r
#include <LUFA/Drivers/USB/Class/CDC.h>\r
\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
-\r
/* Macros: */\r
/** Endpoint number of the first CDC interface's device-to-host notification IN endpoint. */\r
#define CDC1_NOTIFICATION_EPNUM 3\r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
#include <LUFA/Drivers/USB/USB.h>\r
#include <LUFA/Drivers/USB/Class/MassStorage.h>\r
\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
-\r
/* Macros: */\r
/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */\r
#define MASS_STORAGE_IN_EPNUM 3 \r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
#include <LUFA/Drivers/USB/USB.h>\r
#include <LUFA/Drivers/USB/Class/CDC.h>\r
\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
-\r
/* Macros: */\r
/** Endpoint number of the CDC device-to-host notification IN endpoint. */\r
#define CDC_NOTIFICATION_EPNUM 2\r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
#include <LUFA/Drivers/USB/USB.h>\r
\r
#include <avr/pgmspace.h>\r
-\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
\r
/* Macros: */\r
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a\r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
#include <LUFA/Drivers/USB/USB.h>\r
\r
#include <avr/pgmspace.h>\r
-\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
\r
/* Macros: */\r
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a\r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
\r
#include <avr/pgmspace.h>\r
\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
-\r
/* Macros: */\r
/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */\r
#define MASS_STORAGE_IN_EPNUM 3 \r
\r
#include "Descriptors.h"\r
\r
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as\r
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.\r
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated\r
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices\r
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value\r
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and\r
+ * port location).\r
+ */\r
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
+#endif\r
+\r
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall\r
* device characteristics, including the supported USB version, control endpoint size and the\r
* number of device configurations. The descriptor is read out by the USB host when the enumeration\r
#include <LUFA/Drivers/USB/USB.h>\r
\r
#include <avr/pgmspace.h>\r
-\r
- #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)\r
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.\r
- #endif\r
\r
/* Macros: */\r
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a\r
* - Added flag to the HID report parser to indicate if a device has multiple reports\r
* - Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and\r
* USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode\r
- * - Added new Endpoint_SetEndpointDirection() macro for bi-directional endpoints\r
+ * - Added new Endpoint_SetEndpointDirection() macro for bidirectional endpoints\r
* - Added new AVRISP project, a LUFA powered clone of the Atmel AVRISP-MKII programmer\r
* - Added ShutDown() functions for all hardware peripheral drivers, so that peripherals can be turned off after use\r
* - Added new CDC_Device_Flush() command to the device mode CDC Class driver to flush Device->Host data\r