89 lines
2 KiB
Lua
89 lines
2 KiB
Lua
node.alias "testcard"
|
|
util.init_hosted()
|
|
|
|
local json = require "json"
|
|
|
|
local serial = sys.get_env "SERIAL"
|
|
local location = ""
|
|
local description = "<please wait>"
|
|
|
|
util.data_mapper{
|
|
["device_info"] = function(info)
|
|
info = json.decode(info)
|
|
location = info.location
|
|
description = info.description
|
|
end
|
|
}
|
|
|
|
gl.setup(NATIVE_WIDTH, NATIVE_HEIGHT)
|
|
|
|
card = resource.load_image("testcard.png")
|
|
font = resource.load_font("vera.ttf")
|
|
|
|
local v = {
|
|
network = "<unkown>",
|
|
ethip = "<unkown>",
|
|
wlanip = "<unkown>",
|
|
gw = "<unkown>"
|
|
}
|
|
|
|
util.data_mapper{
|
|
["update/(.*)"] = function(key, val)
|
|
v[key] = val
|
|
end
|
|
}
|
|
|
|
function node.render()
|
|
gl.clear(0,0,0,1)
|
|
|
|
card:draw(0, 0, 1920, 1080)
|
|
|
|
-- upper: 623
|
|
-- lower: 707
|
|
|
|
upper_text = "CCC: " .. description
|
|
|
|
if location == nil or location == '' then
|
|
lower_text = "Serial " .. serial
|
|
else
|
|
lower_text = location .. " - Serial " .. serial
|
|
end
|
|
|
|
upper_width = font:width(upper_text, 40)
|
|
font:write(960-(upper_width/2), 631, upper_text, 40, 1,1,1,1)
|
|
|
|
lower_width = font:width(lower_text, 20)
|
|
font:write(960-(lower_width/2), 679, lower_text, 20, 1,1,1,1)
|
|
|
|
-- draw text on left and right dark grey area
|
|
local fontsize = 30
|
|
local offset = fontsize+10
|
|
local x_left = 100
|
|
local x_right = 1430
|
|
local y_start = 500
|
|
|
|
-- left side: network config, online status
|
|
local y = y_start
|
|
font:write(x_left, y, "Mode: " .. v.network, fontsize, 1,1,1,1)
|
|
|
|
y = y + offset
|
|
font:write(x_left, y, "GW: " .. v.gw, fontsize, 1,1,1,1)
|
|
|
|
y = y + offset
|
|
if v.online then
|
|
local col = {1,0,0,1}
|
|
if v.online == "online" then
|
|
col = {0,1,0,1}
|
|
end
|
|
font:write(x_left, y, v.online, fontsize, unpack(col))
|
|
end
|
|
|
|
-- right side: IP addresses
|
|
y = y_start
|
|
font:write(x_right, y, "Eth: " .. v.ethip, fontsize, 1,1,1,1)
|
|
|
|
y = y + offset
|
|
font:write(x_right, y, "WiFi: " .. v.wlanip, fontsize, 1,1,1,1)
|
|
|
|
end
|