Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d5eb265

Browse filesBrowse files
authored
WiFi config(): warning for legacy idioms (esp8266#9050)
1 parent cb9734c commit d5eb265
Copy full SHA for d5eb265

File tree

Expand file treeCollapse file tree

3 files changed

+14
-8
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+14
-8
lines changed

‎cores/esp8266/LwipIntfDev.h

Copy file name to clipboardExpand all lines: cores/esp8266/LwipIntfDev.h
+4-1Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ class LwipIntfDev: public LwipIntf, public RawDev
6969
const IPAddress& arg3 = IPADDR_NONE, const IPAddress& dns2 = IPADDR_NONE);
7070

7171
// two and one parameter version. 2nd parameter is DNS like in Arduino. IPv4 only
72-
boolean config(IPAddress local_ip, IPAddress dns = INADDR_ANY);
72+
[[deprecated("It is discouraged to use this 1 or 2 parameters network configuration legacy "
73+
"function config(ip[,dns]) as chosen defaults may not match the local network "
74+
"configuration")]] boolean
75+
config(IPAddress local_ip, IPAddress dns = INADDR_ANY);
7376

7477
// default mac-address is inferred from esp8266's STA interface
7578
boolean begin(const uint8_t* macAddress = nullptr, const uint16_t mtu = DEFAULT_MTU);

‎doc/esp8266wifi/station-class.rst

Copy file name to clipboardExpand all lines: doc/esp8266wifi/station-class.rst
+9-7Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ config
9999

100100
Disable `DHCP <https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol>`__ client (Dynamic Host Configuration Protocol) and set the IP configuration of station interface to user defined arbitrary values. The interface will be a static IP configuration instead of values provided by DHCP.
101101

102-
Note that to reenable DHCP, all three parameters as 0.0.0.0 (local_ip, gateway and subnet as ``INADDR_ANY``) must be passed back to config() and re-connecting is needed.
102+
Note that to reenable DHCP, all three parameters (local_ip, gateway and subnet) as IPv4 ``0U`` (= 0.0.0.0) must be passed back to config() and re-connecting is needed.
103103

104104
.. code:: cpp
105105
106-
WiFi.config(local_ip, gateway, subnet)
106+
WiFi.config(local_ip, gateway, subnet) (for Arduino API portability, discouraged as chosen defaults may not match the local network configuration)
107107
WiFi.config(local_ip, gateway, subnet, dns1)
108108
WiFi.config(local_ip, gateway, subnet, dns1, dns2)
109109
@@ -122,16 +122,18 @@ The following IP configuration may be provided:
122122
(like e.g. *www.google.co.uk*) and translate them for us to IP
123123
addresses
124124

125-
For Arduino networking API compatibilty the ESP8266WiFi library supports for IPv4 additional versions of the ``config`` function.
125+
For Arduino networking API compatibility, the ESP8266WiFi library supports IPv4-only additional versions of the ``config`` function:
126126

127127
.. code:: cpp
128128
129-
WiFi.config(local_ip)
130-
WiFi.config(local_ip, dns)
131-
WiFi.config(local_ip, dns, gateway)
129+
WiFi.config(local_ip) (for Arduino API portability, discouraged as chosen defaults may not match the local network configuration)
130+
WiFi.config(local_ip, dns) (for Arduino API portability, discouraged as chosen defaults may not match the local network configuration)
131+
WiFi.config(local_ip, dns, gateway) (for Arduino API portability, discouraged as chosen defaults may not match the local network configuration)
132132
WiFi.config(local_ip, dns, gateway, subnet)
133133
134-
Versions where some of ``dns``, ``gateway`` and ``subnet`` parameters are not specified use a default value. Default ``subnet`` is 255.255.255.0. Default ``gateway`` and ``dns`` are derived from ``local_ip`` by changing the last number to 1. To return to DHCP you can use ``WiFi.config(INADDR_NONE);``.
134+
Versions where some of ``dns``, ``gateway`` and ``subnet`` parameters are not specified use a default value. Default ``subnet`` is 255.255.255.0. Default ``gateway`` and ``dns`` are derived from ``local_ip`` by changing the last number to 1. It is discouraged to use these default values as they may not apply to every network configuration.
135+
136+
Reminder : To reenable DHCP you can use ``WiFi.config(0U, 0U, 0U);``.
135137

136138
**Warning: The default values for dns, gateway and subnet may not match your router's settings.** Also please note, that ``config(local_ip, gateway)`` is not supported and ``WiFi.config(local_ip, gateway, subnet)`` doesn't set the DNS server IP.
137139

‎libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h

Copy file name to clipboardExpand all lines: libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class ESP8266WiFiSTAClass: public LwipIntf {
4949

5050
// two and one parameter version. 2nd parameter is DNS like in Arduino
5151
// IPv4 only
52+
[[deprecated("It is discouraged to use this 1 or 2 parameters network configuration legacy function config(ip[,dns]) as chosen defaults may not match the local network configuration")]]
5253
bool config(IPAddress local_ip, IPAddress dns = INADDR_ANY);
5354

5455
bool setDNS(IPAddress dns1, IPAddress dns2 = INADDR_ANY);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.