diff options
Diffstat (limited to 'platforms/chibios/hardware_id.c')
-rw-r--r-- | platforms/chibios/hardware_id.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/platforms/chibios/hardware_id.c b/platforms/chibios/hardware_id.c index 888a275465..1097db5966 100644 --- a/platforms/chibios/hardware_id.c +++ b/platforms/chibios/hardware_id.c @@ -6,10 +6,15 @@ hardware_id_t get_hardware_id(void) { hardware_id_t id = {0}; -#ifdef UID_BASE +#if defined(RP2040) + // Forward declare as including "hardware/flash.h" here causes more issues... + void flash_get_unique_id(uint8_t *); + + flash_get_unique_id((uint8_t *)&id); +#elif defined(UID_BASE) id.data[0] = (uint32_t)(*((uint32_t *)UID_BASE)); id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 4))); - id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); + id.data[2] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); #endif return id; } |