From 7ab5ea710f334844526c77d434f88ca407697922 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Tue, 25 Feb 2025 14:52:05 -0500 Subject: [PATCH] additional supervisor config validations --- supervisor/config/facility.lua | 1 + supervisor/startup.lua | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/supervisor/config/facility.lua b/supervisor/config/facility.lua index ba90b72..b67e8f4 100644 --- a/supervisor/config/facility.lua +++ b/supervisor/config/facility.lua @@ -299,6 +299,7 @@ function facility.create(tool_ctl, main_pane, cfg_sys, fac_cfg, style) tmp_cfg.FacilityTankDefs = {} tmp_cfg.FacilityTankList = {} tmp_cfg.FacilityTankConns = {} + tmp_cfg.TankFluidTypes = {} end if any_has_tank then fac_pane.set_value(3) else main_pane.set_value(3) end diff --git a/supervisor/startup.lua b/supervisor/startup.lua index c235e09..3e63616 100644 --- a/supervisor/startup.lua +++ b/supervisor/startup.lua @@ -10,6 +10,7 @@ local log = require("scada-common.log") local network = require("scada-common.network") local ppm = require("scada-common.ppm") local tcd = require("scada-common.tcd") +local types = require("scada-common.types") local util = require("scada-common.util") local core = require("graphics.core") @@ -72,6 +73,21 @@ if config.FacilityTankMode > 0 then cfv.assert_type_int(def) cfv.assert_range(def, 0, 2) assert(cfv.valid(), "startup> invalid facility tank definition for reactor unit " .. i) + + local entry = config.FacilityTankList[i] + cfv.assert_type_int(entry) + cfv.assert_range(entry, 0, 2) + assert(cfv.valid(), "startup> invalid facility tank list entry for tank " .. i) + + local conn = config.FacilityTankConns[i] + cfv.assert_type_int(conn) + cfv.assert_range(conn, 0, #config.FacilityTankDefs) + assert(cfv.valid(), "startup> invalid facility tank connection for reactor unit " .. i) + + local type = config.TankFluidTypes[i] + cfv.assert_type_int(type) + cfv.assert_range(type, 0, types.COOLANT_TYPE.SODIUM) + assert(cfv.valid(), "startup> invalid tank fluid type for tank " .. i) end end