View difference between Paste ID: Je78xjeE and 7kHR2hiY
SHOW: | | - or go back to the newest paste.
1
-- @param pulse length in seconds
2
local pulseLength = 0.5
3
4
-- @param clock speed in seconds
5
local clockSpeed = 2
6
7
-- @param pulse direction
8
local pulseSide = "right"
9
local inputSide = "front"
10
11
-- @param redstone signal to disable clock
12
-- true = redstone turns on
13
-- false = redstone turns off
14
-- nil = ignore redstone
15
local redstone = nil
16
17
while true do
18
  term.clear()
19
  print("Clock running, output " .. pulseSide .. "...")
20
  print("T " .. pulseLength .. " / C " .. clockSpeed)
21
22
  -- use redstone signal to determine if the clock is on or off
23
  while redstone ~= rs.getInput(inputSide) do
24
    rs.setOutput(pulseSide, true)
25
    sleep(pulseLength)
26
27
    rs.setOutput(pulseSide, false)
28
    sleep(clockSpeed - pulseLength)
29
  end
30
31
  -- if we dropped out of the clock loop, wait for redstone
32
  print("")
33
  print("OFF (Waiting for redstone)")
34
  event = os.pullEvent("redstone")
35
end