mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2024-08-30 18:22:34 +00:00
#118 created constructors for basic types
This commit is contained in:
parent
9d5a55bf58
commit
8ebdf2686b
@ -31,7 +31,7 @@ function iocontrol.init(conf, comms)
|
||||
auto_saturated = false,
|
||||
auto_scram = false,
|
||||
|
||||
radiation = { radiation = 0, unit = "nSv" }, ---@type radiation_reading
|
||||
radiation = types.new_zero_radiation_reading(),
|
||||
|
||||
num_units = conf.num_units, ---@type integer
|
||||
|
||||
@ -73,7 +73,7 @@ function iocontrol.init(conf, comms)
|
||||
control_state = false,
|
||||
burn_rate_cmd = 0.0,
|
||||
waste_control = 0,
|
||||
radiation = { radiation = 0, unit = "nSv" }, ---@type radiation_reading
|
||||
radiation = types.new_zero_radiation_reading(),
|
||||
|
||||
a_group = 0, -- auto control group
|
||||
|
||||
|
@ -19,7 +19,7 @@ local iocontrol = require("coordinator.iocontrol")
|
||||
local renderer = require("coordinator.renderer")
|
||||
local sounder = require("coordinator.sounder")
|
||||
|
||||
local COORDINATOR_VERSION = "beta-v0.9.10"
|
||||
local COORDINATOR_VERSION = "beta-v0.9.11"
|
||||
|
||||
local print = util.print
|
||||
local println = util.println
|
||||
|
@ -11,15 +11,46 @@ local types = {}
|
||||
---@field name string
|
||||
---@field amount integer
|
||||
|
||||
-- create a new tank fluid
|
||||
---@param n string name
|
||||
---@param a integer amount
|
||||
---@return radiation_reading
|
||||
function types.new_tank_fluid(n, a) return { name = n, amount = a } end
|
||||
|
||||
-- create a new empty tank fluid
|
||||
---@return tank_fluid
|
||||
function types.new_empty_gas() return { type = "mekanism:empty_gas", amount = 0 } end
|
||||
|
||||
---@class radiation_reading
|
||||
---@field radiation number
|
||||
---@field unit string
|
||||
|
||||
-- create a new radiation reading
|
||||
---@param r number radiaiton level
|
||||
---@param u string radiation unit
|
||||
---@return radiation_reading
|
||||
function types.new_radiation_reading(r, u) return { radiation = r, unit = u } end
|
||||
|
||||
-- create a new zeroed radiation reading
|
||||
---@return radiation_reading
|
||||
function types.new_zero_radiation_reading() return { radiation = 0, unit = "nSv" } end
|
||||
|
||||
---@class coordinate
|
||||
---@field x integer
|
||||
---@field y integer
|
||||
---@field z integer
|
||||
|
||||
-- create a new coordinate
|
||||
---@param x integer
|
||||
---@param y integer
|
||||
---@param z integer
|
||||
---@return coordinate
|
||||
function types.new_coordinate(x, y, z) return { x = x, y = y, z = z } end
|
||||
|
||||
-- create a new zero coordinate
|
||||
---@return coordinate
|
||||
function types.new_zero_coordinate() return { x = 0, y = 0, z = 0 } end
|
||||
|
||||
---@class rtu_advertisement
|
||||
---@field type integer
|
||||
---@field index integer
|
||||
@ -47,7 +78,7 @@ types.PROCESS = {
|
||||
CHARGE = 3,
|
||||
GEN_RATE = 4,
|
||||
MATRIX_FAULT_IDLE = 5,
|
||||
UNIT_ALARM_IDLE = 6,
|
||||
SYSTEM_ALARM_IDLE = 6,
|
||||
GEN_RATE_FAULT_IDLE = 7
|
||||
}
|
||||
|
||||
@ -58,7 +89,7 @@ types.PROCESS_NAMES = {
|
||||
"CHARGE",
|
||||
"GEN_RATE",
|
||||
"MATRIX_FAULT_IDLE",
|
||||
"UNIT_ALARM_IDLE",
|
||||
"SYSTEM_ALARM_IDLE",
|
||||
"GEN_RATE_FAULT_IDLE"
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
local comms = require("scada-common.comms")
|
||||
local log = require("scada-common.log")
|
||||
local mqueue = require("scada-common.mqueue")
|
||||
local types = require("scada-common.types")
|
||||
local util = require("scada-common.util")
|
||||
|
||||
local svqtypes = require("supervisor.session.svqtypes")
|
||||
@ -149,8 +150,8 @@ function plc.new_session(id, for_reactor, in_queue, out_queue, timeout)
|
||||
length = 0,
|
||||
width = 0,
|
||||
height = 0,
|
||||
min_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
max_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
min_pos = types.new_zero_coordinate(),
|
||||
max_pos = types.new_zero_coordinate(),
|
||||
heat_cap = 0,
|
||||
fuel_asm = 0,
|
||||
fuel_sa = 0,
|
||||
|
@ -62,8 +62,8 @@ function boilerv.new(session_id, unit_id, advert, out_queue)
|
||||
length = 0,
|
||||
width = 0,
|
||||
height = 0,
|
||||
min_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
max_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
min_pos = types.new_zero_coordinate(),
|
||||
max_pos = types.new_zero_coordinate(),
|
||||
boil_cap = 0.0,
|
||||
steam_cap = 0,
|
||||
water_cap = 0,
|
||||
@ -80,16 +80,16 @@ function boilerv.new(session_id, unit_id, advert, out_queue)
|
||||
},
|
||||
tanks = {
|
||||
last_update = 0,
|
||||
steam = { type = "mekanism:empty_gas", amount = 0 }, ---@type tank_fluid
|
||||
steam = types.new_empty_gas(),
|
||||
steam_need = 0,
|
||||
steam_fill = 0.0,
|
||||
water = { type = "mekanism:empty_gas", amount = 0 }, ---@type tank_fluid
|
||||
water = types.new_empty_gas(),
|
||||
water_need = 0,
|
||||
water_fill = 0.0,
|
||||
hcool = { type = "mekanism:empty_gas", amount = 0 }, ---@type tank_fluid
|
||||
hcool = types.new_empty_gas(),
|
||||
hcool_need = 0,
|
||||
hcool_fill = 0.0,
|
||||
ccool = { type = "mekanism:empty_gas", amount = 0 }, ---@type tank_fluid
|
||||
ccool = types.new_empty_gas(),
|
||||
ccool_need = 0,
|
||||
ccool_fill = 0.0
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ function envd.new(session_id, unit_id, advert, out_queue)
|
||||
---@class envd_session_db
|
||||
db = {
|
||||
last_update = 0,
|
||||
radiation = { radiation = 0, unit = "nSv" }, ---@type radiation_reading
|
||||
radiation = types.new_zero_radiation_reading(),
|
||||
radiation_raw = 0
|
||||
}
|
||||
}
|
||||
|
@ -62,8 +62,8 @@ function imatrix.new(session_id, unit_id, advert, out_queue)
|
||||
length = 0,
|
||||
width = 0,
|
||||
height = 0,
|
||||
min_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
max_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
min_pos = types.new_zero_coordinate(),
|
||||
max_pos = types.new_zero_coordinate(),
|
||||
max_energy = 0,
|
||||
transfer_cap = 0,
|
||||
cells = 0,
|
||||
|
@ -64,10 +64,10 @@ function sna.new(session_id, unit_id, advert, out_queue)
|
||||
},
|
||||
tanks = {
|
||||
last_update = 0,
|
||||
input = {}, ---@type tank_fluid
|
||||
input = types.new_empty_gas(),
|
||||
input_need = 0,
|
||||
input_fill = 0.0,
|
||||
output = {}, ---@type tank_fluid
|
||||
output = types.new_empty_gas(),
|
||||
output_need = 0,
|
||||
output_fill = 0.0
|
||||
}
|
||||
|
@ -62,8 +62,8 @@ function sps.new(session_id, unit_id, advert, out_queue)
|
||||
length = 0,
|
||||
width = 0,
|
||||
height = 0,
|
||||
min_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
max_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
min_pos = types.new_zero_coordinate(),
|
||||
max_pos = types.new_zero_coordinate(),
|
||||
coils = 0,
|
||||
input_cap = 0,
|
||||
output_cap = 0,
|
||||
@ -75,10 +75,10 @@ function sps.new(session_id, unit_id, advert, out_queue)
|
||||
},
|
||||
tanks = {
|
||||
last_update = 0,
|
||||
input = {}, ---@type tank_fluid
|
||||
input = types.new_empty_gas(),
|
||||
input_need = 0,
|
||||
input_fill = 0.0,
|
||||
output = {}, ---@type tank_fluid
|
||||
output = types.new_empty_gas(),
|
||||
output_need = 0,
|
||||
output_fill = 0.0,
|
||||
energy = 0,
|
||||
|
@ -74,8 +74,8 @@ function turbinev.new(session_id, unit_id, advert, out_queue)
|
||||
length = 0,
|
||||
width = 0,
|
||||
height = 0,
|
||||
min_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
max_pos = { x = 0, y = 0, z = 0 }, ---@type coordinate
|
||||
min_pos = types.new_zero_coordinate(),
|
||||
max_pos = types.new_zero_coordinate(),
|
||||
blades = 0,
|
||||
coils = 0,
|
||||
vents = 0,
|
||||
@ -96,7 +96,7 @@ function turbinev.new(session_id, unit_id, advert, out_queue)
|
||||
},
|
||||
tanks = {
|
||||
last_update = 0,
|
||||
steam = { type = "mekanism:empty_gas", amount = 0 }, ---@type tank_fluid
|
||||
steam = types.new_empty_gas(),
|
||||
steam_need = 0,
|
||||
steam_fill = 0.0,
|
||||
energy = 0,
|
||||
|
@ -14,7 +14,7 @@ local svsessions = require("supervisor.session.svsessions")
|
||||
local config = require("supervisor.config")
|
||||
local supervisor = require("supervisor.supervisor")
|
||||
|
||||
local SUPERVISOR_VERSION = "beta-v0.11.5"
|
||||
local SUPERVISOR_VERSION = "beta-v0.11.6"
|
||||
|
||||
local print = util.print
|
||||
local println = util.println
|
||||
|
Loading…
Reference in New Issue
Block a user