diff --git a/configure.lua b/configure.lua new file mode 100644 index 0000000..20e67f3 --- /dev/null +++ b/configure.lua @@ -0,0 +1,16 @@ +print("CONFIGURE> SCANNING FOR CONFIGURATOR...") + +if fs.exists("reactor-plc/configure.lua") then + require("reactor-plc/configure.lua").configure() +elseif fs.exists("rtu/startup.lua") then + print("CONFIGURE> RTU CONFIGURATOR NOT YET IMPLEMENTED IN BETA") +elseif fs.exists("supervisor/startup.lua") then + print("CONFIGURE> SUPERVISOR CONFIGURATOR NOT YET IMPLEMENTED IN BETA") +elseif fs.exists("coordinator/startup.lua") then + print("CONFIGURE> COORDINATOR CONFIGURATOR NOT YET IMPLEMENTED IN BETA") +elseif fs.exists("pocket/startup.lua") then + print("CONFIGURE> POCKET CONFIGURATOR NOT YET IMPLEMENTED IN BETA") +else + print("CONFIGURE> NO CONFIGURATOR FOUND") + print("CONFIGURE> EXIT") +end diff --git a/imgen.py b/imgen.py index 8fc7989..31a61e0 100644 --- a/imgen.py +++ b/imgen.py @@ -60,7 +60,7 @@ def make_manifest(size): }, "files" : { # common files - "system" : [ "initenv.lua", "startup.lua" ], + "system" : [ "initenv.lua", "startup.lua", "configure.lua" ], "common" : list_files("./scada-common"), "graphics" : list_files("./graphics"), "lockbox" : list_files("./lockbox"), @@ -82,7 +82,7 @@ def make_manifest(size): # manifest file estimate "manifest" : size, # common files - "system" : os.path.getsize("initenv.lua") + os.path.getsize("startup.lua"), + "system" : os.path.getsize("initenv.lua") + os.path.getsize("startup.lua") + os.path.getsize("configure.lua"), "common" : dir_size("./scada-common"), "graphics" : dir_size("./graphics"), "lockbox" : dir_size("./lockbox"), diff --git a/initenv.lua b/initenv.lua index fffb705..05ad4f6 100644 --- a/initenv.lua +++ b/initenv.lua @@ -1,18 +1,10 @@ --- --- Initialize the Post-Boot Module Environment --- - return { - -- initialize booted environment - init_env = function () - local _require = require("cc.require") - local _env = setmetatable({}, { __index = _ENV }) - - -- overwrite require/package globals - require, package = _require.make(_env, "/") - - -- reset terminal - term.clear() - term.setCursorPos(1, 1) - end +-- initialize booted environment +init_env = function () + local _require, _env = require("cc.require"), setmetatable({}, { __index = _ENV }) + -- overwrite require/package globals + require, package = _require.make(_env, "/") + -- reset terminal + term.clear(); term.setCursorPos(1, 1) +end } diff --git a/startup.lua b/startup.lua index d312de3..d330066 100644 --- a/startup.lua +++ b/startup.lua @@ -1,6 +1,6 @@ local util = require("scada-common.util") -local BOOTLOADER_VERSION = "0.2" +local BOOTLOADER_VERSION = "0.3" local println = util.println local println_ts = util.println_ts @@ -12,39 +12,26 @@ local exit_code ---@type boolean println_ts("BOOT> SCANNING FOR APPLICATIONS...") if fs.exists("reactor-plc/startup.lua") then - -- found reactor-plc application - println("BOOT> FOUND REACTOR PLC APPLICATION") - println("BOOT> EXEC STARTUP") + println("BOOT> FOUND REACTOR PLC CODE: EXEC STARTUP") exit_code = shell.execute("reactor-plc/startup") elseif fs.exists("rtu/startup.lua") then - -- found rtu application - println("BOOT> FOUND RTU APPLICATION") - println("BOOT> EXEC STARTUP") + println("BOOT> FOUND RTU CODE: EXEC STARTUP") exit_code = shell.execute("rtu/startup") elseif fs.exists("supervisor/startup.lua") then - -- found supervisor application - println("BOOT> FOUND SUPERVISOR APPLICATION") - println("BOOT> EXEC STARTUP") + println("BOOT> FOUND SUPERVISOR CODE: EXEC STARTUP") exit_code = shell.execute("supervisor/startup") elseif fs.exists("coordinator/startup.lua") then - -- found coordinator application - println("BOOT> FOUND COORDINATOR APPLICATION") - println("BOOT> EXEC STARTUP") + println("BOOT> FOUND COORDINATOR CODE: EXEC STARTUP") exit_code = shell.execute("coordinator/startup") elseif fs.exists("pocket/startup.lua") then - -- found pocket application - println("BOOT> FOUND POCKET APPLICATION") - println("BOOT> EXEC STARTUP") + println("BOOT> FOUND POCKET CODE: EXEC STARTUP") exit_code = shell.execute("pocket/startup") else - -- no known applications found - println("BOOT> NO SCADA STARTUP APPLICATION FOUND") + println("BOOT> NO SCADA STARTUP FOUND") println("BOOT> EXIT") return false end -if not exit_code then - println_ts("BOOT> APPLICATION CRASHED") -end +if not exit_code then println_ts("BOOT> APPLICATION CRASHED") end return exit_code