#145 configure bootstrap command and size reduction of startup/initenv

This commit is contained in:
Mikayla 2023-09-01 14:23:39 +00:00
parent f7766d8cba
commit e4f49e9949
4 changed files with 34 additions and 39 deletions

16
configure.lua Normal file
View File

@ -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

View File

@ -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"),

View File

@ -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
}

View File

@ -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