mirror of
https://github.com/mfulz/qmk_firmware.git
synced 2025-06-21 22:25:16 +02:00
Set all CDC and MassStorage device mode demos (LowLevel and ClassDriver) to use the USE_INTERNAL_SERIAL feature, add compile time warnings for devices which do not have an internal serial.
This commit is contained in:
parent
ce3ea6fb25
commit
41b54a2acd
@ -42,6 +42,10 @@
|
|||||||
#include <LUFA/Drivers/USB/USB.h>
|
#include <LUFA/Drivers/USB/USB.h>
|
||||||
#include <LUFA/Drivers/USB/Class/CDC.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: */
|
/* Macros: */
|
||||||
/** Endpoint number of the CDC device-to-host notification IN endpoint. */
|
/** Endpoint number of the CDC device-to-host notification IN endpoint. */
|
||||||
#define CDC_NOTIFICATION_EPNUM 2
|
#define CDC_NOTIFICATION_EPNUM 2
|
||||||
|
@ -42,6 +42,10 @@
|
|||||||
#include <LUFA/Drivers/USB/USB.h>
|
#include <LUFA/Drivers/USB/USB.h>
|
||||||
#include <LUFA/Drivers/USB/Class/CDC.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: */
|
/* Macros: */
|
||||||
/** Endpoint number of the first CDC interface's device-to-host notification IN endpoint. */
|
/** Endpoint number of the first CDC interface's device-to-host notification IN endpoint. */
|
||||||
#define CDC1_NOTIFICATION_EPNUM 3
|
#define CDC1_NOTIFICATION_EPNUM 3
|
||||||
|
@ -37,10 +37,15 @@
|
|||||||
#define _DESCRIPTORS_H_
|
#define _DESCRIPTORS_H_
|
||||||
|
|
||||||
/* Includes: */
|
/* Includes: */
|
||||||
#include <LUFA/Drivers/USB/USB.h>
|
|
||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
|
|
||||||
|
#include <LUFA/Drivers/USB/USB.h>
|
||||||
|
#include <LUFA/Drivers/USB/Class/MassStorage.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: */
|
/* Macros: */
|
||||||
/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */
|
/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */
|
||||||
#define MASS_STORAGE_IN_EPNUM 3
|
#define MASS_STORAGE_IN_EPNUM 3
|
||||||
|
@ -42,6 +42,10 @@
|
|||||||
#include <LUFA/Drivers/USB/USB.h>
|
#include <LUFA/Drivers/USB/USB.h>
|
||||||
#include <LUFA/Drivers/USB/Class/CDC.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: */
|
/* Macros: */
|
||||||
/** Endpoint number of the CDC device-to-host notification IN endpoint. */
|
/** Endpoint number of the CDC device-to-host notification IN endpoint. */
|
||||||
#define CDC_NOTIFICATION_EPNUM 2
|
#define CDC_NOTIFICATION_EPNUM 2
|
||||||
|
@ -59,7 +59,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
|
|||||||
|
|
||||||
.ManufacturerStrIndex = 0x01,
|
.ManufacturerStrIndex = 0x01,
|
||||||
.ProductStrIndex = 0x02,
|
.ProductStrIndex = 0x02,
|
||||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
.SerialNumStrIndex = USE_INTERNAL_SERIAL,
|
||||||
|
|
||||||
.NumberOfConfigurations = 1
|
.NumberOfConfigurations = 1
|
||||||
};
|
};
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#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: */
|
/* Macros: */
|
||||||
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
|
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
|
||||||
* uniform structure but variable sized data payloads, thus cannot be represented accurately by
|
* uniform structure but variable sized data payloads, thus cannot be represented accurately by
|
||||||
|
@ -59,7 +59,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
|
|||||||
|
|
||||||
.ManufacturerStrIndex = 0x01,
|
.ManufacturerStrIndex = 0x01,
|
||||||
.ProductStrIndex = 0x02,
|
.ProductStrIndex = 0x02,
|
||||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
.SerialNumStrIndex = USE_INTERNAL_SERIAL,
|
||||||
|
|
||||||
.NumberOfConfigurations = 1
|
.NumberOfConfigurations = 1
|
||||||
};
|
};
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#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: */
|
/* Macros: */
|
||||||
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
|
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
|
||||||
* uniform structure but variable sized data payloads, thus cannot be represented accurately by
|
* uniform structure but variable sized data payloads, thus cannot be represented accurately by
|
||||||
|
@ -59,7 +59,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
|
|||||||
|
|
||||||
.ManufacturerStrIndex = 0x01,
|
.ManufacturerStrIndex = 0x01,
|
||||||
.ProductStrIndex = 0x02,
|
.ProductStrIndex = 0x02,
|
||||||
.SerialNumStrIndex = 0x03,
|
.SerialNumStrIndex = USE_INTERNAL_SERIAL,
|
||||||
|
|
||||||
.NumberOfConfigurations = 1
|
.NumberOfConfigurations = 1
|
||||||
};
|
};
|
||||||
@ -156,20 +156,6 @@ USB_Descriptor_String_t PROGMEM ProductString =
|
|||||||
.UnicodeString = L"LUFA Mass Storage Demo"
|
.UnicodeString = L"LUFA Mass Storage Demo"
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Serial number descriptor string. This is a Unicode string containing a string of HEX characters at least 12
|
|
||||||
* digits in length to uniquely identify a device when concatenated with the device's Vendor and Product IDs. By
|
|
||||||
* using the unique serial number string to identify a device, the device drivers do not need to be reinstalled
|
|
||||||
* each time the device is inserted into a different USB port on the same system. <b>This should be unique between
|
|
||||||
* devices, or conflicts will occur if two devices sharing the same serial number are inserted into the same system
|
|
||||||
* at the same time.</b>
|
|
||||||
*/
|
|
||||||
USB_Descriptor_String_t PROGMEM SerialNumberString =
|
|
||||||
{
|
|
||||||
.Header = {.Size = USB_STRING_LEN(12), .Type = DTYPE_String},
|
|
||||||
|
|
||||||
.UnicodeString = L"000000000000"
|
|
||||||
};
|
|
||||||
|
|
||||||
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
|
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
|
||||||
* documentation) by the application code so that the address and size of a requested descriptor can be given
|
* documentation) by the application code so that the address and size of a requested descriptor can be given
|
||||||
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
|
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
|
||||||
@ -209,10 +195,6 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
|
|||||||
Address = (void*)&ProductString;
|
Address = (void*)&ProductString;
|
||||||
Size = pgm_read_byte(&ProductString.Header.Size);
|
Size = pgm_read_byte(&ProductString.Header.Size);
|
||||||
break;
|
break;
|
||||||
case 0x03:
|
|
||||||
Address = (void*)&SerialNumberString;
|
|
||||||
Size = pgm_read_byte(&SerialNumberString.Header.Size);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#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: */
|
/* Macros: */
|
||||||
/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */
|
/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */
|
||||||
#define MASS_STORAGE_IN_EPNUM 3
|
#define MASS_STORAGE_IN_EPNUM 3
|
||||||
|
@ -59,7 +59,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
|
|||||||
|
|
||||||
.ManufacturerStrIndex = 0x01,
|
.ManufacturerStrIndex = 0x01,
|
||||||
.ProductStrIndex = 0x02,
|
.ProductStrIndex = 0x02,
|
||||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
.SerialNumStrIndex = USE_INTERNAL_SERIAL,
|
||||||
|
|
||||||
.NumberOfConfigurations = 1
|
.NumberOfConfigurations = 1
|
||||||
};
|
};
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#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: */
|
/* Macros: */
|
||||||
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
|
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
|
||||||
* uniform structure but variable sized data payloads, thus cannot be represented accurately by
|
* uniform structure but variable sized data payloads, thus cannot be represented accurately by
|
||||||
|
Loading…
x
Reference in New Issue
Block a user