@@ -85,6 +85,7 @@ void WiFiClass::handleEvent(uint8_t u8MsgType, void *pvMsg)
85
85
_localip = 0 ;
86
86
_submask = 0 ;
87
87
_gateway = 0 ;
88
+ _dnsip = 0 ;
88
89
}
89
90
// Close sockets to clean state
90
91
// Clients will need to reconnect once the physical link will be re-established
@@ -110,6 +111,7 @@ void WiFiClass::handleEvent(uint8_t u8MsgType, void *pvMsg)
110
111
_localip = pstrIPCfg->u32StaticIP ;
111
112
_submask = pstrIPCfg->u32SubnetMask ;
112
113
_gateway = pstrIPCfg->u32Gateway ;
114
+ _dnsip = pstrIPCfg->u32DNS ;
113
115
114
116
_status = WL_CONNECTED;
115
117
@@ -150,6 +152,7 @@ void WiFiClass::handleEvent(uint8_t u8MsgType, void *pvMsg)
150
152
_localip = 0 ;
151
153
_submask = 0 ;
152
154
_gateway = 0 ;
155
+ _dnsip = 0 ;
153
156
m2m_wifi_connect ((char *)pstrProvInfo->au8SSID , strlen ((char *)pstrProvInfo->au8SSID ),
154
157
pstrProvInfo->u8SecType , pstrProvInfo->au8Password , M2M_WIFI_CH_ALL);
155
158
} else {
@@ -306,6 +309,7 @@ int WiFiClass::init()
306
309
_localip = 0 ;
307
310
_submask = 0 ;
308
311
_gateway = 0 ;
312
+ _dnsip = 0 ;
309
313
_dhcp = 1 ;
310
314
_resolve = 0 ;
311
315
_remoteMacAddress = 0 ;
@@ -369,6 +373,7 @@ uint8_t WiFiClass::begin()
369
373
_localip = 0 ;
370
374
_submask = 0 ;
371
375
_gateway = 0 ;
376
+ _dnsip = 0 ;
372
377
}
373
378
if (m2m_wifi_default_connect () < 0 ) {
374
379
_status = WL_CONNECT_FAILED;
@@ -431,6 +436,7 @@ uint8_t WiFiClass::startConnect(const char *ssid, uint8_t u8SecType, const void
431
436
_localip = 0 ;
432
437
_submask = 0 ;
433
438
_gateway = 0 ;
439
+ _dnsip = 0 ;
434
440
}
435
441
if (m2m_wifi_connect ((char *)ssid, strlen (ssid), u8SecType, (void *)pvAuthInfo, M2M_WIFI_CH_ALL) < 0 ) {
436
442
_status = WL_CONNECT_FAILED;
@@ -553,6 +559,7 @@ uint8_t WiFiClass::startAP(const char *ssid, uint8_t u8SecType, const void *pvAu
553
559
m2m_memcpy ((uint8 *)&_localip, (uint8 *)&strM2MAPConfig.au8DHCPServerIP [0 ], 4 );
554
560
_submask = 0x00FFFFFF ;
555
561
_gateway = _localip;
562
+ _dnsip = _localip;
556
563
557
564
#ifdef CONF_PERIPH
558
565
// WiFi led ON (rev A then rev B).
@@ -619,6 +626,7 @@ uint8_t WiFiClass::startProvision(const char *ssid, const char *url, uint8_t cha
619
626
m2m_memcpy ((uint8 *)&_localip, (uint8 *)&strM2MAPConfig.au8DHCPServerIP [0 ], 4 );
620
627
_submask = 0x00FFFFFF ;
621
628
_gateway = _localip;
629
+ _dnsip = _localip;
622
630
623
631
#ifdef CONF_PERIPH
624
632
// WiFi led ON (rev A then rev B).
@@ -674,6 +682,7 @@ void WiFiClass::config(IPAddress local_ip, IPAddress dns_server, IPAddress gatew
674
682
_localip = conf.u32StaticIP ;
675
683
_submask = conf.u32SubnetMask ;
676
684
_gateway = conf.u32Gateway ;
685
+ _dnsip = conf.u32DNS ;
677
686
}
678
687
679
688
void WiFiClass::hostname (const char * name)
@@ -763,6 +772,13 @@ uint32_t WiFiClass::gatewayIP()
763
772
return _gateway;
764
773
}
765
774
775
+ IPAddress WiFiClass::dnsIP (int n)
776
+ {
777
+ if (n > 0 )
778
+ return IPAddress (0 , 0 , 0 , 0 );
779
+ return _dnsip;
780
+ }
781
+
766
782
char * WiFiClass::SSID ()
767
783
{
768
784
if (_status == WL_CONNECTED || _status == WL_AP_LISTENING || _status == WL_AP_CONNECTED) {
0 commit comments