Background of first row changeable
This commit is contained in:
parent
95aad4f254
commit
1cea6b377e
@ -54,7 +54,7 @@ end
|
||||
local data={}
|
||||
|
||||
-- Module displaying of the words
|
||||
local generateLEDs = function(words, colorBg, colorFg, colorMin1, colorMin2, colorMin3, colorMin4, invertRows, amountOfChars)
|
||||
local generateLEDs = function(words, colorBg, colorFg, colorMin1, colorMin2, colorMin3, colorMin4, invertRows, amountOfChars, row1bgColor)
|
||||
-- Set the local variables needed for the colored progress bar
|
||||
if (words == nil) then
|
||||
return nil
|
||||
@ -107,14 +107,20 @@ local generateLEDs = function(words, colorBg, colorFg, colorMin1, colorMin2, col
|
||||
-- Space / background has no color by default
|
||||
local space=string.char(0,0,0)
|
||||
|
||||
-- Background color must always be set
|
||||
if (colorBg ~= nil) then
|
||||
space = colorBg
|
||||
else
|
||||
colorBg = space
|
||||
end
|
||||
|
||||
-- Set the foreground color as the default color
|
||||
local buf=data.colorFg
|
||||
local line=space
|
||||
-- line 1----------------------------------------------
|
||||
if (row1bgColor ~= nil) then
|
||||
space = row1bgColor
|
||||
end
|
||||
if (words.it==1) then
|
||||
buf=drawLEDs(data,2) -- ES
|
||||
else
|
||||
@ -135,6 +141,11 @@ if (words.fiveMin== 1) then
|
||||
buf= buf .. space:rep(4)
|
||||
end
|
||||
-- line 2-- even row (so inverted) --------------------
|
||||
if (row2bgColor ~= nil) then
|
||||
space = row2bgColor
|
||||
else
|
||||
space = colorBg
|
||||
end
|
||||
if (words.tenMin == 1) then
|
||||
line= drawLEDs(data,4) -- ZEHN
|
||||
else
|
||||
|
3
main.lua
3
main.lua
@ -72,7 +72,8 @@ function displayTime()
|
||||
invertRows=true
|
||||
end
|
||||
local characters = displayword.countChars(words)
|
||||
ledBuf = displayword.generateLEDs(words, colorBg, color, color1, color2, color3, color4, invertRows, characters)
|
||||
ledBuf = displayword.generateLEDs(words, colorBg, color, color1, color2, color3, color4, invertRows, characters,
|
||||
row1bgColor)
|
||||
end
|
||||
displayword = nil
|
||||
if (ledBuf ~= nil) then
|
||||
|
20
mqtt.lua
20
mqtt.lua
@ -37,6 +37,24 @@ function handleSingleCommand(client, topic, data)
|
||||
|
||||
end
|
||||
|
||||
function parseBgColor(data)
|
||||
local red=nil
|
||||
local green=nil
|
||||
local blue=nil
|
||||
if (data:sub(1,1) == "#") then
|
||||
red = tonumber(data:sub(2,3), 16)
|
||||
green = tonumber(data:sub(4,5), 16)
|
||||
blue = tonumber(data:sub(6,7), 16)
|
||||
else
|
||||
red, green, blue = string.match(data, "(%d+),(%d+),(%d+)")
|
||||
end
|
||||
if ((red ~= nil) and (green ~= nil) and (blue ~= nil) ) then
|
||||
return string.char(green * briPercent / 100, red * briPercent / 100, blue * briPercent / 100)
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
-- MQTT extension
|
||||
function registerMqtt()
|
||||
m = mqtt.Client("wordclock", 120)
|
||||
@ -58,6 +76,8 @@ function registerMqtt()
|
||||
collectgarbage()
|
||||
mydofile("telnet")
|
||||
startTelnetServer()
|
||||
elseif (string.match(topic, "row1$")) then
|
||||
row1bgColor = parseBgColor(data)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user