local component = require("component")
local luci = component.light_board
local math = require("math")

local color = {
  r = 0,
  g = 0,
  b = 0,

  toInt = function(self)
    return (self.r << 16) | (self.g << 8) | self.b
  end
}
  new = function(r, g, b)
    local sus = color
    sus.r = r
    sus.g = g
    sus.b = b
    return sus
  end

c = new(100, 20, 200)
print(c.r)
print(color:toInt(c))

local sus = 0

while true do
  c.r = math.floor(math.sin(sus) * 255)
  c.b = math.floor(math.cos(sus) * 255)
  c.g = math.floor(math.tan(sus) * 255)
  sus = sus + 1
  luci.setColor(1, color:toInt(c))
  luci.setActive(1, true)
  os.sleep(0.1)
  luci.setActive(1, false)
  os.sleep(0.1)
end