✨ 添加开机时 netled 的呼吸灯效果, 联网后变成闪烁状态
This commit is contained in:
parent
ec0d16a894
commit
53e4120f73
@ -74,7 +74,7 @@ sys.taskInit(
|
|||||||
-- 等待网络环境准备就绪
|
-- 等待网络环境准备就绪
|
||||||
sys.waitUntil("IP_READY")
|
sys.waitUntil("IP_READY")
|
||||||
|
|
||||||
util_netled.blink(50, 50, 1000)
|
util_netled.init()
|
||||||
|
|
||||||
-- 开机基站定位
|
-- 开机基站定位
|
||||||
util_location.getCoord(
|
util_location.getCoord(
|
||||||
|
@ -1,15 +1,49 @@
|
|||||||
local util_netled = {}
|
local util_netled = {}
|
||||||
|
|
||||||
local netled = gpio.setup(27, 0, gpio.PULLUP)
|
|
||||||
|
|
||||||
local netled_default_duration = 200
|
local netled_default_duration = 200
|
||||||
local netled_default_interval = 2000
|
local netled_default_interval = 3000
|
||||||
|
|
||||||
local netled_duration = netled_default_duration
|
local netled_duration = netled_default_duration
|
||||||
local netled_interval = netled_default_interval
|
local netled_interval = netled_default_interval
|
||||||
|
|
||||||
|
local netled_inited = false
|
||||||
|
|
||||||
|
-- 开机时呼吸灯效果
|
||||||
sys.taskInit(
|
sys.taskInit(
|
||||||
function()
|
function()
|
||||||
|
local nums = {0, 1, 2, 4, 6, 12, 16, 21, 27, 34, 42, 51, 61, 72, 85, 100, 100}
|
||||||
|
while true do
|
||||||
|
for i = 1, #nums, 1 do
|
||||||
|
pwm.open(4, 1000, nums[i])
|
||||||
|
result = sys.waitUntil("NET_LED_INIT", 25)
|
||||||
|
if result then
|
||||||
|
pwm.close(4)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for i = #nums, 1, -1 do
|
||||||
|
pwm.open(4, 1000, nums[i])
|
||||||
|
result = sys.waitUntil("NET_LED_INIT", 25)
|
||||||
|
if result then
|
||||||
|
pwm.close(4)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- 注册网络后开始闪烁
|
||||||
|
function util_netled.init()
|
||||||
|
if netled_inited then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
netled_inited = true
|
||||||
|
sys.publish("NET_LED_INIT")
|
||||||
|
|
||||||
|
sys.taskInit(
|
||||||
|
function()
|
||||||
|
local netled = gpio.setup(27, 0, gpio.PULLUP)
|
||||||
while true do
|
while true do
|
||||||
netled(1)
|
netled(1)
|
||||||
sys.waitUntil("NET_LED_UPDATE", netled_duration)
|
sys.waitUntil("NET_LED_UPDATE", netled_duration)
|
||||||
@ -17,23 +51,19 @@ sys.taskInit(
|
|||||||
sys.waitUntil("NET_LED_UPDATE", netled_interval)
|
sys.waitUntil("NET_LED_UPDATE", netled_interval)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
end
|
||||||
|
|
||||||
function util_netled.blink(duration, interval, restore)
|
function util_netled.blink(duration, interval, restore)
|
||||||
|
if duration == netled_duration and interval == netled_interval then
|
||||||
|
return
|
||||||
|
end
|
||||||
netled_duration = duration or netled_default_duration
|
netled_duration = duration or netled_default_duration
|
||||||
netled_interval = interval or netled_default_interval
|
netled_interval = interval or netled_default_interval
|
||||||
log.info("publish NET_LED_UPDATE")
|
log.debug("EVENT.NET_LED_UPDATE", duration, interval, restore)
|
||||||
sys.publish("NET_LED_UPDATE")
|
sys.publish("NET_LED_UPDATE")
|
||||||
if restore then
|
if restore then
|
||||||
sys.timerStart(
|
sys.timerStart(util_netled.blink, restore)
|
||||||
function()
|
|
||||||
netled_duration = netled_default_duration
|
|
||||||
netled_interval = netled_default_interval
|
|
||||||
log.info("publish NET_LED_UPDATE")
|
|
||||||
sys.publish("NET_LED_UPDATE")
|
|
||||||
end,
|
|
||||||
restore
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user