From 1afafba5014308e4c405c1d3afb2ad7084e52a42 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Tue, 19 Jul 2022 15:18:11 -0400 Subject: [PATCH] wrap os.pullEventRaw to have return types --- coordinator/coordinator.lua | 3 +-- coordinator/startup.lua | 5 ++--- reactor-plc/startup.lua | 2 +- reactor-plc/threads.lua | 3 +-- rtu/startup.lua | 2 +- rtu/threads.lua | 3 +-- scada-common/types.lua | 34 ++++++++++++++++++++++++++++++++++ scada-common/util.lua | 10 ++++++++++ supervisor/startup.lua | 5 ++--- 9 files changed, 53 insertions(+), 14 deletions(-) diff --git a/coordinator/coordinator.lua b/coordinator/coordinator.lua index 3a304f6..9a72cdb 100644 --- a/coordinator/coordinator.lua +++ b/coordinator/coordinator.lua @@ -267,8 +267,7 @@ function coordinator.comms(version, modem, sv_port, sv_listen, api_listen, sv_wa clock.start() while (util.time_s() - start) < timeout_s and not self.sv_linked do ----@diagnostic disable-next-line: undefined-field - local event, p1, p2, p3, p4, p5 = os.pullEventRaw() + local event, p1, p2, p3, p4, p5 = util.pull_event() if event == "timer" and clock.is_clock(p1) then -- timed out attempt, try again diff --git a/coordinator/startup.lua b/coordinator/startup.lua index efcd82c..d0320c7 100644 --- a/coordinator/startup.lua +++ b/coordinator/startup.lua @@ -13,7 +13,7 @@ local config = require("coordinator.config") local coordinator = require("coordinator.coordinator") local renderer = require("coordinator.renderer") -local COORDINATOR_VERSION = "alpha-v0.3.4" +local COORDINATOR_VERSION = "alpha-v0.3.5" local print = util.print local println = util.println @@ -149,8 +149,7 @@ log.debug("boot> conn watchdog started") -- event loop -- ui_ok will never change in this loop, same as while true or exit if UI start failed while ui_ok do ----@diagnostic disable-next-line: undefined-field - local event, param1, param2, param3, param4, param5 = os.pullEventRaw() + local event, param1, param2, param3, param4, param5 = util.pull_event() -- handle event if event == "peripheral_detach" then diff --git a/reactor-plc/startup.lua b/reactor-plc/startup.lua index c718f19..62c3efe 100644 --- a/reactor-plc/startup.lua +++ b/reactor-plc/startup.lua @@ -13,7 +13,7 @@ local config = require("reactor-plc.config") local plc = require("reactor-plc.plc") local threads = require("reactor-plc.threads") -local R_PLC_VERSION = "beta-v0.8.1" +local R_PLC_VERSION = "beta-v0.8.2" local print = util.print local println = util.println diff --git a/reactor-plc/threads.lua b/reactor-plc/threads.lua index 45a8201..2ee2906 100644 --- a/reactor-plc/threads.lua +++ b/reactor-plc/threads.lua @@ -55,8 +55,7 @@ function threads.thread__main(smem, init) local plc_comms = smem.plc_sys.plc_comms local conn_watchdog = smem.plc_sys.conn_watchdog ----@diagnostic disable-next-line: undefined-field - local event, param1, param2, param3, param4, param5 = os.pullEventRaw() + local event, param1, param2, param3, param4, param5 = util.pull_event() -- handle event if event == "timer" and loop_clock.is_clock(param1) then diff --git a/rtu/startup.lua b/rtu/startup.lua index ed39c9a..2c00791 100644 --- a/rtu/startup.lua +++ b/rtu/startup.lua @@ -25,7 +25,7 @@ local imatrix_rtu = require("rtu.dev.imatrix_rtu") local turbine_rtu = require("rtu.dev.turbine_rtu") local turbinev_rtu = require("rtu.dev.turbinev_rtu") -local RTU_VERSION = "beta-v0.7.9" +local RTU_VERSION = "beta-v0.7.10" local rtu_t = types.rtu_t diff --git a/rtu/threads.lua b/rtu/threads.lua index 4e812de..42ea746 100644 --- a/rtu/threads.lua +++ b/rtu/threads.lua @@ -49,8 +49,7 @@ function threads.thread__main(smem) -- event loop while true do ----@diagnostic disable-next-line: undefined-field - local event, param1, param2, param3, param4, param5 = os.pullEventRaw() + local event, param1, param2, param3, param4, param5 = util.pull_event() if event == "timer" and loop_clock.is_clock(param1) then -- start next clock timer diff --git a/scada-common/types.lua b/scada-common/types.lua index 7e31e58..75f381a 100644 --- a/scada-common/types.lua +++ b/scada-common/types.lua @@ -37,6 +37,40 @@ types.TRI_FAIL = { -- 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 rtu_t string types.rtu_t = { redstone = "redstone", diff --git a/scada-common/util.lua b/scada-common/util.lua index 2bd1903..ccf9ff4 100644 --- a/scada-common/util.lua +++ b/scada-common/util.lua @@ -180,6 +180,16 @@ function util.time() return util.time_ms() end +-- OS -- + +-- OS pull event raw wrapper with types +---@param target_event? string event to wait for +---@return os_event event, any param1, any param2, any param3, any param4, any param5 +function util.pull_event(target_event) +---@diagnostic disable-next-line: undefined-field + return os.pullEventRaw(target_event) +end + -- PARALLELIZATION -- -- protected sleep call so we still are in charge of catching termination diff --git a/supervisor/startup.lua b/supervisor/startup.lua index be4f366..49348ed 100644 --- a/supervisor/startup.lua +++ b/supervisor/startup.lua @@ -13,7 +13,7 @@ local svsessions = require("supervisor.session.svsessions") local config = require("supervisor.config") local supervisor = require("supervisor.supervisor") -local SUPERVISOR_VERSION = "beta-v0.5.3" +local SUPERVISOR_VERSION = "beta-v0.5.4" local print = util.print local println = util.println @@ -84,8 +84,7 @@ loop_clock.start() -- event loop while true do ----@diagnostic disable-next-line: undefined-field - local event, param1, param2, param3, param4, param5 = os.pullEventRaw() + local event, param1, param2, param3, param4, param5 = util.pull_event() -- handle event if event == "peripheral_detach" then