소스 검색

Omit serial number if not defined (#11104)

Ryan 4 년 전
부모
커밋
15faffacf4
2개의 변경된 파일16개의 추가작업 그리고 8개의 파일을 삭제
  1. 8 4
      tmk_core/protocol/usb_descriptor.c
  2. 8 4
      tmk_core/protocol/vusb/vusb.c

+ 8 - 4
tmk_core/protocol/usb_descriptor.c

@@ -374,7 +374,11 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = {
     .ReleaseNumber              = DEVICE_VER,
     .ManufacturerStrIndex       = 0x01,
     .ProductStrIndex            = 0x02,
+#if defined(SERIAL_NUMBER)
     .SerialNumStrIndex          = 0x03,
+#else
+    .SerialNumStrIndex          = 0x00,
+#endif
     .NumberOfConfigurations     = FIXED_NUM_CONFIGURATIONS
 };
 
@@ -950,10 +954,7 @@ const USB_Descriptor_String_t PROGMEM ProductString = {
     .UnicodeString              = LSTR(PRODUCT)
 };
 
-#ifndef SERIAL_NUMBER
-#    define SERIAL_NUMBER 0
-#endif
-
+#if defined(SERIAL_NUMBER)
 const USB_Descriptor_String_t PROGMEM SerialNumberString = {
     .Header = {
         .Size                   = USB_STRING_LEN(sizeof(STR(SERIAL_NUMBER)) - 1), // Subtract 1 for null terminator
@@ -961,6 +962,7 @@ const USB_Descriptor_String_t PROGMEM SerialNumberString = {
     },
     .UnicodeString              = LSTR(SERIAL_NUMBER)
 };
+#endif
 
 // clang-format on
 
@@ -1005,11 +1007,13 @@ uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const
                     Size    = pgm_read_byte(&ProductString.Header.Size);
 
                     break;
+#if defined(SERIAL_NUMBER)
                 case 0x03:
                     Address = &SerialNumberString;
                     Size    = pgm_read_byte(&SerialNumberString.Header.Size);
 
                     break;
+#endif
             }
 
             break;

+ 8 - 4
tmk_core/protocol/vusb/vusb.c

@@ -531,10 +531,6 @@ const PROGMEM uchar console_hid_report[] = {
 };
 #endif
 
-#ifndef SERIAL_NUMBER
-#    define SERIAL_NUMBER 0
-#endif
-
 #ifndef USB_MAX_POWER_CONSUMPTION
 #    define USB_MAX_POWER_CONSUMPTION 500
 #endif
@@ -569,6 +565,7 @@ const PROGMEM usbStringDescriptor_t usbStringDescriptorProduct = {
     .bString             = LSTR(PRODUCT)
 };
 
+#if defined(SERIAL_NUMBER)
 const PROGMEM usbStringDescriptor_t usbStringDescriptorSerial = {
     .header = {
         .bLength         = USB_STRING_LEN(sizeof(STR(SERIAL_NUMBER)) - 1),
@@ -576,6 +573,7 @@ const PROGMEM usbStringDescriptor_t usbStringDescriptorSerial = {
     },
     .bString             = LSTR(SERIAL_NUMBER)
 };
+#endif
 
 /*
  * Device descriptor
@@ -595,7 +593,11 @@ const PROGMEM usbDeviceDescriptor_t usbDeviceDescriptor = {
     .bcdDevice           = DEVICE_VER,
     .iManufacturer       = 0x01,
     .iProduct            = 0x02,
+#if defined(SERIAL_NUMBER)
     .iSerialNumber       = 0x03,
+#else
+    .iSerialNumber       = 0x00,
+#endif
     .bNumConfigurations  = 1
 };
 
@@ -821,10 +823,12 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) {
                     usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorProduct;
                     len       = usbStringDescriptorProduct.header.bLength;
                     break;
+#if defined(SERIAL_NUMBER)
                 case 3:  // iSerialNumber
                     usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorSerial;
                     len       = usbStringDescriptorSerial.header.bLength;
                     break;
+#endif
             }
             break;
         case USBDESCR_HID: