2023-04-17 18:49:53 +00:00
|
|
|
node.alias "testcard"
|
2023-03-14 08:55:54 +00:00
|
|
|
util.init_hosted()
|
|
|
|
|
|
|
|
local json = require "json"
|
|
|
|
|
|
|
|
local serial = sys.get_env "SERIAL"
|
2023-03-14 12:40:56 +00:00
|
|
|
local location = ""
|
2023-03-14 08:55:54 +00:00
|
|
|
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")
|
|
|
|
|
2023-04-17 18:49:53 +00:00
|
|
|
local v = {}
|
|
|
|
|
|
|
|
util.data_mapper{
|
|
|
|
["update/(.*)"] = function(key, val)
|
|
|
|
v[key] = val
|
|
|
|
end
|
|
|
|
}
|
|
|
|
|
2023-03-14 08:55:54 +00:00
|
|
|
function node.render()
|
|
|
|
gl.clear(0,0,0,1)
|
|
|
|
|
|
|
|
card:draw(0, 0, 1920, 1080)
|
|
|
|
|
|
|
|
-- upper: 623
|
|
|
|
-- lower: 707
|
|
|
|
|
2023-04-17 18:49:53 +00:00
|
|
|
upper_text = "CCC: " .. description
|
2023-03-14 12:40:56 +00:00
|
|
|
|
|
|
|
if location == nil or location == '' then
|
|
|
|
lower_text = "Serial " .. serial
|
|
|
|
else
|
|
|
|
lower_text = location .. " - Serial " .. serial
|
|
|
|
end
|
2023-03-14 08:55:54 +00:00
|
|
|
|
|
|
|
upper_width = font:width(upper_text, 40)
|
2023-03-14 11:58:52 +00:00
|
|
|
font:write(960-(upper_width/2), 631, upper_text, 40, 1,1,1,1)
|
2023-03-14 08:55:54 +00:00
|
|
|
|
|
|
|
lower_width = font:width(lower_text, 20)
|
2023-03-14 11:58:52 +00:00
|
|
|
font:write(960-(lower_width/2), 679, lower_text, 20, 1,1,1,1)
|
2023-04-17 18:49:53 +00:00
|
|
|
|
|
|
|
-- TODO
|
|
|
|
local size, k_x, v_x, y
|
|
|
|
|
|
|
|
size = math.floor(HEIGHT/20)
|
|
|
|
y = 30+size*6
|
|
|
|
k_x, v_x = 30, 30+font:width("XXXXXXXXXXXXXXXX", size)
|
|
|
|
|
|
|
|
local function key(str)
|
|
|
|
font:write(k_x, y, str, size, 1,1,1,.5)
|
|
|
|
end
|
|
|
|
local function val(str, col)
|
|
|
|
col = col or {1,1,1,.5}
|
|
|
|
font:write(v_x, y, str, size, unpack(col))
|
|
|
|
y = y + size*1.1
|
|
|
|
end
|
|
|
|
|
|
|
|
if v.network then
|
|
|
|
key "Network config"
|
|
|
|
val(v.network)
|
|
|
|
end
|
|
|
|
|
|
|
|
if v.ethip then
|
|
|
|
key "Ethernet IPv4"
|
|
|
|
val(v.ethip)
|
|
|
|
end
|
|
|
|
|
|
|
|
if v.wlanip then
|
|
|
|
key "WiFi IPv4"
|
|
|
|
val(v.wlanip)
|
|
|
|
end
|
|
|
|
|
|
|
|
if v.gw then
|
|
|
|
key "Gateway"
|
|
|
|
val(v.gw)
|
|
|
|
end
|
|
|
|
|
|
|
|
if v.online then
|
|
|
|
key "Online status"
|
|
|
|
local col = {1,0,0,1}
|
|
|
|
if v.online == "online" then
|
|
|
|
col = {0,1,0,1}
|
|
|
|
end
|
|
|
|
val(v.online, col)
|
|
|
|
end
|
2023-03-14 08:55:54 +00:00
|
|
|
end
|