Guest User

Untitled

a guest
Jan 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.42 KB | None | 0 0
  1. local sizeX, sizeY = term.getSize()
  2. os.unloadAPI("sensorsUI")
  3. os.loadAPI("/rom/apis/sensorsUI")
  4. os.unloadAPI("sensors")
  5. os.loadAPI("/rom/apis/sensors")
  6. os.unloadAPI("sensorsData")
  7. os.loadAPI("/rom/apis/sensorsData")
  8.  
  9. local arg = {...};
  10.  
  11. --[[
  12.     Dashboard Parameters
  13. ]]--
  14. local side = sensors.getController()
  15. -- sensor name
  16. local sensor= arg[1] or "Sensor";
  17.  
  18. -- probe index
  19. local probe="CombustionEngine";
  20.  
  21. -- target name
  22. --local target="TileEngine,1240,4,445";
  23.  
  24. local targets = sensors.getAvailableTargetsforProbe(side,sensor,probe);
  25. local target=targets[1];
  26. --print ("target:"..target);
  27. --sensorsUI.pause("cont")
  28.  
  29. -- dashboard title
  30. local title="Combustion Engine Console";
  31.  
  32. -- refresh timer
  33. local refresh=2
  34.  
  35. -- main program
  36. --[[
  37. local monside,mon = sensorsUI.getMonitor();
  38. if monside~="none" then
  39.     sensorsUI.writeAt(1,sizeY,"Press Spacebar to exit")
  40.     mon.setTextScale(1);
  41.     term.redirect(mon);
  42. end
  43. ]]--
  44. local done=false;
  45. local e = sensorsData.getProbe("bc","CombustionEngine");
  46. local engine = sensors.getSensorReadingAsDict(side,sensor,target,probe)
  47. local timer1=os.startTimer(refresh)
  48. local count=1;
  49. local  progress={"-","\\","|","/"};
  50. term.clear()
  51. sensorsUI.writeAt(1,1,title)
  52. sensorsUI.writeAt(1,sizeY,"Press Spacebar to exit")
  53.  
  54. while not done do
  55.     sensorsUI.checkbox(sizeX - string.len(e.active.label)-3,1,e.active.label,engine[e.active.val])
  56.     sensorsUI.hr(2)
  57.     sensorsUI.hBar(1,4,10,e.energy.label,engine[e.energy.val] ,engine[e.energy.maxval]);
  58.     sensorsUI.hBar(1,5,10,e.heat.label,engine[e.heat.val],engine[e.heat.maxval]);
  59.     sensorsUI.hBar(1,6,10,e.burn.label,engine[e.burn.val],engine[e.burn.maxval]);
  60.     --sensorsUI.hBar(1,7,15,e.fuel.label,engine[e.fuel.val],engine[e.fuel.maxval]);
  61.     --sensorsUI.hBar(1,8,15,e.coolant.label,engine[e.coolant.val],engine[e.coolant.maxval]);
  62.     sensorsUI.hRadio(1,10,e.stage.label,engine[e.stage.val],e.stage.info);
  63.     sensorsUI.vBar(sizeX-8,15,10,e.fuel.label,engine[e.fuel.val],engine[e.fuel.maxval]);
  64.     sensorsUI.vBar(sizeX-16,15,10,e.coolant.label,engine[e.coolant.val],engine[e.coolant.maxval]);
  65.     evt,k = os.pullEvent()
  66.     if evt=="timer" and k == timer1 then
  67.         timer1=os.startTimer(refresh)
  68.         engine = sensors.getSensorReadingAsDict(side,sensor,target,probe);
  69.     elseif evt=="key" and (k == 28 or k ==57) then
  70.         done=true
  71.     end
  72.    
  73.     sensorsUI.writeAt(string.len(title)+2,1,progress[count])
  74.     count = count+1;
  75.     if count>3 then count=1 end
  76.  
  77. end
  78. term.setCursorPos(1,sizeY)
Add Comment
Please, Sign In to add comment