#580 supervisor front panel updates for wired modem support
This commit is contained in:
parent
391b68d357
commit
250db00794
@ -34,8 +34,8 @@ local ind_grn = style.ind_grn
|
|||||||
|
|
||||||
-- create new front panel view
|
-- create new front panel view
|
||||||
---@param panel DisplayBox main displaybox
|
---@param panel DisplayBox main displaybox
|
||||||
---@param wl_modem boolean if there is a separate wireless modem
|
---@param config svr_config configuraiton
|
||||||
local function init(panel, wl_modem)
|
local function init(panel, config)
|
||||||
local s_hi_box = style.theme.highlight_box
|
local s_hi_box = style.theme.highlight_box
|
||||||
local s_hi_bright = style.theme.highlight_box_bright
|
local s_hi_bright = style.theme.highlight_box_bright
|
||||||
|
|
||||||
@ -63,21 +63,23 @@ local function init(panel, wl_modem)
|
|||||||
|
|
||||||
heartbeat.register(databus.ps, "heartbeat", heartbeat.update)
|
heartbeat.register(databus.ps, "heartbeat", heartbeat.update)
|
||||||
|
|
||||||
local c_modem = LED{parent=system,label="MODEM"..util.trinary(wl_modem," A",""),colors=ind_grn}
|
if config.WirelessModem then
|
||||||
|
local wl_modem = LED{parent=system,label="WL MODEM",colors=ind_grn}
|
||||||
system.line_break()
|
system.line_break()
|
||||||
|
|
||||||
c_modem.register(databus.ps, "has_modem_a", c_modem.update)
|
wl_modem.register(databus.ps, "has_wl_modem", wl_modem.update)
|
||||||
|
end
|
||||||
|
|
||||||
if wl_modem then
|
if config.WiredModem then
|
||||||
local p_modem = LED{parent=system,label="MODEM B",colors=ind_grn}
|
local wd_modem = LED{parent=system,label="WD MODEM",colors=ind_grn}
|
||||||
system.line_break()
|
system.line_break()
|
||||||
|
|
||||||
p_modem.register(databus.ps, "has_modem_b", p_modem.update)
|
wd_modem.register(databus.ps, "has_wd_modem", wd_modem.update)
|
||||||
end
|
end
|
||||||
|
|
||||||
---@diagnostic disable-next-line: undefined-field
|
---@diagnostic disable-next-line: undefined-field
|
||||||
local comp_id = util.sprintf("(%d)", os.getComputerID())
|
local comp_id = util.sprintf("(%d)", os.getComputerID())
|
||||||
TextBox{parent=system,x=11,y=4,width=6,text=comp_id,fg_bg=style.fp.disabled_fg}
|
TextBox{parent=system,x=12,y=4,width=6,text=comp_id,fg_bg=style.fp.disabled_fg}
|
||||||
|
|
||||||
--
|
--
|
||||||
-- about footer
|
-- about footer
|
||||||
|
|||||||
@ -19,16 +19,14 @@ local ui = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
-- try to start the UI
|
-- try to start the UI
|
||||||
---@param wl_modem boolean if there is a separate wireless modem to display the status of
|
---@param config svr_config configuration
|
||||||
---@param theme FP_THEME front panel theme
|
|
||||||
---@param color_mode COLOR_MODE color mode
|
|
||||||
---@return boolean success, any error_msg
|
---@return boolean success, any error_msg
|
||||||
function renderer.try_start_ui(wl_modem, theme, color_mode)
|
function renderer.try_start_ui(config)
|
||||||
local status, msg = true, nil
|
local status, msg = true, nil
|
||||||
|
|
||||||
if ui.display == nil then
|
if ui.display == nil then
|
||||||
-- set theme
|
-- set theme
|
||||||
style.set_theme(theme, color_mode)
|
style.set_theme(config.FrontPanelTheme, config.ColorMode)
|
||||||
|
|
||||||
-- reset terminal
|
-- reset terminal
|
||||||
term.setTextColor(colors.white)
|
term.setTextColor(colors.white)
|
||||||
@ -42,7 +40,7 @@ function renderer.try_start_ui(wl_modem, theme, color_mode)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- apply color mode
|
-- apply color mode
|
||||||
local c_mode_overrides = style.theme.color_modes[color_mode]
|
local c_mode_overrides = style.theme.color_modes[config.ColorMode]
|
||||||
for i = 1, #c_mode_overrides do
|
for i = 1, #c_mode_overrides do
|
||||||
term.setPaletteColor(c_mode_overrides[i].c, c_mode_overrides[i].hex)
|
term.setPaletteColor(c_mode_overrides[i].c, c_mode_overrides[i].hex)
|
||||||
end
|
end
|
||||||
@ -50,7 +48,7 @@ function renderer.try_start_ui(wl_modem, theme, color_mode)
|
|||||||
-- init front panel view
|
-- init front panel view
|
||||||
status, msg = pcall(function ()
|
status, msg = pcall(function ()
|
||||||
ui.display = DisplayBox{window=term.current(),fg_bg=style.fp.root}
|
ui.display = DisplayBox{window=term.current(),fg_bg=style.fp.root}
|
||||||
panel_view(ui.display, wl_modem)
|
panel_view(ui.display, config)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if status then
|
if status then
|
||||||
|
|||||||
@ -130,7 +130,7 @@ local function main()
|
|||||||
if not pcie.init(config, println) then return end
|
if not pcie.init(config, println) then return end
|
||||||
|
|
||||||
-- start UI
|
-- start UI
|
||||||
local fp_ok, message = renderer.try_start_ui(pcie.has_pocket_nic(), config.FrontPanelTheme, config.ColorMode)
|
local fp_ok, message = renderer.try_start_ui(config)
|
||||||
|
|
||||||
if not fp_ok then
|
if not fp_ok then
|
||||||
println_ts(util.c("UI error: ", message))
|
println_ts(util.c("UI error: ", message))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user