12345678910111213141516171819202122232425262728293031 |
- return function (connection, req, args)
- local pin, w, h, offset = 1, 140, 28, 0
- if connection ~= nil then
- dofile('httpserver-header.lc')(connection, 200, 'html')
- end
- gpio.mode(pin, gpio.INT)
- local function pin1cb(level)
- print(level)
- file.open('led-stick.dat', 'r')
- if level == 1 then
- offset = 0
- while offset < w do
- file.seek("set", (offset * h) * 3)
- ws2812.write(file.read(h * 3))
- offset = offset + 1
- end
- else
- offset = w - 1
- while offset >= 0 do
- file.seek("set", (offset * h) * 3)
- ws2812.write(file.read(h * 3))
- offset = offset - 1
- end
- end
- file.close()
- ws2812.write(string.char(0):rep(h * 3))
- end
- gpio.trig(pin, 'both', pin1cb)
- end
|