View difference between Paste ID: j8mXEXAX and Q3mqz9Eh
SHOW: | | - or go back to the newest paste.
1
local mon = peripheral.wrap("left")
2
local total = 0
3
monX, monY = mon.getSize()
4
5
--Fonction
6
7
function clear()
8
  mon.setBackgroundColor(colors.black)
9
  mon.clear()
10
  mon.setCursorPos(1,1)
11
end
12
13
function drawText(x, y, text, color_txt, color_bg)
14
  mon.setBackgroundColor(color_bg)
15
  mon.setTextColor(color_txt)
16
  mon.setCursorPos(x,y)
17
  mon.write(text)
18
end
19
20
function drawLine(x, y, length, size, color_bar)
21
  for yPos = y, y+size-1 do
22
    mon.setBackgroundColor(color_bar)
23
    mon.setCursorPos(x, yPos)
24
    mon.write(string.rep(" ", length))
25
  end
26
end
27
28
function drawProg(x, y, name, length, size, minVal, maxVal, color_bar, color_bg)
29
  drawLine(x, y, length, size, color_bg)
30
  local barSize = math.floor((minVal/maxVal)*length)
31
  drawLine(x, y, barSize, size, color_bar)
32
  local text = name.." "..math.floor((minVal/maxVal)*100).."%"
33
  if barSize > length/2+#text/2 then
34
    drawText(x+length/2-#text/2, y+size/2, text, colors.black, color_bar)
35
  elseif barSize > #text then
36
    drawText((x+barSize)-#text, y+size/2, text, colors.black, color_bar)
37
  else
38
    drawText(x+length/2-#text/2, y+size/2, text, colors.black, color_bg)
39
  end
40
end
41
42
--End fonction
43
44
mon.setBackgroundColor(colors.black)
45
 
46
while true do
47
mon.clear()
48
 
49
mon.setTextColor(colors.white)
50
mon.setCursorPos(1,1)
51
mon.setTextScale(1)
52
mon.write("Monitor ..")
53
sleep(1)
54
 
55
local mon = peripheral.wrap("left")
56
if mon then
57
mon.setTextColor(colors.green)
58
mon.write(" Ok")
59
 
60
else
61
mon.setTextColor(colors.red)
62
mon.write(" Failed")
63
stop()
64
end
65
 
66
sleep(1)
67
mon.setTextColor(colors.white)
68
mon.setCursorPos(1,2)
69
mon.setTextScale(1)
70
mon.write("Modem ..")
71
sleep(1)
72
 
73
local modem = peripheral.wrap("bottom")
74
if modem then
75
mon.setTextColor(colors.green)
76
mon.write(" Ok") 
77
else
78
mon.setTextColor(colors.red)
79
mon.write(" Failed")
80
stop()
81
end
82
 
83
sleep(1)
84
 
85
mon.setTextColor(colors.white)
86
mon.setCursorPos(1,4)
87
mon.write("Waiting for a signal ..")
88
 
89
while modem do
90
modem.open(7)
91
local event, modemSide, senderChannel, replyChannel, mfsu, senderDistance = os.pullEvent("modem_message")
92
total = mfsu / 4000000 * 100
93
94
clear()
95-
drawProg(0,0, "MFE", 40, 6, total, 100, colors.green, colors.gray)
95+
drawProg(0,0, "MFE", 40, 6, total, 100, colors.green, colors.black)
96
97
mon.setBackgroundColor(colors.black)
98
mon.setCursorPos(1,6)
99
mon.setTextColor(colors.white)
100
101
sleep(0.2)
102
103
104
end
105
end