@@ -62,29 +62,37 @@ arduino::IPAddress arduino::MbedSocketClass::dnsIP(int n) {
62
62
}
63
63
64
64
void arduino::MbedSocketClass::config (arduino::IPAddress local_ip) {
65
- nsapi_addr_t convertedIP = { NSAPI_IPv4, { local_ip[0 ], local_ip[1 ], local_ip[2 ], local_ip[3 ] } };
66
- _ip = SocketAddress (convertedIP);
65
+ IPAddress dns = local_ip;
66
+ dns[3 ] = 1 ;
67
+ config (local_ip, dns);
67
68
}
68
69
69
70
void arduino::MbedSocketClass::config (const char * local_ip) {
70
71
_ip = SocketAddress (local_ip);
71
72
}
72
73
73
74
void arduino::MbedSocketClass::config (IPAddress local_ip, IPAddress dns_server) {
74
- config (local_ip);
75
- setDNS (dns_server);
75
+ IPAddress gw = local_ip;
76
+ gw[3 ] = 1 ;
77
+ config (local_ip, dns_server, gw);
76
78
}
77
79
78
80
void arduino::MbedSocketClass::config (IPAddress local_ip, IPAddress dns_server, IPAddress gateway) {
79
- config (local_ip, dns_server);
80
- nsapi_addr_t convertedGatewayIP = { NSAPI_IPv4, { gateway[0 ], gateway[1 ], gateway[2 ], gateway[3 ] } };
81
- _gateway = SocketAddress (convertedGatewayIP);
81
+ IPAddress nm (255 , 255 , 255 , 0 );
82
+ config (local_ip, dns_server, gateway, nm);
82
83
}
83
84
84
85
void arduino::MbedSocketClass::config (IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet) {
85
- config (local_ip, dns_server, gateway);
86
+ _useStaticIP = (local_ip != INADDR_NONE);
87
+ if (!_useStaticIP)
88
+ return ;
89
+ nsapi_addr_t convertedIP = { NSAPI_IPv4, { local_ip[0 ], local_ip[1 ], local_ip[2 ], local_ip[3 ] } };
90
+ _ip = SocketAddress (convertedIP);
91
+ nsapi_addr_t convertedGatewayIP = { NSAPI_IPv4, { gateway[0 ], gateway[1 ], gateway[2 ], gateway[3 ] } };
92
+ _gateway = SocketAddress (convertedGatewayIP);
86
93
nsapi_addr_t convertedSubnetMask = { NSAPI_IPv4, { subnet[0 ], subnet[1 ], subnet[2 ], subnet[3 ] } };
87
94
_netmask = SocketAddress (convertedSubnetMask);
95
+ setDNS (dns_server);
88
96
}
89
97
90
98
void arduino::MbedSocketClass::setDNS (IPAddress dns_server1) {
0 commit comments