Move startup procedure into one loop
This commit is contained in:
		
							
								
								
									
										50
									
								
								main.lua
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								main.lua
									
									
									
									
									
								
							| @@ -31,16 +31,20 @@ end | ||||
|  | ||||
|  | ||||
| function syncTimeFromInternet() | ||||
| --ptbtime1.ptb.de | ||||
|   if (syncRunning == nil) then | ||||
|     syncRunning=true | ||||
|     sntp.sync(sntpserverhostname, | ||||
|      function(sec,usec,server) | ||||
|       print('sync', sec, usec, server) | ||||
|       displayTime() | ||||
|       syncRunning=nil | ||||
|      end, | ||||
|      function() | ||||
|        print('failed!') | ||||
|        syncRunning=nil | ||||
|      end | ||||
|    ) | ||||
|   end | ||||
| end | ||||
|  | ||||
| briPercent = 50 | ||||
| @@ -155,25 +159,34 @@ function normalOperation() | ||||
|             print("Loading " .. mod) | ||||
|             mydofile(mod) | ||||
|         end | ||||
|          | ||||
|         tmr.alarm(2, 500, 0 ,function() | ||||
|             syncTimeFromInternet() | ||||
|         end) | ||||
|         tmr.alarm(3, 2000, 0 ,function() | ||||
|     		if (startTelnetServer ~= nil) then | ||||
|     			startTelnetServer() | ||||
|     		else | ||||
|     			print("NO Telent found") | ||||
|     		end | ||||
|         end) | ||||
|         -- Start the time Thread | ||||
|  | ||||
|         setupCounter=5 | ||||
|         tmr.alarm(1, 5000, 1 ,function() | ||||
|              displayTime() | ||||
|              collectgarbage() | ||||
|          end) | ||||
|             if (setupCounter > 4) then | ||||
|                 syncTimeFromInternet() | ||||
|                 setupCounter=setupCounter-1 | ||||
|             elseif (setupCounter > 3) then | ||||
|                 if (startTelnetServer ~= nil) then | ||||
|                     startTelnetServer() | ||||
|                 else | ||||
|                     print("NO Telent found") | ||||
|                 end | ||||
|                 setupCounter=setupCounter-1 | ||||
|             elseif (setupCounter > 2) then | ||||
|                 if (startMqttClient ~= nil) then | ||||
|                     startMqttClient() | ||||
|                 else | ||||
|                     print("NO Mqtt found") | ||||
|                 end | ||||
|                 setupCounter=setupCounter-1 | ||||
|             else | ||||
|                 displayTime() | ||||
|             end | ||||
|             collectgarbage() | ||||
|         end) | ||||
|           | ||||
|         -- sync the time every 5 minutes | ||||
|         tmr.alarm(4, 300000, 1 ,function() | ||||
|         tmr.alarm(2, 300000, 1 ,function() | ||||
|             syncTimeFromInternet() | ||||
|             displayTime() | ||||
|         end) | ||||
| @@ -198,7 +211,7 @@ ws2812.init() -- WS2812 LEDs initialized on GPIO2 | ||||
| if ( file.open("config.lua") ) then | ||||
|     --- Normal operation | ||||
|     wifi.setmode(wifi.STATION) | ||||
|     dofile("config.lua") | ||||
|     mydofile("config") | ||||
|     normalOperation() | ||||
| else | ||||
|     -- Logic for inital setup | ||||
| @@ -217,6 +230,7 @@ tmr.alarm(4, 500, 1 ,function() | ||||
|         ws2812.write(ledBuf) | ||||
|         if (btnCounter >= 110) then | ||||
|             file.remove("config.lua") | ||||
|             file.remove("config.lc") | ||||
|             node.restart() | ||||
|         end | ||||
|      end | ||||
|   | ||||
							
								
								
									
										25
									
								
								mqtt.lua
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								mqtt.lua
									
									
									
									
									
								
							| @@ -34,14 +34,17 @@ function startMqtt() | ||||
|     end) | ||||
| end | ||||
|  | ||||
| if (mqttServer ~= nil and mqttPrefix ~= nil) then | ||||
|     startMqtt() | ||||
|     print "Started MQTT client" | ||||
|     oldBrightness=0 | ||||
|     tmr.alarm(5, 10000, 1 ,function() | ||||
|         if (oldBrightness ~= briPercent) then | ||||
|          m:publish(mqttPrefix .. "/brightness", tostring(briPercent), 0, 0) | ||||
|         end | ||||
|         oldBrightness = briPercent | ||||
|     end) | ||||
| end | ||||
| function startMqttClient() | ||||
|     if (mqttServer ~= nil and mqttPrefix ~= nil) then | ||||
|         startMqtt() | ||||
|         print "Started MQTT client" | ||||
|         oldBrightness=0 | ||||
|         tmr.alarm(5, 10000, 1 ,function() | ||||
|             if (oldBrightness ~= briPercent) then | ||||
|              m:publish(mqttPrefix .. "/brightness", tostring(briPercent), 0, 0) | ||||
|              m:publish(mqttPrefix .. "/heap", tostring(node.heap()), 0, 0) | ||||
|             end | ||||
|             oldBrightness = briPercent | ||||
|         end) | ||||
|     end | ||||
| end | ||||
		Reference in New Issue
	
	Block a user