From 705a7df752fd3a905ee449f1af9dce174ba1865b Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Sun, 7 Dec 2014 17:00:09 +0100 Subject: [PATCH] [stm32] use desig_get_unique_id from libopencm3 --- sw/airborne/arch/stm32/usb_ser_hw.c | 30 ++--------------------------- sw/ext/libopencm3 | 2 +- sw/ext/luftboot | 2 +- 3 files changed, 4 insertions(+), 30 deletions(-) diff --git a/sw/airborne/arch/stm32/usb_ser_hw.c b/sw/airborne/arch/stm32/usb_ser_hw.c index bfbfae9911..0ad2afc1f3 100644 --- a/sw/airborne/arch/stm32/usb_ser_hw.c +++ b/sw/airborne/arch/stm32/usb_ser_hw.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "mcu_periph/usb_serial.h" @@ -61,8 +62,6 @@ bool_t fifo_put(fifo_t *fifo, uint8_t c); bool_t fifo_get(fifo_t *fifo, uint8_t *pc); int fifo_avail(fifo_t *fifo); int fifo_free(fifo_t *fifo); -inline char *get_dev_unique_id(char *serial_no); - usbd_device *my_usbd_dev; @@ -215,31 +214,6 @@ static const char *usb_strings[] = { serial_no, }; -/** - * Serial is 96bit so 12bytes so 12 hexa numbers, or 24 decimal + termination character - */ -inline char *get_dev_unique_id(char *s) -{ -#if defined STM32F4 - volatile uint8_t *unique_id = (volatile uint8_t *)0x1FFF7A10; -#else - volatile uint8_t *unique_id = (volatile uint8_t *)0x1FFFF7E8; -#endif - int i; - - // Fetch serial number from chip's unique ID - for (i = 0; i < 24; i += 2) { - s[i] = ((*unique_id >> 4) & 0xF) + '0'; - s[i + 1] = (*unique_id++ & 0xF) + '0'; - } - for (i = 0; i < 24; i++) - if (s[i] > '9') { - s[i] += 'A' - '9' - 1; - } - // add termination character - s[24] = '\0'; - return s; -} /* * Buffer to be used for control requests. @@ -529,7 +503,7 @@ void VCOM_init(void) rcc_periph_clock_enable(RCC_OTGFS); /* Get serial number */ - get_dev_unique_id(serial_no); + desig_get_unique_id_as_string(serial_no, 25); /* usb driver init*/ my_usbd_dev = usbd_init(&otgfs_usb_driver, &dev, &config, diff --git a/sw/ext/libopencm3 b/sw/ext/libopencm3 index 40d9ffcb6b..4b8f6e01ab 160000 --- a/sw/ext/libopencm3 +++ b/sw/ext/libopencm3 @@ -1 +1 @@ -Subproject commit 40d9ffcb6bcae58f9dcbe1d5bce70f04e05f2977 +Subproject commit 4b8f6e01abeefbf226a8a10a9039a15363bc888e diff --git a/sw/ext/luftboot b/sw/ext/luftboot index f7a961e3ea..6af6ab63a3 160000 --- a/sw/ext/luftboot +++ b/sw/ext/luftboot @@ -1 +1 @@ -Subproject commit f7a961e3ea6c04f67320e65515a82473960c500b +Subproject commit 6af6ab63a36557a3cc894777129351fb8b5f89d2