|
9 | 9 | */ |
10 | 10 |
|
11 | 11 | #include "networkId.h" |
| 12 | +#include <Arduino_HEX.h> |
12 | 13 |
|
13 | 14 | bool networkId::begin() { |
14 | | -#if defined(ARDUINO_SAMD_MKRWIFI1010) || \ |
15 | | - defined(ARDUINO_SAMD_NANO_33_IOT) |
16 | | - WiFi.setTimeout(0); |
17 | | - return !!WiFi.begin("In33dm4c4ddr35", "In33dm4c4ddr35"); |
18 | | -#elif defined(ARDUINO_PORTENTA_H7_M7) || \ |
19 | | - defined(ARDUINO_NICLA_VISION) || \ |
20 | | - defined(ARDUINO_GIGA) |
21 | | - WiFi.setTimeout(0); |
22 | | - return !!WiFi.begin("In33dm4c4ddr35", "In33dm4c4ddr35", ENC_TYPE_TKIP); |
23 | | -#elif defined(ARDUINO_PORTENTA_C33) || \ |
| 15 | +#if defined(ARDUINO_NANO_RP2040_CONNECT) || \ |
| 16 | + defined(ARDUINO_SAMD_MKRWIFI1010) || \ |
| 17 | + defined(ARDUINO_SAMD_NANO_33_IOT) || \ |
24 | 18 | defined(ARDUINO_UNOR4_WIFI) |
25 | 19 | WiFi.setTimeout(0); |
26 | | - return !!WiFi.begin("In33dm4c4ddr35", "In33dm4c4ddr35"); |
27 | | -#elif defined(ARDUINO_NANO_RP2040_CONNECT) |
| 20 | + int result = WiFi.begin("In33dm4c4ddr35", "In33dm4c4ddr35"); |
| 21 | + WiFi.setTimeout(10000); |
| 22 | + return (result != WL_NO_SHIELD) ? true : false; |
| 23 | +#elif defined(ARDUINO_PORTENTA_C33) |
| 24 | + return true; |
| 25 | +#elif defined(ARDUINO_SAMD_MKRNB1500) |
| 26 | + return _modem.begin(); |
| 27 | +#elif defined(ARDUINO_SAMD_MKRGSM1400) |
| 28 | + return _modem.begin(); |
| 29 | +#elif defined(ARDUINO_SAMD_MKRWAN1300) || \ |
| 30 | + defined(ARDUINO_SAMD_MKRWAN1310) |
| 31 | + return _modem.begin(EU868); |
| 32 | +#elif defined(ARDUINO_PORTENTA_H7_M7) || \ |
| 33 | + defined(ARDUINO_NICLA_VISION) || \ |
| 34 | + defined(ARDUINO_GIGA) |
28 | 35 | WiFi.setTimeout(0); |
29 | | - return !!WiFi.begin("In33dm4c4ddr35", "In33dm4c4ddr35"); |
| 36 | + int result = WiFi.begin("In33dm4c4ddr35", "In33dm4c4ddr35", ENC_TYPE_TKIP); |
| 37 | + WiFi.setTimeout(10000); |
| 38 | + return ( result != WL_NO_SHIELD) ? true : false; |
30 | 39 | #elif defined(ARDUINO_OPTA) |
31 | | - return !!Ethernet.begin(NULL, 0, 0); |
| 40 | + Ethernet.begin(NULL, 0, 0); |
| 41 | + return true; |
| 42 | +#else |
| 43 | + return false; |
32 | 44 | #endif |
33 | 45 | } |
34 | 46 |
|
35 | 47 | bool networkId::get(uint8_t *in, uint32_t size) { |
36 | | -#if IFACE_MAC_ADDR_LENGTH == 0 |
| 48 | +#if NETWORK_ID_SIZE == 0 |
37 | 49 | (void)in; |
38 | 50 | (void)size; |
39 | 51 | return false; |
40 | 52 | #else |
41 | | - if (size < IFACE_MAC_ADDR_LENGTH) { |
| 53 | + if (size < NETWORK_ID_SIZE) { |
42 | 54 | return false; |
43 | 55 | } |
44 | | -#if defined(ARDUINO_SAMD_MKRWIFI1010) || \ |
45 | | - defined(ARDUINO_SAMD_NANO_33_IOT) |
46 | | - WiFi.macAddress(in); |
47 | | -#elif defined(ARDUINO_PORTENTA_H7_M7) || \ |
48 | | - defined(ARDUINO_NICLA_VISION) || \ |
| 56 | +#if defined(ARDUINO_NANO_RP2040_CONNECT) || \ |
| 57 | + defined(ARDUINO_SAMD_MKRWIFI1010) || \ |
| 58 | + defined(ARDUINO_SAMD_NANO_33_IOT) || \ |
| 59 | + defined(ARDUINO_PORTENTA_C33) || \ |
| 60 | + defined(ARDUINO_UNOR4_WIFI) || \ |
| 61 | + defined(ARDUINO_PORTENTA_H7_M7) || \ |
| 62 | + defined(ARDUINO_NICLA_VISION) || \ |
49 | 63 | defined(ARDUINO_GIGA) |
50 | 64 | WiFi.macAddress(in); |
51 | | -#elif defined(ARDUINO_PORTENTA_C33) || \ |
52 | | - defined(ARDUINO_UNOR4_WIFI) |
53 | | - WiFi.macAddress(in); |
54 | | -#elif defined(ARDUINO_NANO_RP2040_CONNECT) |
55 | | - WiFi.macAddress(in); |
56 | 65 | #elif defined(ARDUINO_OPTA) |
57 | 66 | Ethernet.MACAddress(in); |
| 67 | +#elif defined(ARDUINO_SAMD_MKRNB1500) || \ |
| 68 | + defined(ARDUINO_SAMD_MKRGSM1400) |
| 69 | + String imei = _modem.getIMEI(); |
| 70 | + /* Remove luhn check digit to keep things even */ |
| 71 | + imei.remove(15); |
| 72 | + THEXT::decode(imei, in, size); |
| 73 | +#elif defined(ARDUINO_SAMD_MKRWAN1300) || \ |
| 74 | + defined(ARDUINO_SAMD_MKRWAN1310) |
| 75 | + return THEXT::decode(_modem.deviceEUI(), in, size); |
| 76 | +#else |
| 77 | + return false; |
58 | 78 | #endif |
59 | 79 | return true; |
60 | 80 | #endif |
|
0 commit comments