nate90909

Untitled

Apr 28th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.91 KB | None | 0 0
  1. os.loadAPI "monAPI"
  2. os.loadAPI "button"
  3.  
  4. local turbine1
  5. local reactor1
  6. local mon = monAPI.wrapMonitor("right")
  7. rednet.open("back")
  8.  
  9. --initialize monitor
  10.  
  11. mon.setTextColor(colors.white)
  12. mon.setBackgroundColor(colors.black)
  13. mon.clear()
  14. mon.setCursorPos(1,1)
  15. mon.setTextScale(0.5)
  16.  
  17. --Functions
  18.  
  19. function turb1state(state)
  20. if state == true then
  21. turbstate = {}
  22. turbstate["state"] = 1
  23. rednet.send(id,turbstate)
  24. else
  25. turbstate = {}
  26. turbstate["state"] = 0
  27. rednet.send(id,turbstate)
  28. end
  29. end
  30.  
  31. function turb2state(state)
  32. if state == true then
  33. turbstate = {}
  34. turbstate["state"] = 1
  35. rednet.send(id,turbstate)
  36. else
  37. turbstate = {}
  38. turbstate["state"] = 0
  39. rednet.send(id,turbstate)
  40. end
  41. end
  42.  
  43. function turb3state(state)
  44. if state == true then
  45. turbstate = {}
  46. turbstate["state"] = 1
  47. rednet.send(id,turbstate)
  48. else
  49. turbstate = {}
  50. turbstate["state"] = 0
  51. rednet.send(id,turbstate)
  52. end
  53. end
  54.  
  55. function turb4state(state)
  56. if state == true then
  57. turbstate = {}
  58. turbstate["state"] = 1
  59. rednet.send(id,turbstate)
  60. else
  61. turbstate = {}
  62. turbstate["state"] = 0
  63. rednet.send(id,turbstate)
  64. end
  65. end
  66.  
  67. function turb5state(state)
  68. if state == true then
  69. turbstate = {}
  70. turbstate["state"] = 1
  71. rednet.send(id,turbstate)
  72. else
  73. turbstate = {}
  74. turbstate["state"] = 0
  75. rednet.send(id,turbstate)
  76. end
  77. end
  78.  
  79. function turb6state(state)
  80. if state == true then
  81. turbstate = {}
  82. turbstate["state"] = 1
  83. rednet.send(id,turbstate)
  84. else
  85. turbstate = {}
  86. turbstate["state"] = 0
  87. rednet.send(id,turbstate)
  88. end
  89. end
  90.  
  91. function turb7state(state)
  92. if state == true then
  93. turbstate = {}
  94. turbstate["state"] = 1
  95. rednet.send(id,turbstate)
  96. else
  97. turbstate = {}
  98. turbstate["state"] = 0
  99. rednet.send(id,turbstate)
  100. end
  101. end
  102.  
  103. function turb8state(state)
  104. if state == true then
  105. turbstate = {}
  106. turbstate["state"] = 1
  107. rednet.send(id,turbstate)
  108. else
  109. turbstate = {}
  110. turbstate["state"] = 0
  111. rednet.send(id,turbstate)
  112. end
  113. end
  114.  
  115. --initialize sections
  116.  
  117. local section1 = mon.createSection(1,1,17,38) --button area
  118. section1.clear()
  119. section1.setTextColor(colors.yellow)
  120. section1.drawBorder('#','#','+')
  121.  
  122. --buttons
  123. function Color()
  124. button.e.color("b","text", colors.white, colors.white)
  125. button.e.color("b","back", colors.lime, colors.red)
  126. end
  127.  
  128. button.wrap("right")
  129. --button.new.b("turb1","Turbine One",2,16,2,6,turb1state,
  130.  
  131. local section2 = mon.createSection(18,1,48,18) --banks
  132. section2.clear()
  133. section2.setTextColor(colors.yellow)
  134. section2.drawBorder('#','#','+')
  135. section2.setTextColor(colors.white)
  136. section2.setCursorPos(2,3)
  137. section2.write('Turbine - Reactor Bank 1')
  138. section2.setCursorPos(2,4)
  139. section2.write('Searching for Data Broadcast')
  140.  
  141. local section3 = mon.createSection(49,1,79,18)
  142. section3.clear()
  143. section3.setTextColor(colors.yellow)
  144. section3.drawBorder('#','#','+')
  145. section3.setTextColor(colors.white)
  146. section3.setCursorPos(2,3)
  147. section3.write('Turbine - Reactor Bank 2')
  148. section3.setCursorPos(2,4)
  149. section3.write('Searching for Data Broadcast')
  150.  
  151. local section4 = mon.createSection(80,1,111,18)
  152. section4.clear()
  153. section4.setTextColor(colors.yellow)
  154. section4.drawBorder('#','#','+')
  155. section4.setTextColor(colors.white)
  156. section4.setCursorPos(2,3)
  157. section4.write('Turbine - Reactor Bank 3')
  158. section4.setCursorPos(2,4)
  159. section4.write('Searching for Data Broadcast')
  160.  
  161. local section5 = mon.createSection(112,1,143,18)
  162. section5.clear()
  163. section5.setTextColor(colors.yellow)
  164. section5.drawBorder('#','#','+')
  165. section5.setTextColor(colors.white)
  166. section5.setCursorPos(2,3)
  167. section5.write('Turbine - Reactor Bank 4')
  168. section5.setCursorPos(2,4)
  169. section5.write('Searching for Data Broadcast')
  170.  
  171. local section6 = mon.createSection(18,20,48,38)
  172. section6.clear()
  173. section6.setTextColor(colors.yellow)
  174. section6.drawBorder('#','#','+')
  175. section6.setTextColor(colors.white)
  176. section6.setCursorPos(2,3)
  177. section6.write('Turbine - Reactor Bank 5')
  178. section6.setCursorPos(2,4)
  179. section6.write('Searching for Data Broadcast')
  180.  
  181. local section7 = mon.createSection(49,20,79,38)
  182. section7.clear()
  183. section7.setTextColor(colors.yellow)
  184. section7.drawBorder('#','#','+')
  185. section7.setTextColor(colors.white)
  186. section7.setCursorPos(2,3)
  187. section7.write('Turbine - Reactor Bank 6')
  188. section7.setCursorPos(2,4)
  189. section7.write('Searching for Data Broadcast')
  190.  
  191. local section8 = mon.createSection(80,20,111,38)
  192. section8.clear()
  193. section8.setTextColor(colors.yellow)
  194. section8.drawBorder('#','#','+')
  195. section8.setTextColor(colors.white)
  196. section8.setCursorPos(2,3)
  197. section8.write('Turbine - Reactor Bank 7')
  198. section8.setCursorPos(2,4)
  199. section8.write('Searching for Data Broadcast')
  200.  
  201. local section9 = mon.createSection(112,20,143,38)
  202. section9.clear()
  203. section9.setTextColor(colors.yellow)
  204. section9.drawBorder('#','#','+')
  205. section9.setTextColor(colors.white)
  206. section9.setCursorPos(2,3)
  207. section9.write('Turbine - Reactor Bank 8')
  208. section9.setCursorPos(2,4)
  209. section9.write('Searching for Data Broadcast')
  210.  
  211. --start program
  212.  
  213. while true do
  214.  
  215. id,message = rednet.receive()
  216.  
  217. if id == 3 then
  218. section2.clear()
  219. section2.setTextColor(colors.yellow)
  220. section2.drawBorder('#','#','+')
  221. section2.setCursorPos(2,3)
  222. section2.setTextColor(colors.white)
  223. section2.write('Turbine - Reactor Bank 1')
  224. section2.setCursorPos(2,4)
  225. section2.write('Data Broadcast Received')
  226. section2.setCursorPos(2,5)
  227. section2.write('System Status')
  228. section2.setCursorPos(2,7)
  229. section2.write('Turbine:')
  230. section2.setCursorPos(2,8)
  231. if message["turbine1rpm"] >= 1725 then
  232. section2.setTextColor(colors.green)
  233. elseif message["turbine1rpm"] >= 800 then
  234. section2.setTextColor(colors.orange)
  235. else
  236. section2.setTextColor(colors.red)
  237. end
  238. section2.write('RPM: '..message["turbine1rpm"]..'')
  239. section2.setCursorPos(2,9)
  240. if message["turbine1Flow"] >= 1950 then
  241. section2.setTextColor(colors.green)
  242. elseif message["turbine1Flow"] >= 1000 then
  243. section2.setTextColor(colors.orange)
  244. else
  245. section2.setTextColor(colors.red)
  246. end
  247. section2.write('Flow Rate: '..message["turbine1Flow"]..'mb/t')
  248. section2.setCursorPos(2,10)
  249. if message["turbine1RFT"] >= 25000 then
  250. section2.setTextColor(colors.green)
  251. elseif message["turbine1RFT"] >= 14000 then
  252. section2.setTextColor(colors.orange)
  253. else
  254. section2.setTextColor(colors.red)
  255. end
  256. section2.write('Generation: '..message["turbine1RFT"]..' rf/t')
  257. section2.setCursorPos(2,11)
  258. if message["turbine1capacitor"] >= 900000 then
  259. section2.setTextColor(colors.green)
  260. elseif message["turbine1capacitor"] >= 400000 then
  261. section2.setTextColor(colors.orange)
  262. else
  263. section2.setTextColor(colors.red)
  264. end
  265. section2.write('Capacitor: '..message["turbine1capacitor"]..'')
  266. section2.setCursorPos(2,13)
  267. section2.setTextColor(colors.white)
  268. section2.write('Reactor:')
  269. section2.setCursorPos(2,14)
  270. if message["reactor1Temp"] <= 700 then
  271. section2.setTextColor(colors.green)
  272. elseif message["reactor1Temp"] <= 800 then
  273. section2.setTextColor(colors.orange)
  274. else
  275. section2.setTextColor(colors.red)
  276. end
  277. section2.write('Temp: '..message["reactor1Temp"]..'')
  278. section2.setCursorPos(2,15)
  279. if message["reactor1Steam"] >= 1950 then
  280. section2.setTextColor(colors.green)
  281. elseif message["reactor1Steam"] >= 1000 then
  282. section2.setTextColor(colors.orange)
  283. else
  284. section2.setTextColor(colors.red)
  285. end
  286. section2.write('Steam Pressure: '..message["reactor1Steam"]..'')
  287. section2.setCursorPos(2,16)
  288. if message["reactor1Fuel"] <= 0.06 then
  289. section2.setTextColor(colors.green)
  290. elseif message["reactor1Fuel"] <= 0.05 then
  291. section2.setTextColor(colors.orange)
  292. else
  293. section2.setTextColor(colors.red)
  294. end
  295. section2.write('Fuel Consumption: '..message["reactor1Fuel"]..'')
  296.  
  297. elseif id == 2 then
  298. section3.clear()
  299. section3.setTextColor(colors.yellow)
  300. section3.drawBorder('#','#','+')
  301. section3.setCursorPos(2,3)
  302. section3.setTextColor(colors.white)
  303. section3.write('Turbine - Reactor Bank 2')
  304. section3.setCursorPos(2,4)
  305. section3.write('Data Broadcast Received')
  306. section3.setCursorPos(2,5)
  307. section3.write('System Status')
  308. section3.setCursorPos(2,7)
  309. section3.write('Turbine:')
  310. section3.setCursorPos(2,8)
  311. if message["turbine1rpm"] >= 1725 then
  312. section3.setTextColor(colors.green)
  313. elseif message["turbine1rpm"] >= 800 then
  314. section3.setTextColor(colors.orange)
  315. else
  316. section3.setTextColor(colors.red)
  317. end
  318. section3.write('RPM: '..message["turbine1rpm"]..'')
  319. section3.setCursorPos(2,9)
  320. if message["turbine1Flow"] >= 1950 then
  321. section3.setTextColor(colors.green)
  322. elseif message["turbine1Flow"] >= 1000 then
  323. section3.setTextColor(colors.orange)
  324. else
  325. section3.setTextColor(colors.red)
  326. end
  327. section3.write('Flow Rate: '..message["turbine1Flow"]..'mb/t')
  328. section3.setCursorPos(2,10)
  329. if message["turbine1RFT"] >= 25000 then
  330. section3.setTextColor(colors.green)
  331. elseif message["turbine1RFT"] >= 14000 then
  332. section3.setTextColor(colors.orange)
  333. else
  334. section3.setTextColor(colors.red)
  335. end
  336. section3.write('Generation: '..message["turbine1RFT"]..' rf/t')
  337. section3.setCursorPos(2,11)
  338. if message["turbine1capacitor"] >= 900000 then
  339. section3.setTextColor(colors.green)
  340. elseif message["turbine1capacitor"] >= 400000 then
  341. section3.setTextColor(colors.orange)
  342. else
  343. section3.setTextColor(colors.red)
  344. end
  345. section3.write('Capacitor: '..message["turbine1capacitor"]..'')
  346. section3.setCursorPos(2,13)
  347. section3.setTextColor(colors.white)
  348. section3.write('Reactor:')
  349. section3.setCursorPos(2,14)
  350. if message["reactor1Temp"] <= 700 then
  351. section3.setTextColor(colors.green)
  352. elseif message["reactor1Temp"] <= 800 then
  353. section3.setTextColor(colors.orange)
  354. else
  355. section3.setTextColor(colors.red)
  356. end
  357. section3.write('Temp: '..message["reactor1Temp"]..'')
  358. section3.setCursorPos(2,15)
  359. if message["reactor1Steam"] >= 1950 then
  360. section3.setTextColor(colors.green)
  361. elseif message["reactor1Steam"] >= 1000 then
  362. section3.setTextColor(colors.orange)
  363. else
  364. section3.setTextColor(colors.red)
  365. end
  366. section3.write('Steam Pressure: '..message["reactor1Steam"]..'')
  367. section3.setCursorPos(2,16)
  368. if message["reactor1Fuel"] <= 0.06 then
  369. section3.setTextColor(colors.green)
  370. elseif message["reactor1Fuel"] <= 0.05 then
  371. section3.setTextColor(colors.orange)
  372. else
  373. section3.setTextColor(colors.red)
  374. end
  375. section3.write('Fuel Consumption: '..message["reactor1Fuel"]..'')
  376.  
  377. elseif id == 4 then
  378. section4.clear()
  379. section4.setTextColor(colors.yellow)
  380. section4.drawBorder('#','#','+')
  381. section4.setCursorPos(2,3)
  382. section4.setTextColor(colors.white)
  383. section4.write('Turbine - Reactor Bank 3')
  384. section4.setCursorPos(2,4)
  385. section4.write('Data Broadcast Received')
  386. section4.setCursorPos(2,5)
  387. section4.write('System Status')
  388. section4.setCursorPos(2,7)
  389. section4.write('Turbine:')
  390. section4.setCursorPos(2,8)
  391. if message["turbine1rpm"] >= 1725 then
  392. section4.setTextColor(colors.green)
  393. elseif message["turbine1rpm"] >= 800 then
  394. section4.setTextColor(colors.orange)
  395. else
  396. section4.setTextColor(colors.red)
  397. end
  398. section4.write('RPM: '..message["turbine1rpm"]..'')
  399. section4.setCursorPos(2,9)
  400. if message["turbine1Flow"] >= 1950 then
  401. section4.setTextColor(colors.green)
  402. elseif message["turbine1Flow"] >= 1000 then
  403. section4.setTextColor(colors.orange)
  404. else
  405. section4.setTextColor(colors.red)
  406. end
  407. section4.write('Flow Rate: '..message["turbine1Flow"]..'mb/t')
  408. section4.setCursorPos(2,10)
  409. if message["turbine1RFT"] >= 25000 then
  410. section4.setTextColor(colors.green)
  411. elseif message["turbine1RFT"] >= 14000 then
  412. section4.setTextColor(colors.orange)
  413. else
  414. section4.setTextColor(colors.red)
  415. end
  416. section4.write('Generation: '..message["turbine1RFT"]..' rf/t')
  417. section4.setCursorPos(2,11)
  418. if message["turbine1capacitor"] >= 900000 then
  419. section4.setTextColor(colors.green)
  420. elseif message["turbine1capacitor"] >= 400000 then
  421. section4.setTextColor(colors.orange)
  422. else
  423. section4.setTextColor(colors.red)
  424. end
  425. section4.write('Capacitor: '..message["turbine1capacitor"]..'')
  426. section4.setCursorPos(2,13)
  427. section4.setTextColor(colors.white)
  428. section4.write('Reactor:')
  429. section4.setCursorPos(2,14)
  430. if message["reactor1Temp"] <= 700 then
  431. section4.setTextColor(colors.green)
  432. elseif message["reactor1Temp"] <= 800 then
  433. section4.setTextColor(colors.orange)
  434. else
  435. section4.setTextColor(colors.red)
  436. end
  437. section4.write('Temp: '..message["reactor1Temp"]..'')
  438. section4.setCursorPos(2,15)
  439. if message["reactor1Steam"] >= 1950 then
  440. section4.setTextColor(colors.green)
  441. elseif message["reactor1Steam"] >= 1000 then
  442. section4.setTextColor(colors.orange)
  443. else
  444. section4.setTextColor(colors.red)
  445. end
  446. section4.write('Steam Pressure: '..message["reactor1Steam"]..'')
  447. section4.setCursorPos(2,16)
  448. if message["reactor1Fuel"] <= 0.06 then
  449. section4.setTextColor(colors.green)
  450. elseif message["reactor1Fuel"] <= 0.05 then
  451. section4.setTextColor(colors.orange)
  452. else
  453. section4.setTextColor(colors.red)
  454. end
  455. section4.write('Fuel Consumption: '..message["reactor1Fuel"]..'')
  456. end
  457.  
  458. end
Advertisement
Add Comment
Please, Sign In to add comment