|
13 | 13 | namespace arduino { namespace ucid {
|
14 | 14 |
|
15 | 15 | bool get(uint8_t *in, uint32_t size) {
|
| 16 | +#if UC_UID_SIZE == 0 |
| 17 | + (void)in; |
| 18 | + (void)size; |
| 19 | + return false; |
| 20 | +#else |
16 | 21 | if (size < UC_UID_SIZE) {
|
17 | 22 | return false;
|
18 | 23 | }
|
19 |
| -#if defined(ARDUINO_SAMD_MKRWIFI1010) || \ |
20 |
| - defined(ARDUINO_SAMD_NANO_33_IOT) |
| 24 | + #if defined(ARDUINO_SAMD_MKRWIFI1010) || \ |
| 25 | + defined(ARDUINO_SAMD_NANO_33_IOT) |
21 | 26 | (*(uint32_t*)(&in[0x0])) = __builtin_bswap32(*(volatile uint32_t*)(0x0080A00C));
|
22 | 27 | (*(uint32_t*)(&in[0x4])) = __builtin_bswap32(*(volatile uint32_t*)(0x0080A040));
|
23 | 28 | (*(uint32_t*)(&in[0x8])) = __builtin_bswap32(*(volatile uint32_t*)(0x0080A044));
|
24 | 29 | (*(uint32_t*)(&in[0xC])) = __builtin_bswap32(*(volatile uint32_t*)(0x0080A048));
|
25 |
| -#elif defined(ARDUINO_PORTENTA_H7_M7) || \ |
26 |
| - defined(ARDUINO_NICLA_VISION) || \ |
27 |
| - defined(ARDUINO_OPTA) || \ |
28 |
| - defined(ARDUINO_GIGA) |
| 30 | + #elif defined(ARDUINO_PORTENTA_H7_M7) || \ |
| 31 | + defined(ARDUINO_NICLA_VISION) || \ |
| 32 | + defined(ARDUINO_OPTA) || \ |
| 33 | + defined(ARDUINO_GIGA) |
29 | 34 | (*(uint32_t*)(&in[0x0])) = __builtin_bswap32(HAL_GetUIDw0());
|
30 | 35 | (*(uint32_t*)(&in[0x4])) = __builtin_bswap32(HAL_GetUIDw1());
|
31 | 36 | (*(uint32_t*)(&in[0x8])) = __builtin_bswap32(HAL_GetUIDw2());
|
32 |
| -#elif defined(ARDUINO_PORTENTA_C33) || \ |
33 |
| - defined(ARDUINO_UNOR4_WIFI) |
| 37 | + #elif defined(ARDUINO_PORTENTA_C33) || \ |
| 38 | + defined(ARDUINO_UNOR4_WIFI) |
34 | 39 | const bsp_unique_id_t* t = R_BSP_UniqueIdGet();
|
35 | 40 | (*(uint32_t*)(&in[0x0])) = __builtin_bswap32(t->unique_id_words[0x0]);
|
36 | 41 | (*(uint32_t*)(&in[0x4])) = __builtin_bswap32(t->unique_id_words[0x1]);
|
37 | 42 | (*(uint32_t*)(&in[0x8])) = __builtin_bswap32(t->unique_id_words[0x2]);
|
38 | 43 | (*(uint32_t*)(&in[0xC])) = __builtin_bswap32(t->unique_id_words[0x3]);
|
39 |
| -#elif defined(ARDUINO_NANO_RP2040_CONNECT) |
| 44 | + #elif defined(ARDUINO_NANO_RP2040_CONNECT) |
40 | 45 | uint8_t id[UC_UID_SIZE];
|
41 | 46 | flash_get_unique_id(id);
|
42 | 47 | (*(uint32_t*)(&in[0x0])) = __builtin_bswap32(*(uint32_t*)&id[0x0]);
|
43 | 48 | (*(uint32_t*)(&in[0x4])) = __builtin_bswap32(*(uint32_t*)&id[0x4]);
|
44 |
| -#endif |
| 49 | + #endif |
45 | 50 | return true;
|
| 51 | +#endif |
46 | 52 | }
|
47 | 53 |
|
48 | 54 | }} // arduino::ucid
|
0 commit comments