mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2024-08-30 18:22:34 +00:00
154 lines
2.9 KiB
Lua
154 lines
2.9 KiB
Lua
--
|
|
-- Global Types
|
|
--
|
|
|
|
---@class types
|
|
local types = {}
|
|
|
|
-- CLASSES --
|
|
|
|
---@class tank_fluid
|
|
---@field name string
|
|
---@field amount integer
|
|
|
|
---@class coordinate
|
|
---@field x integer
|
|
---@field y integer
|
|
---@field z integer
|
|
|
|
---@class rtu_advertisement
|
|
---@field type integer
|
|
---@field index integer
|
|
---@field reactor integer
|
|
---@field rsio table|nil
|
|
|
|
-- ALIASES --
|
|
|
|
---@alias color integer
|
|
|
|
-- ENUMERATION TYPES --
|
|
|
|
---@alias TRI_FAIL integer
|
|
types.TRI_FAIL = {
|
|
OK = 0,
|
|
PARTIAL = 1,
|
|
FULL = 2
|
|
}
|
|
|
|
-- STRING TYPES --
|
|
|
|
---@alias os_event
|
|
---| "alarm"
|
|
---| "char"
|
|
---| "computer_command"
|
|
---| "disk"
|
|
---| "disk_eject"
|
|
---| "http_check"
|
|
---| "http_failure"
|
|
---| "http_success"
|
|
---| "key"
|
|
---| "key_up"
|
|
---| "modem_message"
|
|
---| "monitor_resize"
|
|
---| "monitor_touch"
|
|
---| "mouse_click"
|
|
---| "mouse_drag"
|
|
---| "mouse_scroll"
|
|
---| "mouse_up"
|
|
---| "paste"
|
|
---| "peripheral"
|
|
---| "peripheral_detach"
|
|
---| "rednet_message"
|
|
---| "redstone"
|
|
---| "speaker_audio_empty"
|
|
---| "task_complete"
|
|
---| "term_resize"
|
|
---| "terminate"
|
|
---| "timer"
|
|
---| "turtle_inventory"
|
|
---| "websocket_closed"
|
|
---| "websocket_failure"
|
|
---| "websocket_message"
|
|
---| "websocket_success"
|
|
|
|
---@alias rps_trip_cause
|
|
---| "ok"
|
|
---| "dmg_crit"
|
|
---| "high_temp"
|
|
---| "no_coolant"
|
|
---| "full_waste"
|
|
---| "heated_coolant_backup"
|
|
---| "no_fuel"
|
|
---| "fault"
|
|
---| "timeout"
|
|
---| "manual"
|
|
|
|
---@alias rtu_t string
|
|
types.rtu_t = {
|
|
redstone = "redstone",
|
|
boiler = "boiler",
|
|
boiler_valve = "boiler_valve",
|
|
turbine = "turbine",
|
|
turbine_valve = "turbine_valve",
|
|
energy_machine = "emachine",
|
|
induction_matrix = "induction_matrix",
|
|
sps = "sps",
|
|
sna = "sna",
|
|
env_detector = "environment_detector"
|
|
}
|
|
|
|
---@alias rps_status_t string
|
|
types.rps_status_t = {
|
|
ok = "ok",
|
|
dmg_crit = "dmg_crit",
|
|
high_temp = "high_temp",
|
|
no_coolant = "no_coolant",
|
|
ex_waste = "full_waste",
|
|
ex_hcoolant = "heated_coolant_backup",
|
|
no_fuel = "no_fuel",
|
|
fault = "fault",
|
|
timeout = "timeout",
|
|
manual = "manual"
|
|
}
|
|
|
|
-- turbine steam dumping modes
|
|
---@alias DUMPING_MODE string
|
|
types.DUMPING_MODE = {
|
|
IDLE = "IDLE",
|
|
DUMPING = "DUMPING",
|
|
DUMPING_EXCESS = "DUMPING_EXCESS"
|
|
}
|
|
|
|
-- MODBUS
|
|
|
|
-- modbus function codes
|
|
---@alias MODBUS_FCODE integer
|
|
types.MODBUS_FCODE = {
|
|
READ_COILS = 0x01,
|
|
READ_DISCRETE_INPUTS = 0x02,
|
|
READ_MUL_HOLD_REGS = 0x03,
|
|
READ_INPUT_REGS = 0x04,
|
|
WRITE_SINGLE_COIL = 0x05,
|
|
WRITE_SINGLE_HOLD_REG = 0x06,
|
|
WRITE_MUL_COILS = 0x0F,
|
|
WRITE_MUL_HOLD_REGS = 0x10,
|
|
ERROR_FLAG = 0x80
|
|
}
|
|
|
|
-- modbus exception codes
|
|
---@alias MODBUS_EXCODE integer
|
|
types.MODBUS_EXCODE = {
|
|
ILLEGAL_FUNCTION = 0x01,
|
|
ILLEGAL_DATA_ADDR = 0x02,
|
|
ILLEGAL_DATA_VALUE = 0x03,
|
|
SERVER_DEVICE_FAIL = 0x04,
|
|
ACKNOWLEDGE = 0x05,
|
|
SERVER_DEVICE_BUSY = 0x06,
|
|
NEG_ACKNOWLEDGE = 0x07,
|
|
MEMORY_PARITY_ERROR = 0x08,
|
|
GATEWAY_PATH_UNAVAILABLE = 0x0A,
|
|
GATEWAY_TARGET_TIMEOUT = 0x0B
|
|
}
|
|
|
|
return types
|