Current section
Files
Jump to
Current section
Files
lib/fadecandy.ex
defmodule Fadex.Fadecandy do
use Bitwise
def set_configuration(%Fadex.Connection{socket: socket}, config) do
defaults = [
dithering: :enabled,
keyframe_interpolation: :enabled,
led_mode: :usb
]
config = Keyword.merge(defaults, config) |> Enum.into(%{})
config_byte = 0x00
config_byte = if (config.dithering == :disabled),
do: config_byte ^^^ (1 <<< 0), else: config_byte
message = [
0x00,
0xFF,
1 + 4,
0x00, 0x01,
0x00, 0x02,
config_byte
]
bin = :binary.list_to_bin message
:gen_tcp.send(socket, bin)
end
end