View difference between Paste ID: jtvnrCPg and Y8c1a15X
SHOW: | | - or go back to the newest paste.
1
--This program can be used to create a digital clock on a monitor peripheral
2
--The monitor must be placed to the right of the computer
3
4
print("Running clock application. Hold ctrl + T to end.")
5-
peripheral.call("right", "setTextScale", 2)
5+
--peripheral.call("right", "setTextScale", 2)
6
7
local monitor = peripheral.wrap("right")
8
local sirenSide = "top"
9
local snooze = false
10
11
function wipeLine(y)
12
  monitor.setCursorPos(1,y)
13-
	
13+
  monitor.write("                      ")
14
end
15
16
function setSignal()
17
  monitor.write("   *ALARM*")
18
  if redstone.getOutput(sirenSide) then 
19
    -- already set
20
    return
21
  else
22
    redstone.setOutput(sirenSide,true)
23
  end  
24
end
25
26
function unsetSignal()
27
  if not redstone.getOutput(sirenSide) then
28
    -- already unset
29-
 if hours >= 18 and hours <= 6 then
29+
    return
30-
    if minutes >= 32 and hours == 18 then
30+
  else
31-
      redstone.setOutput("top", true)
31+
    redstone.setOutput(sirenSide,false)
32
  end
33-
      redstone.setOutput("top", true)
33+
end
34
35-
 else
35+
36-
    redstone.setOutput("top", false)
36+
37-
 end
37+
38
	local minutes = math.floor((decimalTime - hours) * 100 * 0.6)
39
40
	local ampm
41
	if hours > 12 then
42
		hours = hours - 12
43
		ampm = "PM"
44
	else
45
		ampm = "AM"
46
	end
47
	monitor.clear()
48
	monitor.setCursorPos(1,1)
49
	if minutes < 10 then
50
		monitor.write(hours..":0"..minutes.." "..ampm)
51
	else
52
		monitor.write(hours..":"..minutes.." "..ampm)
53
	end
54
	sleep(.75)
55
56
    if decimalTime >= 18.541 or decimalTime <= 6.000 then
57
        setSignal()
58
    else
59
        unsetSignal()
60
    end
61
end