util_netled.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. local util_netled = {}
  2. local netled = gpio.setup(27, 0, gpio.PULLUP)
  3. local netled_default_duration = 200
  4. local netled_default_interval = 2000
  5. local netled_duration = netled_default_duration
  6. local netled_interval = netled_default_interval
  7. sys.taskInit(
  8. function()
  9. while true do
  10. netled(1)
  11. sys.waitUntil("NET_LED_UPDATE", netled_duration)
  12. netled(0)
  13. sys.waitUntil("NET_LED_UPDATE", netled_interval)
  14. end
  15. end
  16. )
  17. function util_netled.blink(duration, interval, restore)
  18. netled_duration = duration or netled_default_duration
  19. netled_interval = interval or netled_default_interval
  20. log.info("publish NET_LED_UPDATE")
  21. sys.publish("NET_LED_UPDATE")
  22. if restore then
  23. sys.timerStart(
  24. function()
  25. netled_duration = netled_default_duration
  26. netled_interval = netled_default_interval
  27. log.info("publish NET_LED_UPDATE")
  28. sys.publish("NET_LED_UPDATE")
  29. end,
  30. restore
  31. )
  32. end
  33. end
  34. return util_netled