clear more variables
This commit is contained in:
parent
744c36b8b5
commit
72734f1337
112
main.lua
112
main.lua
@ -34,15 +34,15 @@ function displayTime()
|
|||||||
collectgarbage()
|
collectgarbage()
|
||||||
mydofile("wordclock")
|
mydofile("wordclock")
|
||||||
if (wc ~= nil) then
|
if (wc ~= nil) then
|
||||||
local words = wc.timestat(time.hour, time.minute)
|
local words = wc.timestat(time.hour, time.minute)
|
||||||
if ((dim ~= nil) and (dim == "on")) then
|
if ((dim ~= nil) and (dim == "on")) then
|
||||||
words.briPer=briPer
|
words.briPer=briPer
|
||||||
if (words.briPer ~= nil and words.briPer < 3) then
|
if (words.briPer ~= nil and words.briPer < 3) then
|
||||||
words.briPer=3
|
words.briPer=3
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
words.briPer=nil
|
words.briPer=nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
wc = nil
|
wc = nil
|
||||||
collectgarbage()
|
collectgarbage()
|
||||||
@ -51,7 +51,7 @@ function displayTime()
|
|||||||
if (dw ~= nil) then
|
if (dw ~= nil) then
|
||||||
--if lines 4 to 6 are inverted due to hardware-fuckup, unfuck it here
|
--if lines 4 to 6 are inverted due to hardware-fuckup, unfuck it here
|
||||||
local invertRows=false
|
local invertRows=false
|
||||||
if ((inv46 ~= nil) and (inv46 == "on")) then
|
if ((inv46 ~= nil) and (inv46 == "on")) then
|
||||||
invertRows=true
|
invertRows=true
|
||||||
end
|
end
|
||||||
local c = dw.countChars(words)
|
local c = dw.countChars(words)
|
||||||
@ -83,11 +83,51 @@ function normalOperation()
|
|||||||
color=string.char(0,0,250)
|
color=string.char(0,0,250)
|
||||||
end
|
end
|
||||||
print("start: " , node.heap())
|
print("start: " , node.heap())
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- Define the main loop
|
||||||
|
local setupCounter=5
|
||||||
|
local alive=0
|
||||||
|
looptimer:register(2500, tmr.ALARM_AUTO, function (lt)
|
||||||
|
if (setupCounter > 4) then
|
||||||
|
syncTimeFromInternet()
|
||||||
|
setupCounter=setupCounter-1
|
||||||
|
alive = 1
|
||||||
|
elseif (setupCounter > 3) then
|
||||||
|
-- Here the WLAN is found, and something is done
|
||||||
|
mydofile("mqtt")
|
||||||
|
if (startMqttClient ~= nil) then
|
||||||
|
startMqttClient()
|
||||||
|
else
|
||||||
|
print("NO Mqtt found")
|
||||||
|
mydofile("telnet")
|
||||||
|
end
|
||||||
|
setupCounter=setupCounter-1
|
||||||
|
elseif (setupCounter > 2) then
|
||||||
|
if (startTelnetServer ~= nil) then
|
||||||
|
startTelnetServer()
|
||||||
|
else
|
||||||
|
displayTime()
|
||||||
|
end
|
||||||
|
setupCounter=setupCounter-1
|
||||||
|
elseif ( (alive % 120) == 0) then
|
||||||
|
-- sync the time every 5 minutes
|
||||||
|
syncTimeFromInternet()
|
||||||
|
alive = alive + 1
|
||||||
|
collectgarbage()
|
||||||
|
else
|
||||||
|
displayTime()
|
||||||
|
alive = alive + 1
|
||||||
|
end
|
||||||
|
-- Feed the system watchdog.
|
||||||
|
tmr.wdclr()
|
||||||
|
end)
|
||||||
|
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- Connect to Wifi
|
||||||
local connect_counter=0
|
local connect_counter=0
|
||||||
-- Wait to be connect to the WiFi access point.
|
-- Wait to be connect to the WiFi access point.
|
||||||
local wifitimer = tmr.create()
|
local wifitimer = tmr.create()
|
||||||
wifitimer:register(2000, tmr.ALARM_SINGLE, function (t)
|
wifitimer:register(2000, tmr.ALARM_AUTO, function (timer)
|
||||||
connect_counter=connect_counter+1
|
connect_counter=connect_counter+1
|
||||||
if wifi.sta.status() ~= 5 then
|
if wifi.sta.status() ~= 5 then
|
||||||
print(connect_counter .. "/60 Connecting to AP...")
|
print(connect_counter .. "/60 Connecting to AP...")
|
||||||
@ -123,51 +163,11 @@ function normalOperation()
|
|||||||
ws2812.write(string.char(0,0,0):rep(114))
|
ws2812.write(string.char(0,0,0):rep(114))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
t:unregister()
|
timer:unregister()
|
||||||
|
wifitimer=nil
|
||||||
|
connect_counter=nil
|
||||||
print('IP: ',wifi.sta.getip(), " heap: ", node.heap())
|
print('IP: ',wifi.sta.getip(), " heap: ", node.heap())
|
||||||
-- Here the WLAN is found, and something is done
|
looptimer:start()
|
||||||
mydofile("mqtt")
|
|
||||||
|
|
||||||
local setupCounter=5
|
|
||||||
local alive=0
|
|
||||||
looptimer:register(2500, tmr.ALARM_AUTO, function (lt)
|
|
||||||
if (setupCounter > 4) then
|
|
||||||
syncTimeFromInternet()
|
|
||||||
setupCounter=setupCounter-1
|
|
||||||
alive = 1
|
|
||||||
elseif (setupCounter > 3) then
|
|
||||||
if (startMqttClient ~= nil) then
|
|
||||||
startMqttClient()
|
|
||||||
else
|
|
||||||
print("NO Mqtt found")
|
|
||||||
mydofile("telnet")
|
|
||||||
end
|
|
||||||
setupCounter=setupCounter-1
|
|
||||||
elseif (setupCounter > 2) then
|
|
||||||
if (startTelnetServer ~= nil) then
|
|
||||||
startTelnetServer()
|
|
||||||
else
|
|
||||||
displayTime()
|
|
||||||
end
|
|
||||||
setupCounter=setupCounter-1
|
|
||||||
elseif ( (alive % 120) == 0) then
|
|
||||||
-- sync the time every 5 minutes
|
|
||||||
syncTimeFromInternet()
|
|
||||||
alive = alive + 1
|
|
||||||
else
|
|
||||||
displayTime()
|
|
||||||
alive = alive + 1
|
|
||||||
end
|
|
||||||
collectgarbage()
|
|
||||||
-- Feed the system watchdog.
|
|
||||||
tmr.wdclr()
|
|
||||||
end)
|
|
||||||
looptimer:start()
|
|
||||||
|
|
||||||
end
|
|
||||||
-- when no wifi available, open an accesspoint and ask the user
|
|
||||||
if (connect_counter >= 60) then -- 300 is 30 sec in 100ms cycle
|
|
||||||
startSetupMode()
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
wifitimer:start()
|
wifitimer:start()
|
||||||
|
Loading…
Reference in New Issue
Block a user