For downcasting, static_cast<> is the appropriate cast. Using reinterpret_cast<> will NOT correctly adjust the `this` pointer and dereferencing such a value is undefined by spec. See [expr.reinterpret.cast]p7 for the relevant passage. The only legal use of this pointer is in another set of reinterpret_cast expressions that either land it into a numeric value, or back to the original type.
Many people have problems with using ESP8266 as WiFi-client due to
none of the examples mentioning that you should use WIFI_STA if you
only want the ESP8266 to act as a WiFi-client. Many WiFi-devices
will randomly try to connect to the ESP8266 if used as STA+AP and
complain about not being able to access the Internet or other devices
on the network.
About the simplest change possible, just delete two characters and add one. The PUT(String) convenience method called the full POST method instead of calling the PUT method
gettimeofday used to return timestamps which had tv_sec 1000 times smaller than the correct value.
s_bootTime is in seconds, so no need to divide it by 1000.
this fix forces the mDNS to use the provided IP in the begin method
instead of the auto detected IP. this is required if the ESP8266 starts
in the AP_STA mode and activates only the AP initially.
* Optimize MDNS to prevent overflow and endless loop
* Handle better non-esp services
* leave debug off
* better name resolution for external devices
* strip name length (did not show in IDE)
* Update ESP8266WiFiAP.cpp
It is not very common but some might require to set the maximum number of clients, from code, to smaller than 4.
in my case i must allow only one client at a time (TESTED WORKING)
* Update ESP8266WiFiAP.h
as discussed in the .cpp (set max connections)
* Update ESP8266WiFiAP.cpp
corrected indentation @70
add param comment @86
* Update ESP8266WiFiAP.cpp
* Fix analogWrite
Move to NMI interrupt
Rework the whole ISR to take less and more constant cycles
Current defaults run 10bits/1KHz@160MHz and 9bit/1KHz@80MHz (soft
mapped)
* astyle and remove STORE_ATTR
* Fix minor typo in spelling of failed. Removed s from http paths.
* add check if we are just updating spiffs to not reboot. example now works with this change.
This will allow using the String library in a ranged for loop:
```C++
String s("Hi, this is a test");
for (const char& ch : s) {
Serial.print(ch);
}
```
and even modify
```C++
String s("Hi, this is another test");
for (char& ch : s) {
ch++;
}
Serial.println(s);
```