Advertisement
CaptainResu

engineSetup

Jun 18th, 2023 (edited)
857
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.86 KB | None | 0 0
  1.  
  2. -- INCLUDE: engineSetup as startup
  3. local filehandle0 = fs.open("startup", "w")
  4. filehandle0.flush()
  5. filehandle0.writeLine([==[local funs = require("lib/funs")
  6.  
  7. -- local settingsFile = fs.open("conf.txt", "w")
  8. -- settingsFile.writeLine( "startmotor=" );
  9.  
  10. funs.setupSettings({
  11.     ["startmotor"] = "",
  12.     ["stressmeter"] = "",
  13.     ["enginespeedmeter"] = "",
  14.     ["outputspeedmeter"] = "",
  15.     ["outputspeedcontroller"] = ""
  16. })
  17.  
  18. local settings = funs.readSettings()
  19.  
  20. local startmotor = peripheral.wrap(settings.startmotor)
  21. local stressmeter = peripheral.wrap(settings.stressmeter)
  22. local engine_speedometer = peripheral.wrap(settings.enginespeedmeter)
  23.  
  24. while true do
  25.     local currentStress = 0
  26.     local maxStress = 0
  27.     local currentSpeed = 0
  28.     if stressmeter ~= nil then
  29.         -- print("Current stress / Max stress: " .. stressmeter.getKineticStress("top") .. "/" .. stressmeter.getKineticCapacity("top"))
  30.         currentStress = stressmeter.getKineticStress("top")
  31.         maxStress = stressmeter.getKineticCapacity("top")
  32.     end
  33.     if engine_speedometer ~= nil then
  34.         -- print("Current speed: " .. engine_speedometer.getKineticSpeed("top"))
  35.         currentSpeed = engine_speedometer.getKineticSpeed("top")
  36.     end
  37.    
  38.     funs.cls()
  39.     print("Current/max stress: " .. currentStress .. "/" .. maxStress)
  40.     print("Current speed: " .. currentSpeed)
  41. end]==])
  42. filehandle0.close()
  43. -- END INCLUDE: engineSetup
  44.  
  45. -- INCLUDE: lib/funs as lib/funs.lua
  46. local filehandle1 = fs.open("lib/funs.lua", "w")
  47. filehandle1.flush()
  48. filehandle1.writeLine([==[local funs = {}
  49.  
  50. function funs.split (inputstr, sep)
  51.    if sep == nil then
  52.       sep = "%s"
  53.    end
  54.    local t={}
  55.    for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
  56.       table.insert(t, str)
  57.    end
  58.    return t
  59. end
  60. function funs.readSettings()
  61.     -- print("read settings")
  62.     local settingsFile = fs.open("config.txt", "r")
  63.     local settingsObject = {}
  64.     local line = settingsFile.readLine()
  65.  
  66.     while line ~= nil do
  67.         -- print("Read: " .. line)
  68.         lineSplit = funs.split(line, "=")
  69.         local ls1 = lineSplit[1]
  70.         local ls2 = lineSplit[2]
  71.         if ls2 == nil then ls2 = "" end
  72.         print("Data: " .. ls1 .. ": " .. ls2)
  73.         settingsObject[ls1] = ls2
  74.  
  75.         line = settingsFile.readLine()
  76.     end
  77.  
  78.     return settingsObject
  79. end
  80. function funs.setupSettings(settingsList)
  81.     if fs.exists("config.txt") == false then
  82.         local file = fs.open("config.txt", "w")
  83.         file.flush()
  84.         for name, dValue in pairs(settingsList) do
  85.             file.writeLine(name .. "=" .. dValue)
  86.         end
  87.         file.close()
  88.     end
  89. end
  90. function funs.cls()
  91.     term.setBackgroundColour(colors.black)
  92.     term.clear()
  93.     term.setCursorPos(1,1)
  94. end
  95.  
  96. return funs
  97. ]==])
  98. filehandle1.close()
  99. -- END INCLUDE: lib/funs
  100.  
  101. shell.run("startup")
  102.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement