J'utilisais la possibilité de sauvegarder le flag de dsleep dans la rtc-mem afin de pouvoir différencier lors du boot si c'est un reset ou une sortie de sommeil profond. Maintenant je vais partir du principe que quand il y a un *hardware RESET* c'est forcément une sortie de dsleep. Si on veut avoir la *seconde chance* lors de la procédure de boot, il faudra utiliser le *power on RESET*
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()
|
|
|