2016-05-21 17 views
0

Die RTOS SDK docs haben diese C Codebeispiel:Erzwingen Schlummermodus in NodeMCU

wifi_set_opmode(NULL_MODE);    // set WiFi mode to null mode. 
wifi_fpm_set_sleep_type(LIGHT_SLEEP_T); // light sleep 
wifi_fpm_open();   
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,3); 
gpio_pin_wakeup_enable(13, GPIO_PIN_INTR_LOLEVEL); 
wifi_fpm_set_wakeup_cb(fpm_wakup_cb_func1); // Set wakeup callback 
wifi_fpm_do_sleep(0xFFFFFFF);   

Ist irgendetwas davon NodeMCU aussetzen?

Antwort

1

Mit Blick auf wifi.sleep Umsetzung nodemcu in wifi.c:

//wifi.sleep() 
static int wifi_sleep(lua_State* L) 
{ 
... 
    // set WiFi mode to null mode 
wifi_set_opmode(NULL_MODE); 
// set force sleep type 
wifi_fpm_set_sleep_type(MODEM_SLEEP_T); 
wifi_fpm_open(); 
wifi_fpm_do_sleep_return_value = wifi_fpm_do_sleep(FPM_SLEEP_MAX_TIME); 
... 
} 

Dann um wifi_fpm_set_sleep_type mit LIGHT_SLEEP_T zu nennen, Sie nodemcu und wahrscheinlich für Wakeup ändern müssen Sie müssen wifi.sleep(0), wenn die Eingangswechsel nennen.

+0

Danke! Was ist mit gpio_pin_wakeup_enable? Ich suchte die nodemcu Quellen, der Prototyp ist nirgendwo drin. Es ist in 0.9.6 dev, sieht aus wie die lib es kommt aus eagle.rom.addr.v6.ld. Das Makefile für die neuesten Quellen verweist auf eagle.rom.addr.v6.ld, also brauche ich nur die Prototyp-Deklaration und ein paar Änderungen an wifi_sleep ... oder? –

+0

wifi.sleep scheint nichts zu tun, ist es deshalb undokumentiert? –

+0

Es gibt ein Dokument im [Pull Request # 725] (https://github.com/nodemcu/nodemcu-firmware/pull/725) und es gibt einige Diskussionen darüber in [Ausgabe # 1115] (https: // github.com/nodemcu/nodemcu-firmware/issues/1115) – mpromonet