mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2024-08-30 18:22:34 +00:00
Merge pull request #518 from MikaylaFischler/pocket-alpha-dev
Pocket alpha dev
This commit is contained in:
commit
34fe5dc382
@ -20,7 +20,7 @@ local pocket = require("pocket.pocket")
|
||||
local renderer = require("pocket.renderer")
|
||||
local threads = require("pocket.threads")
|
||||
|
||||
local POCKET_VERSION = "v0.11.0-alpha"
|
||||
local POCKET_VERSION = "v0.11.1-alpha"
|
||||
|
||||
local println = util.println
|
||||
local println_ts = util.println_ts
|
||||
|
@ -188,11 +188,12 @@ local function new_view(root)
|
||||
local unit_gen_page = guide_section(sect_construct_data, annunc_page, "Unit General", docs.annunc.unit.main_section, 170)
|
||||
local unit_rps_page = guide_section(sect_construct_data, annunc_page, "Unit RPS", docs.annunc.unit.rps_section, 100)
|
||||
local unit_rcs_page = guide_section(sect_construct_data, annunc_page, "Unit RCS", docs.annunc.unit.rcs_section, 170)
|
||||
local fac_annunc_page = guide_section(sect_construct_data, annunc_page, "Facility", docs.annunc.unit.fac_section, 100)
|
||||
|
||||
PushButton{parent=annunc_div,y=3,text="Unit General >",fg_bg=btn_fg_bg,active_fg_bg=btn_active,callback=unit_gen_page.nav_to}
|
||||
PushButton{parent=annunc_div,text="Unit RPS >",fg_bg=btn_fg_bg,active_fg_bg=btn_active,callback=unit_rps_page.nav_to}
|
||||
PushButton{parent=annunc_div,text="Unit RCS >",fg_bg=btn_fg_bg,active_fg_bg=btn_active,callback=unit_rcs_page.nav_to}
|
||||
PushButton{parent=annunc_div,text="Facility General >",fg_bg=btn_fg_bg,active_fg_bg=btn_active,dis_fg_bg=btn_disable,callback=function()end}.disable()
|
||||
PushButton{parent=annunc_div,text="Facility General >",fg_bg=btn_fg_bg,active_fg_bg=btn_active,callback=fac_annunc_page.nav_to}
|
||||
PushButton{parent=annunc_div,text="Waste & Valves >",fg_bg=btn_fg_bg,active_fg_bg=btn_active,dis_fg_bg=btn_disable,callback=function()end}.disable()
|
||||
|
||||
TextBox{parent=fps,y=1,text="Front Panels",alignment=ALIGN.CENTER}
|
||||
|
@ -28,7 +28,7 @@ doc("TurbineTripAlarm", "Turbine Trip", "A turbine stopped rotating, likely due
|
||||
|
||||
docs.annunc = {
|
||||
unit = {
|
||||
main_section = {}, rps_section = {}, rcs_section = {}
|
||||
main_section = {}, rps_section = {}, rcs_section = {}, fac_section = {}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,15 +78,35 @@ doc("TurbineOverSpeed", "Turbine Over Speed", "The turbine is at steam capacity,
|
||||
doc("GeneratorTrip", "Generator Trip", "The turbine is no longer outputting power due to it having nowhere to go. Likely due to full power storage. This will lead to a Turbine Trip if not addressed.")
|
||||
doc("TurbineTrip", "Turbine Trip", "The turbine has reached its maximum power charge and has stopped rotating, and as a result stopped cooling steam to water. Ensure the turbine has somewhere to output power, as this is the most common cause of reactor meltdowns. However, the likelihood of a meltdown with this system in place is much lower, especially with emergency coolant helping during turbine trips.")
|
||||
|
||||
target = docs.annunc.unit.fac_section
|
||||
doc("?", "Unit Systems Online", "All unit systems (reactors, boilers, and turbines) are connected.")
|
||||
doc("?", "Radiation Monitor", "At least one facility radiation monitor is connected")
|
||||
doc("?", "Induction Matrix", "The induction matrix is connected.")
|
||||
doc("?", "SPS Connected", "Indicates if the super-critical phase shifter is connected.")
|
||||
doc("?", "Configured Units Ready", "All units assigned to automatic control are ready to run automatic control.")
|
||||
doc("?", "Process Active", "Automatic process control is active.")
|
||||
doc("?", "Process Ramping", "Automatic process control is performing an initial ramp-up of the reactors for later PID control (generation and charge mode).")
|
||||
doc("?", "Min/Max Burn Rate", "Auto control has either commanded 0 mB/t or the maximum total burn rate available (from assigned units).")
|
||||
doc("?", "Automatic SCRAM", "Automatic control system SCRAM'ed the assigned reactors due to a safety hazard, shown by the below indicators.")
|
||||
doc("?", "Matrix Disconnected", "Automatic SCRAM occurred due to loss of induction matrix connection.")
|
||||
doc("?", "Matrix Charge High", "Automatic SCRAM occurred due to induction matrix charge exceeding acceptable limit.")
|
||||
doc("?", "Unit Critical Alarm", "Automatic SCRAM occurred due to critical level unit alarm(s).")
|
||||
doc("?", "Facility Radiation High", "Automatic SCRAM occurred due to high facility radiation levels.")
|
||||
doc("?", "Gen. Control Fault", "Automatic SCRAM occurred due to assigned units being degraded/no longer ready during generation mode. The system will automatically resume (starting with initial ramp) once the problem is resolved.")
|
||||
|
||||
docs.glossary = {
|
||||
abbvs = {}, terms = {}
|
||||
}
|
||||
|
||||
target = docs.glossary.abbvs
|
||||
doc("G_ACK", "ACK", "Alarm ACKnowledge. Pressing this acknowledges that you understand an alarm occurred and would like to stop the audio tone(s).")
|
||||
doc("G_Auto", "Auto", "Automatic.")
|
||||
doc("G_CRD", "CRD", "Coordinator. Abbreviation for the coordinator computer.")
|
||||
doc("G_DBG", "DBG", "Debug. Abbreviation for the debugging sessions from pocket computers found on the supervisor's front panel.")
|
||||
doc("G_FP", "FP", "Front Panel. See Terminology.")
|
||||
doc("G_Hi", "Hi", "High.")
|
||||
doc("G_Lo", "Lo", "Low.")
|
||||
doc("G_PID", "PID", "A Proportional Integral Derivitave closed-loop controller.")
|
||||
doc("G_PKT", "PKT", "Pocket. Abbreviation for the pocket computer.")
|
||||
doc("G_PLC", "PLC", "Programmable Logic Controller. A device that not only reports data and controls outputs, but can also make decisions on its own.")
|
||||
doc("G_PPM", "PPM", "Protected Peripheral Manager. This is an abstraction layer created for this project that prevents peripheral calls from crashing applications.")
|
||||
@ -99,8 +119,11 @@ doc("G_SVR", "SVR", "Supervisor. Abbreviation for the supervisory computer.")
|
||||
doc("G_UI", "UI", "User Interface.")
|
||||
|
||||
target = docs.glossary.terms
|
||||
doc("G_AssignedUnit", "Assigned Unit", "A unit that is assigned to an automatic control group (not assigned to Manual).")
|
||||
doc("G_Fault", "Fault", "Something has gone wrong and/or failed to function.")
|
||||
doc("G_FrontPanel", "Front Panel", "A basic interface on the front of a device for viewing and sometimes modifying its state. This is what you see when looking at a computer running one of the SCADA applications.")
|
||||
doc("G_HighHigh", "High High", "Very High.")
|
||||
doc("G_LowLow", "Low Low", "Very Low.")
|
||||
doc("G_Nominal", "Nominal", "Normal operation. Everything operating as intended.")
|
||||
doc("G_Ringback", "Ringback", "An indication that an alarm had gone off but is no longer having its trip condition(s) met. This is to make you are aware that it occurred.")
|
||||
doc("G_SCRAM", "SCRAM", "[Emergency] shut-down of a reactor by stopping the fission. In Mekanism and here, it isn't always for an emergency.")
|
||||
|
@ -2,32 +2,34 @@
|
||||
-- Pocket GUI Root
|
||||
--
|
||||
|
||||
local util = require("scada-common.util")
|
||||
local util = require("scada-common.util")
|
||||
|
||||
local iocontrol = require("pocket.iocontrol")
|
||||
local pocket = require("pocket.pocket")
|
||||
local iocontrol = require("pocket.iocontrol")
|
||||
local pocket = require("pocket.pocket")
|
||||
|
||||
local diag_apps = require("pocket.ui.apps.diag_apps")
|
||||
local dummy_app = require("pocket.ui.apps.dummy_app")
|
||||
local guide_app = require("pocket.ui.apps.guide")
|
||||
local loader_app = require("pocket.ui.apps.loader")
|
||||
local sys_apps = require("pocket.ui.apps.sys_apps")
|
||||
local unit_app = require("pocket.ui.apps.unit")
|
||||
local diag_apps = require("pocket.ui.apps.diag_apps")
|
||||
local dummy_app = require("pocket.ui.apps.dummy_app")
|
||||
local guide_app = require("pocket.ui.apps.guide")
|
||||
local loader_app = require("pocket.ui.apps.loader")
|
||||
local sys_apps = require("pocket.ui.apps.sys_apps")
|
||||
local unit_app = require("pocket.ui.apps.unit")
|
||||
|
||||
local home_page = require("pocket.ui.pages.home_page")
|
||||
local home_page = require("pocket.ui.pages.home_page")
|
||||
|
||||
local style = require("pocket.ui.style")
|
||||
local style = require("pocket.ui.style")
|
||||
|
||||
local core = require("graphics.core")
|
||||
local core = require("graphics.core")
|
||||
|
||||
local Div = require("graphics.elements.div")
|
||||
local MultiPane = require("graphics.elements.multipane")
|
||||
local TextBox = require("graphics.elements.textbox")
|
||||
local Div = require("graphics.elements.div")
|
||||
local MultiPane = require("graphics.elements.multipane")
|
||||
local TextBox = require("graphics.elements.textbox")
|
||||
|
||||
local PushButton = require("graphics.elements.controls.push_button")
|
||||
local Sidebar = require("graphics.elements.controls.sidebar")
|
||||
local WaitingAnim = require("graphics.elements.animations.waiting")
|
||||
|
||||
local SignalBar = require("graphics.elements.indicators.signal")
|
||||
local PushButton = require("graphics.elements.controls.push_button")
|
||||
local Sidebar = require("graphics.elements.controls.sidebar")
|
||||
|
||||
local SignalBar = require("graphics.elements.indicators.signal")
|
||||
|
||||
local ALIGN = core.ALIGN
|
||||
local cpair = core.cpair
|
||||
@ -39,8 +41,6 @@ local APP_ID = pocket.APP_ID
|
||||
local function init(main)
|
||||
local db = iocontrol.get_db()
|
||||
|
||||
local main_pane = Div{parent=main,x=1,y=2}
|
||||
|
||||
-- window header message and connection status
|
||||
TextBox{parent=main,y=1,text="EARLY ACCESS ALPHA S C ",alignment=ALIGN.LEFT,fg_bg=style.header}
|
||||
local svr_conn = SignalBar{parent=main,y=1,x=22,compact=true,colors_low_med=cpair(colors.red,colors.yellow),disconnect_color=colors.lightGray,fg_bg=cpair(colors.green,colors.gray)}
|
||||
@ -49,6 +49,14 @@ local function init(main)
|
||||
db.ps.subscribe("svr_conn_quality", svr_conn.set_value)
|
||||
db.ps.subscribe("crd_conn_quality", crd_conn.set_value)
|
||||
|
||||
local start_pane = Div{parent=main,x=1,y=2}
|
||||
local main_pane = Div{parent=main,x=1,y=2}
|
||||
|
||||
WaitingAnim{parent=start_pane,x=12,y=7,fg_bg=cpair(colors.lightBlue,style.root.bkg)}
|
||||
TextBox{parent=start_pane,y=11,text="starting up...",alignment=ALIGN.CENTER,fg_bg=cpair(colors.lightGray,style.root.bkg)}
|
||||
|
||||
local root_pane = MultiPane{parent=main,x=1,y=2,panes={start_pane,main_pane}}
|
||||
|
||||
local page_div = Div{parent=main_pane,x=4,y=1}
|
||||
|
||||
-- create all the apps & pages
|
||||
@ -69,6 +77,9 @@ local function init(main)
|
||||
PushButton{parent=main_pane,x=1,y=19,text="\x1b",min_width=3,fg_bg=cpair(colors.white,colors.gray),active_fg_bg=cpair(colors.gray,colors.black),callback=db.nav.nav_up}
|
||||
|
||||
db.nav.open_app(APP_ID.ROOT)
|
||||
|
||||
-- done with initial render, lets go!
|
||||
root_pane.set_value(2)
|
||||
end
|
||||
|
||||
return init
|
||||
|
Loading…
Reference in New Issue
Block a user