fix USB patch file

This commit is contained in:
Samuel Sadok
2018-04-09 18:18:23 -07:00
parent 8972e4a8b1
commit 8f02ddc052
@@ -4,14 +4,14 @@ Date: Mon, 12 Mar 2018 23:49:32 -0700
Subject: [PATCH] expose correct serial number on USB
---
Firmware/Board/v3/Src/usbd_desc.c | 15 +++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
Firmware/Board/v3/Src/usbd_desc.c | 9 +++++++++-------
1 file changed, 1 insertions(+), 8 deletions(-)
diff --git a/Firmware/Board/v3/Src/usbd_desc.c b/Firmware/Board/v3/Src/usbd_desc.c
index b9c7bd0..94dc49b 100644
--- a/Firmware/Board/v3/Src/usbd_desc.c
+++ b/Firmware/Board/v3/Src/usbd_desc.c
@@ -327,14 +327,15 @@ uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *l
@@ -327,14 +327,7 @@ uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *l
*/
uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
{
@@ -22,15 +22,8 @@ index b9c7bd0..94dc49b 100644
- else
- {
- USBD_GetString((uint8_t *)USBD_SERIALNUMBER_STRING_FS, USBD_StrDesc, length);
+ uint8_t str[13]; // 12 digits + null termination
+ uint64_t val = serial_number;
+ for (size_t i = 0; i < 12; ++i) {
+ str[i] = "0123456789ABCDEF"[(val >> (48-4)) & 0xf];
+ val <<= 4;
}
+ str[12] = 0;
+
+ USBD_GetString ((uint8_t *)str, USBD_StrDesc, length);
- }
+ USBD_GetString ((uint8_t *)serial_number_str, USBD_StrDesc, length);
return USBD_StrDesc;
}