Advertisement
Muzze77

Auftrag[00254] - UUMatterSensor

Sep 3rd, 2016
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.68 KB | None | 0 0
  1. shell.run("clear")
  2. sides = {"top","bottom","left","right","front","back"}
  3. os.loadAPI("ocs/apis/sensor")
  4. terminal = {}
  5. interval = {1,3,5,15,30,60}
  6. if fs.exists("timer") == false then
  7.     fileS = fs.open("timer","w")
  8.     fileS.writeLine(1)
  9.     fileS.close()
  10. else
  11.     fileR = fs.open("timer","r")
  12.     sleepTimeInterval = tonumber(fileR.readLine(1))
  13.     fileR.close()
  14. end
  15.  
  16.  
  17.  
  18. for getPeris = 1, table.maxn(sides), 1 do
  19.     if peripheral.getType(sides[getPeris]) ~= nil then
  20.         if peripheral.getType(sides[getPeris]) == "monitor" then
  21.         mon =  peripheral.wrap(sides[getPeris])
  22.         end
  23.         if peripheral.getType(sides[getPeris]) == "sensor" then
  24.         sen =  sensor.wrap(sides[getPeris])
  25.         end    
  26.     end
  27. end
  28.  
  29.  
  30. mon.setTextScale(0.5)
  31. gx, gy = mon.getSize()
  32.  
  33. function getUU()
  34. s = sen.getTargets()
  35. terminal["UU"] = {}
  36.  
  37. for v, k in pairs(s) do
  38.         terminal["Pos"] = v
  39.         terminal["Name"] = k.Name
  40.  
  41. end
  42.  
  43. s1 = sen.getTargetDetails(terminal["Pos"])
  44. for v1, k1 in pairs(s1.Items) do
  45.     if k1.Name == "UU-Matter" then
  46.     terminal["UU"]["UU_Current"] = k1.Size
  47.     end
  48. end
  49.  
  50. if terminal["UU"]["UU_Current"] == nil or terminal["UU"]["UU_Current"] == ""  then
  51.     terminal["UU"]["UU_Current"] = 0
  52. end
  53.  
  54. return  terminal["UU"]["UU_Current"]
  55. end --exit
  56.  
  57.  
  58. print("UU Matter: " .. getUU()) --Zwischenanzeige
  59.  
  60. mon.clear()
  61. function getUUState ()
  62.  
  63. r1 = getUU()
  64. for zeit = 1, interval[sleepTimeInterval], 1 do
  65.  
  66. sleep(1)
  67.  
  68. mon.setCursorPos(1,gy-1)
  69. mon.write("Zeit bis Refresh: " .. zeit .. "/" .. interval[sleepTimeInterval] .. "  ")
  70. end
  71. r2 = getUU()
  72.  
  73. mon.setCursorPos(1,2)
  74. mon.write("UU Matter Vor Messung: ")
  75. mon.setCursorPos(30,2)
  76. mon.write(math.floor(r1) .. "                   ")
  77. mon.setCursorPos(1,3)
  78. mon.write("UU Matter Derzeitig: ")
  79. mon.setCursorPos(30,3)
  80. mon.write(math.floor(r2) .. "                   ")
  81. mon.setCursorPos(1,4)
  82. mon.write("UU Matter Differnz:")
  83.  
  84.  
  85. mon.setCursorPos(30,4)
  86. mon.write(math.floor(r2 - r1) .. "                   ")
  87. mon.setCursorPos(gx / 2 -  6,gy)
  88.  
  89. mon.write("Zeiteinheit:" .. math.floor(tonumber(interval[sleepTimeInterval])))
  90.  
  91. end
  92.  
  93. function setState()
  94. evt,side, x,y = os.pullEvent("monitor_touch")
  95.  
  96.    
  97.     if sleepTimeInterval < table.maxn(interval) then
  98.         sleepTimeInterval =  sleepTimeInterval + 1
  99.     else
  100.         sleepTimeInterval =  1
  101.     end
  102.    
  103.    
  104.     fileS = fs.open("timer","w")
  105.     fileS.writeLine(sleepTimeInterval)
  106.     fileS.close()
  107.    
  108.     mon.setCursorPos(gx / 2 -  6,gy)
  109. mon.clearLine(gy)
  110. mon.clearLine(gy-1)
  111. mon.write("Zeiteinheit:" .. math.floor(interval[sleepTimeInterval]))
  112. end
  113.  
  114. while true do
  115. mon.setCursorPos(1,3)
  116. mon.write("UU Matter Derzeitig: ")
  117. mon.setCursorPos(30,3)
  118. mon.write(math.floor(getUU()) .. "                   ")
  119. parallel.waitForAny(getUUState,setState)
  120.  
  121. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement