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