Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("touchpoint")
- local m = peripheral.wrap("left")
- local t = touchpoint.new("left")
- local red = "000"
- local rDown = {"-",label="rDown"}
- local rUp = {"+",label="rUp"}
- local rDTen = {"<",label="rDTen"}
- local rUTen = {">",label="rUTen"}
- local green = "000"
- local gDown = {"-",label="gDown"}
- local gUp = {"+",label="gUp"}
- local gDTen = {"<",label="gDTen"}
- local gUTen = {">",label="gUTen"}
- local blue = "000"
- local bDown = {"-",label="bDown"}
- local bUp = {"+",label="bUp"}
- local bDTen = {"<",label="bDTen"}
- local bUTen = {">",label="bUTen"}
- m.setTextScale(2.5)
- m.clear()
- --- Returns HEX representation of num
- function getHex(num)
- local hexstr = '0123456789abcdef'
- local s = ''
- while num > 0 do
- local mod = math.fmod(num, 16)
- s = string.sub(hexstr, mod+1, mod+1) .. s
- num = math.floor(num / 16)
- end
- if s == '' then
- s = '0'
- end
- if string.len(s) == 1 then
- return '0'..s
- else
- return s
- end
- end
- function drawLabels()
- m.setBackgroundColor(colors.red)
- m.setCursorPos(3,1)
- m.write(red)
- m.setBackgroundColor(colors.lime)
- m.setCursorPos(3,2)
- m.write(green)
- m.setBackgroundColor(colors.blue)
- m.setCursorPos(3,3)
- m.write(blue)
- end
- function quickToggle(buttonName)
- t:toggleButton(buttonName)
- drawLabels()
- os.sleep(0.125)
- t:toggleButton(buttonName)
- drawLabels()
- end
- function numChange(oldNum, amt)
- local newNum = oldNum + amt
- if newNum < 0 then
- newNum = 0
- end
- if newNum > 255 then
- newNum = 255
- end
- if newNum < 10 then
- return "00"..tostring(newNum)
- elseif newNum < 100 then
- return "0"..tostring(newNum)
- else
- return tostring(newNum)
- end
- end
- function rMinOne()
- red = numChange(tonumber(red), -1)
- quickToggle("rDown")
- end
- function rMinTen()
- red = numChange(tonumber(red), -10)
- quickToggle("rDTen")
- end
- function rUpOne()
- red = numChange(tonumber(red), 1)
- quickToggle("rUp")
- end
- function rUpTen()
- red = numChange(tonumber(red), 10)
- quickToggle("rUTen")
- end
- function gMinOne()
- green = numChange(tonumber(green), -1)
- quickToggle("gDown")
- end
- function gMinTen()
- green = numChange(tonumber(green), -10)
- quickToggle("gDTen")
- end
- function gUpOne()
- green = numChange(tonumber(green), 1)
- quickToggle("gUp")
- end
- function gUpTen()
- green = numChange(tonumber(green), 10)
- quickToggle("gUTen")
- end
- function bMinOne()
- blue = numChange(tonumber(blue), -1)
- quickToggle("bDown")
- end
- function bMinTen()
- blue = numChange(tonumber(blue), -10)
- quickToggle("bDTen")
- end
- function bUpOne()
- blue = numChange(tonumber(blue), 1)
- quickToggle("bUp")
- end
- function bUpTen()
- blue = numChange(tonumber(blue), 10)
- quickToggle("bUTen")
- end
- function applyColor()
- local color = ""
- color = getHex(tonumber(red))..getHex(tonumber(green))..getHex(tonumber(blue))
- print(color)
- pcall(peripheral.call("right","setColor",tonumber(color,16)))
- quickToggle("Set")
- end
- t:add(rDTen, rMinTen, 1, 1, 1, 1, colors.lightGray, colors.lightBlue)
- t:add(rDown, rMinOne, 2, 1, 2, 1, colors.gray, colors.lightBlue)
- t:add(rUp, rUpOne, 6, 1, 6, 1, colors.gray, colors.lightBlue)
- t:add(rUTen, rUpTen, 7, 1, 7, 1, colors.lightGray, colors.lightBlue)
- t:add(gDTen, gMinTen, 1, 2, 1, 2, colors.gray, colors.lightBlue)
- t:add(gDown, gMinOne, 2, 2, 2, 2, colors.lightGray, colors.lightBlue)
- t:add(gUp, gUpOne, 6, 2, 6, 2, colors.lightGray, colors.lightBlue)
- t:add(gUTen, gUpTen, 7, 2, 7, 2, colors.gray, colors.lightBlue)
- t:add(bDTen, bMinTen, 1, 3, 1, 3, colors.lightGray, colors.lightBlue)
- t:add(bDown, bMinOne, 2, 3, 2, 3, colors.gray, colors.lightBlue)
- t:add(bUp, bUpOne, 6, 3, 6, 3, colors.gray, colors.lightBlue)
- t:add(bUTen, bUpTen, 7, 3, 7, 3, colors.lightGray, colors.lightBlue)
- t:add("Set",applyColor, 2, 5, 6, 5, colors.gray, colors.lightBlue)
- while true do
- m.clear()
- t:draw()
- drawLabels()
- local event, p1 = t:handleEvents(os.pullEvent()) ---button_click, name
- if event == "button_click" then
- t.buttonList[p1].func()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement