← index #2620PR #6774
Off-topic · high · value 0.369
QUERY · ISSUE

RFC: offical API to save WiFi-connection parameter

openby puuuopened 2016-11-11updated 2024-07-19
rfc

After @MarkR42 explained that the automatic storing of the WiFi-connection parameter can wear-out the flash of the ESP8266 many discussions came up: #2510, #2547, #2564 and http://forum.micropython.org/viewtopic.php?f=16&t=2631

This explains the importance of this issue.

In principle, the feature of saving the connection parameter is due to the ESP8266 SDK and strictly speaking not compatible to the existing HW API (https://github.com/micropython/micropython/wiki/Hardware-API#the-wlan-class). But on the other hand it provides a nice user experience. Also @pfalcon explained that this is a common feature in smart phones, computers, … So we have to expect, that the ESP8266 will not be the only device that supports saving of WiFi-connection parameters.
But, this side effects can lead to permanent hardware damage. Thus, we need a way to at least deactivate this feature.

Therefore, we have to find an agreement about the method, default behaviour and API names. That is the reason for this issue.

There are already three different possible methods described:

a) #2510 additional parameter save_to_flash in wlan.connect()
b) https://github.com/micropython/micropython/pull/2510#issuecomment-255714114 additional function esp.persist_wlan(val) which allows the user to turn on/off the feature of saving WiFi settings to flash
c) #2564 additional function esp.save_config() to save configuration to flash on demand

As default behaviour we have the possibilities:

  • wlan.connect() and wlan.active() always save to flash. That will probably lead to permanent hardware damage and is not possible for devices that do not support the saving (e.g. the WiPy board).
  • wlan.connect() and wlan.active() don't always save to flash. This will break the user experience of the ESP8266 users.

What are your comments?

CANDIDATE · PULL REQUEST

esp32/modnetwork: interface to the WIFI power save functions of ESP-IDF

closedby karfasopened 2021-01-16updated 2022-09-09
port-esp32

New function WLAN.wifi_ps() with zero or one parameter.
New constants in network:
WIFI_PS_NONE
WIFI_PS_MIN_MODEM
WIFI_PS_MAX_MODEM

When called without parameter, the function returns the current WIFI power save mode.
When called with one parameter, the power save mode is set to the value of the parameter and the previous power save mode is returned.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied