diff --git a/keyboards/lotus/config.h b/keyboards/lotus/config.h index 3a3f0ea11a..7749ad68fa 100644 --- a/keyboards/lotus/config.h +++ b/keyboards/lotus/config.h @@ -13,7 +13,7 @@ // SDB is mapped to GP22 #define PICO_LOTUS -// Enable serial number +// Enable serial number. Calls into lotus_serial_number_string* functions #define SERIAL_NUMBER #ifdef KEYBOARD_lotus_ansi diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 585e182187..8816ff44c4 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -735,7 +735,7 @@ const PROGMEM usbStringDescriptor_t usbStringDescriptorProduct = { .bString = USBSTR(PRODUCT) }; -// THIS IS NOT USED by Lotus +// THIS IS NOT USED by Lotus. TODO: Implement flexible serial number here #if defined(SERIAL_NUMBER) const PROGMEM usbStringDescriptor_t usbStringDescriptorSerial = .header = { @@ -1009,8 +1009,8 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) { break; #if defined(SERIAL_NUMBER) case 3: // iSerialNumber - usbMsgPtr = (usbMsgPtr_t)&usbStringDescriptorSerial; - len = usbStringDescriptorSerial.header.bLength; + usbMsgPtr = (usbMsgPtr_t)lotus_serial_number_string(); + len = lotus_serial_number_string_len(); break; #endif }