99*/
1010
1111#include " networkId.h"
12+ #include < Arduino_HEX.h>
1213
1314bool networkId::begin () {
1415#if defined(ARDUINO_NANO_RP2040_CONNECT) || \
@@ -20,6 +21,13 @@ bool networkId::begin() {
2021 return (result != WL_NO_SHIELD) ? true : false ;
2122#elif defined(ARDUINO_PORTENTA_C33)
2223 return true ;
24+ #elif defined(ARDUINO_SAMD_MKRNB1500)
25+ return _modem.begin ();
26+ #elif defined(ARDUINO_SAMD_MKRGSM1400)
27+ return _modem.begin ();
28+ #elif defined(ARDUINO_SAMD_MKRWAN1300) || \
29+ defined (ARDUINO_SAMD_MKRWAN1310)
30+ return _modem.begin (EU868);
2331#elif defined(ARDUINO_PORTENTA_H7_M7) || \
2432 defined (ARDUINO_NICLA_VISION) || \
2533 defined (ARDUINO_GIGA)
@@ -29,6 +37,8 @@ bool networkId::begin() {
2937#elif defined(ARDUINO_OPTA)
3038 Ethernet.begin (NULL , 0 , 0 );
3139 return true ;
40+ #else
41+ return false ;
3242#endif
3343}
3444
@@ -52,6 +62,17 @@ bool networkId::get(uint8_t *in, uint32_t size) {
5262 WiFi.macAddress (in);
5363#elif defined(ARDUINO_OPTA)
5464 Ethernet.MACAddress (in);
65+ #elif defined(ARDUINO_SAMD_MKRNB1500) || \
66+ defined (ARDUINO_SAMD_MKRGSM1400)
67+ String imei = _modem.getIMEI ();
68+ /* Remove luhn check digit to keep things even */
69+ imei.remove (15 );
70+ THEXT::decode (imei, in, size);
71+ #elif defined(ARDUINO_SAMD_MKRWAN1300) || \
72+ defined (ARDUINO_SAMD_MKRWAN1310)
73+ return THEXT::decode (_modem.deviceEUI (), in, size);
74+ #else
75+ return false ;
5576#endif
5677 return true ;
5778#endif
0 commit comments