From b4e8eec9bf2cbb3c8841a0a8ecd9d1bb510ee115 Mon Sep 17 00:00:00 2001 From: ollo Date: Wed, 17 Apr 2019 20:13:25 +0200 Subject: [PATCH] Unload all functions, not necessary for the webserver --- webserver.lua | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/webserver.lua b/webserver.lua index 2aad4cf..bf3f542 100644 --- a/webserver.lua +++ b/webserver.lua @@ -135,31 +135,45 @@ function startWebServer() if (payload:find("GET /") ~= nil) then - httpSending=true - --here is code for handling http request from a web-browser + httpSending=true + --here is code for handling http request from a web-browser collectgarbage() -- Stop all for i=0,5 do tmr.stop(i) end - -- unload all other modules - package.loaded['displayword.lc']=nil - package.loaded['main.lc']=nil - package.loaded['wordclock']=nil + -- unload all other functions + -- grep function *.lua | grep -v webserver | cut -f 2 -d ':' | grep "^function" | sed "s/function //g" | grep -o "^[a-zA-Z0-9\_]*" + updateColor = nil + drawLEDs = nil + round = nil + generateLEDs = nil + startSetupMode = nil + syncTimeFromInternet = nil + displayTime = nil + normalOperation = nil + isSummerTime = nil + getUTCtime = nil + getTime = nil + display_timestat = nil + display_countcharacters_de = nil + display_countwords_de = nil collectgarbage() ws2812.write(string.char(0,0,0):rep(56) .. color:rep(2) .. string.char(0,0,0):rep(4) .. color:rep(2) .. string.char(0,0,0):rep(48)) -- Start Time after 1 minute - tmr.alarm(6, 60000, 0 ,function() + tmr.alarm(5, 60000, 0 ,function() -- Start the time Thread tmr.alarm(1, 20000, 1 ,function() dofile("main.lc") end) end) - if (sendPage ~= nil) then - print("Sending webpage.html (" .. tostring(node.heap()) .. "B free) ...") - -- Load the sendPagewebcontent - replaceMap=fillDynamicMap() - sendPage(conn, "webpage.html", replaceMap) - end - + -- send response after 100ms + tmr.alarm(5, 100, 0 ,function() + if (sendPage ~= nil) then + print("Sending webpage.html (" .. tostring(node.heap()) .. "B free) ...") + -- Load the sendPagewebcontent + replaceMap=fillDynamicMap() + sendPage(conn, "webpage.html", replaceMap) + end + end) else if (payload:find("POST /") ~=nil) then --code for handling the POST-request (updating settings) _, postdatastart = payload:find("\r\n\r\n")