J'ai fait un sacré moment car quand le NodeMCU se réveille d'un dsleep il est toujours vu comme venant d'un hard reset et pas moyen alors de détecter que l'on était en dsleep. Maintenant je sauve un flag dans la rtc-mem et je peux tester ce flag au moment du reset et détecter si je sors du dsleep. Reste encore à mieux faire la détection wifi pour savoir si on arrête le dsleep ou si on le relance
39 lines
1.1 KiB
Lua
39 lines
1.1 KiB
Lua
-- programme pour faire clignoter x fois une LED avec un rapport on/off
|
|
|
|
function flash_led_xfois()
|
|
print("\n flash_led_xfois.lua zf200722.1139 \n")
|
|
|
|
--zLED=0 --NodeMCU
|
|
--zLED=4 --EPS-M3
|
|
zTm_On_LED = 50 --> en ms
|
|
zTm_Off_LED = 100 --> en ms
|
|
nbfois = 0
|
|
gpio.write(zLED, gpio.HIGH)
|
|
gpio.mode(zLED, gpio.OUTPUT)
|
|
ztmr_Flash_LED = tmr.create()
|
|
|
|
function blink_LED ()
|
|
if nbfois >= xfois then
|
|
-- print(nbfois)
|
|
nbfois = 0
|
|
else
|
|
if gpio.read(zLED)==gpio.HIGH then
|
|
gpio.write(zLED, gpio.LOW)
|
|
-- tmr.alarm(ztmr_Flash_LED, zTm_Off_LED, tmr.ALARM_SINGLE, blink_LED)
|
|
ztmr_Flash_LED:alarm(zTm_Off_LED, tmr.ALARM_SINGLE, blink_LED)
|
|
else
|
|
gpio.write(zLED, gpio.HIGH)
|
|
nbfois = nbfois+1
|
|
-- tmr.alarm(ztmr_Flash_LED, zTm_On_LED, tmr.ALARM_SINGLE, blink_LED)
|
|
ztmr_Flash_LED:alarm(zTm_On_LED, tmr.ALARM_SINGLE, blink_LED)
|
|
end
|
|
end
|
|
end
|
|
|
|
xfois =2
|
|
blink_LED ()
|
|
end
|
|
|
|
flash_led_xfois()
|
|
|