From a689229acb07bb7fc21bf88061c367cd4b899367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Sun, 15 Mar 2020 14:03:52 +0100 Subject: [PATCH] usb_dfu: fix U_ID decoding --- lib/usb_dfu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/usb_dfu.c b/lib/usb_dfu.c index 7ede937..62f707c 100644 --- a/lib/usb_dfu.c +++ b/lib/usb_dfu.c @@ -328,11 +328,11 @@ void usb_dfu_setup(void) for (uint8_t i = 0; i < LENGTH(usb_serial) - 1; i++) { // write the serial uint32_t id; // current ID part if (i < 8) { - id = DESIG_UNIQUE_ID0; + id = DESIG_UNIQUE_ID2; } else if (i < 16) { id = DESIG_UNIQUE_ID1; } else { - id = DESIG_UNIQUE_ID2; + id = (DESIG_UNIQUE_ID0 << 16) + (DESIG_UNIQUE_ID0 >> 16); } // transform into character char c = (id >> ((7 - (i % 8)) * 4)) & 0x0f; // get nibble