#460 renderer logging

This commit is contained in:
Mikayla Fischler 2024-04-07 20:47:31 -04:00
parent eab1ffbe03
commit 45573be8c7
4 changed files with 38 additions and 30 deletions

View File

@ -192,7 +192,7 @@ end
---@return function? update, function? done
local function log_dmesg(message, dmesg_tag, working)
local colors = {
GRAPHICS = colors.green,
RENDER = colors.green,
SYSTEM = colors.cyan,
BOOT = colors.blue,
COMMS = colors.purple,
@ -206,7 +206,7 @@ local function log_dmesg(message, dmesg_tag, working)
end
end
function coordinator.log_graphics(message) log_dmesg(message, "GRAPHICS") end
function coordinator.log_render(message) log_dmesg(message, "RENDER") end
function coordinator.log_sys(message) log_dmesg(message, "SYSTEM") end
function coordinator.log_boot(message) log_dmesg(message, "BOOT") end
function coordinator.log_comms(message) log_dmesg(message, "COMMS") end

View File

@ -5,6 +5,7 @@
local log = require("scada-common.log")
local util = require("scada-common.util")
local coordinator = require("coordinator.coordinator")
local iocontrol = require("coordinator.iocontrol")
local style = require("coordinator.ui.style")
@ -20,6 +21,8 @@ local flasher = require("graphics.flasher")
local DisplayBox = require("graphics.elements.displaybox")
local log_render = coordinator.log_render
---@class coord_renderer
local renderer = {}
@ -387,12 +390,15 @@ function renderer.handle_resize(name)
engine.dmesg_window.setVisible(not engine.ui_ready)
if engine.ui_ready then
local draw_start = util.time_ms()
local ok = pcall(function ()
ui.main_display = DisplayBox{window=device,fg_bg=style.root}
main_view(ui.main_display)
end)
if not ok then
if ok then
log_render("main view re-draw completed in " .. (util.time_ms() - draw_start) .. "ms")
else
if ui.main_display then
ui.main_display.delete()
ui.main_display = nil
@ -420,14 +426,15 @@ function renderer.handle_resize(name)
iocontrol.fp_monitor_state("flow", true)
if engine.ui_ready then
engine.dmesg_window.setVisible(false)
local draw_start = util.time_ms()
local ok = pcall(function ()
ui.flow_display = DisplayBox{window=device,fg_bg=style.root}
flow_view(ui.flow_display)
end)
if not ok then
if ok then
log_render("flow view re-draw completed in " .. (util.time_ms() - draw_start) .. "ms")
else
if ui.flow_display then
ui.flow_display.delete()
ui.flow_display = nil
@ -457,14 +464,15 @@ function renderer.handle_resize(name)
iocontrol.fp_monitor_state(idx, true)
if engine.ui_ready then
engine.dmesg_window.setVisible(false)
local draw_start = util.time_ms()
local ok = pcall(function ()
ui.unit_displays[idx] = DisplayBox{window=device,fg_bg=style.root}
unit_view(ui.unit_displays[idx], idx)
end)
if not ok then
if ok then
log_render("unit " .. idx .. " view re-draw completed in " .. (util.time_ms() - draw_start) .. "ms")
else
if ui.unit_displays[idx] then
ui.unit_displays[idx].delete()
ui.unit_displays[idx] = nil

View File

@ -26,7 +26,7 @@ local CHUNK_LOAD_DELAY_S = 30.0
local println = util.println
local println_ts = util.println_ts
local log_graphics = coordinator.log_graphics
local log_render = coordinator.log_render
local log_sys = coordinator.log_sys
local log_boot = coordinator.log_boot
local log_comms = coordinator.log_comms
@ -126,7 +126,7 @@ local function main()
-- lets get started!
log.info("monitors ready, dmesg output incoming...")
log_graphics("displays connected and reset")
log_render("displays connected and reset")
log_sys("system start on " .. os.date("%c"))
log_boot("starting " .. COORDINATOR_VERSION)
@ -227,16 +227,16 @@ local function main()
-- start front panel
----------------------------------------
log_graphics("starting front panel UI...")
log_render("starting front panel UI...")
local fp_message
crd_state.fp_ok, fp_message = renderer.try_start_fp()
if not crd_state.fp_ok then
log_graphics(util.c("front panel UI error: ", fp_message))
log_render(util.c("front panel UI error: ", fp_message))
println_ts("front panel UI creation failed")
log.fatal(util.c("front panel GUI render failed with error ", fp_message))
return
else log_graphics("front panel ready") end
else log_render("front panel ready") end
----------------------------------------
-- start system

View File

@ -13,7 +13,7 @@ local apisessions = require("coordinator.session.apisessions")
local core = require("graphics.core")
local log_graphics = coordinator.log_graphics
local log_render = coordinator.log_render
local log_sys = coordinator.log_sys
local log_comms = coordinator.log_comms
@ -267,17 +267,17 @@ function threads.thread__render(smem)
-- received a command
if msg.message == MQ__RENDER_CMD.START_MAIN_UI then
-- start up the main UI
log_graphics("starting main UI...")
log_render("starting main UI...")
local draw_start = util.time_ms()
local ui_message
crd_state.ui_ok, ui_message = renderer.try_start_ui()
if not crd_state.ui_ok then
log_graphics(util.c("main UI error: ", ui_message))
log_render(util.c("main UI error: ", ui_message))
log.fatal(util.c("main GUI render failed with error ", ui_message))
else
log_graphics("main UI draw took " .. (util.time_ms() - draw_start) .. "ms")
log_render("main UI draw took " .. (util.time_ms() - draw_start) .. "ms")
end
elseif msg.message == MQ__RENDER_CMD.UPDATE then
-- new data