You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* - Add assert in HelloMesh.ino for invalid transmission status.
- Make uint64ToString and stringToUint64 methods into stand-alone type conversion functions.
- Add getters and setters for requestHandler and responseHandler.
- Polish HelloMesh.ino code by adding networkIndex as networkFilter loop variable and switching networkFilter definition position.
- Add initial WiFi.disconnect() in HelloMesh.ino setup() function to ensure smooth WiFi operation.
- Add latestTransmissionSuccessful() convenience method.
- Change default WiFi mode to WIFI_STA and improve handling of WiFi mode (fixes issue #5071).
- Add checks to methods that change AP properties to avoid unnecessary AP restarts.
- Add getter for ESP8266WiFiMesh SSID and getters and setters for ESP8266WiFiMesh settings related to hidden SSID usage, max station connections allowed per AP and WiFi timeouts.
- Make waitForClientTransmission method use more accurate timekeeping.
- Improve type usage.
- Improve comments.
- Update README.md, keywords.txt and library.properties.
* Make getter and setter order consistent throughout code.
* - Fix active AP getting turned off when calling begin().
- Fix crash bug due to WiFiServer duplication when using the ESP8266WiFiMesh copy constructor with the AP controller as argument, under certain circumstances.
* - Move non performance-sensitive Strings to flash memory to save RAM.
- Add comments explaining F(), FPSTR() and PROGMEM.
- Fix README.md formatting.
* Remove the uint64ToString and stringToUint64 methods from the ESP8266WiFiMesh class since they are now stand-alone functions in the TypeConversionFunctions files.
* Change the minimum valid argument value of the setMaxAPStations method to 0, since this value is also supported by the ESP8266.
* Fix compiler warning.
* This library can use static IP:s for the nodes to speed up connection times. To enable this, use the `setStaticIP` method after calling the `begin` method, as in the included example. Ensure that nodes connecting to the same AP have distinct static IP:s. Node IP:s need to be at the same subnet as the server gateway (192.168.4 for this library by default). It may also be worth noting that station gateway IP must match the IP for the server on the nodes, though this is the default setting for the library.
52
52
53
-
At the moment static IP is a global setting, meaning that all ESP8266WiFiMesh instances on a single ESP8266 share the same static IP settings.
53
+
At the moment static IP is a global setting, meaning that all ESP8266WiFiMesh instances on the same ESP8266 share the same static IP settings.
54
54
55
55
* When Arduino core for ESP8266 version 2.4.2 or higher is used, there are optimizations available for WiFi scans and static IP use to reduce the time it takes for nodes to connect to each other. These optimizations are enabled by default. To take advantage of the static IP optimizations you also need to use lwIP2. The lwIP version can be changed in the Tools menu of Arduino IDE.
56
56
@@ -74,7 +74,7 @@ General Information
74
74
75
75
* This library uses the standard Arduino core for ESP8266 WiFi functions. Therefore, other code that also uses these WiFi functions may cause conflicts with the library, resulting in strange behaviour.
76
76
77
-
*A maximum of 5 stations can be connected at a time to each AP.
77
+
*By default, a maximum of 4 stations can be connected at a time to each AP. This can be changed to a value in the range 0 to 8 via the `setMaxAPStations` method. Once the max number has been reached, any other station that wants to connect will be forced to wait until an already connected station disconnects. The more stations that are connected, the more memory is required.
78
78
79
79
* Unlike `WiFi.mode(WIFI_AP)`, the `WiFi.mode(WIFI_AP_STA)` which is used in this library allows nodes to stay connected to an AP they connect to while in STA mode, at the same time as they can receive connections from other stations. Nodes cannot send data to an AP while in STA_AP mode though, that requires STA mode. Switching to STA mode will sometimes disconnect stations connected to the node AP (though they can request a reconnect even while the previous AP node is in STA mode).
// Prevents the flash memory from being worn out, see: https://github.com/esp8266/Arduino/issues/1054 .
79
99
// This will however delay node WiFi start-up by about 700 ms. The delay is 900 ms if we otherwise would have stored the WiFi network we want to connect to.
@@ -84,15 +104,19 @@ void setup() {
84
104
85
105
//yield(); // Use this if you don't want to wait for Serial.
86
106
107
+
// The WiFi.disconnect() ensures that the WiFi is working correctly. If this is not done before receiving WiFi connections,
108
+
// those WiFi connections will take a long time to make or sometimes will not work at all.
109
+
WiFi.disconnect();
110
+
87
111
Serial.println();
88
112
Serial.println();
89
113
90
-
Serial.println("Note that this library can use static IP:s for the nodes to speed up connection times.\n"
91
-
"Use the setStaticIP method as shown in this example to enable this.\n"
92
-
"Ensure that nodes connecting to the same AP have distinct static IP:s.\n"
93
-
"Also, remember to change the default mesh network password!\n\n");
114
+
Serial.println(F("Note that this library can use static IP:s for the nodes to speed up connection times.\n"
115
+
"Use the setStaticIP method as shown in this example to enable this.\n"
116
+
"Ensure that nodes connecting to the same AP have distinct static IP:s.\n"
117
+
"Also, remember to change the default mesh network password!\n\n"));
0 commit comments