evil_clock v0.1.0 EvilClock.Framing
Summary
Functions
Build a single serial message frame for the Ax (ASCII Display) command
Build a single serial message frame for the MT (Mode Time) command
Build a single serial message frame for the ST (Set Time) command
Translates an atom representing a decimal point segment into its corresponding protocol value for firmware v2.0
Functions
Build a single serial message frame for the Ax (ASCII Display) command.
## Examples
iex> EvilClock.Framing.build_ascii_frame(“HELLO”, List.duplicate(:none, 5), “A0”, 1) <<255, 65, 48, 72, 69, 76, 76, 79, 95, 95, 95, 95, 95>>
iex> EvilClock.Framing.build_ascii_frame(“HELLO”, List.duplicate(:both, 5), “A0”, 1) <<255, 65, 48, 72, 69, 76, 76, 79, 66, 66, 66, 66, 66>>
iex> EvilClock.Framing.build_ascii_frame(“HELLO”, [:u, :l, :u, :l, :none], “A0”, 1) <<255, 65, 48, 72, 69, 76, 76, 79, 85, 76, 85, 76, 95>>
iex> EvilClock.Framing.build_ascii_frame(“HELLO”, List.duplicate(:none, 5), “A0”, 2) <<255, 65, 48, 72, 69, 76, 76, 79, 95, 95, 95, 95, 95>>
iex> EvilClock.Framing.build_ascii_frame(“HELLO”, List.duplicate(:both, 5), “A0”, 2) <<255, 65, 48, 72, 69, 76, 76, 79, 51, 51, 51, 51, 51>>
iex> EvilClock.Framing.build_ascii_frame(“HELLO”, [:u, :l, :u, :l, :none], “A0”, 2) <<255, 65, 48, 72, 69, 76, 76, 79, 50, 49, 50, 49, 95>>
Build a single serial message frame for the MT (Mode Time) command.
## Examples
iex> EvilClock.Framing.build_mode_time_frame(1) <<255, 77, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32>>
iex> EvilClock.Framing.build_mode_time_frame(2) <<255, 77, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32>>
Build a single serial message frame for the ST (Set Time) command.
## Examples
iex> EvilClock.Framing.build_set_time_frame(“1484811870”, 1) <<255, 83, 84, 49, 52, 56, 52, 56, 49, 49, 56, 55, 48>>
iex> EvilClock.Framing.build_set_time_frame(“1484811870”, 2) <<255, 83, 84, 49, 52, 56, 52, 56, 49, 49, 56, 55, 48>>
Translates an atom representing a decimal point segment into its corresponding protocol value for firmware v2.0.
## Examples
### Firmware 1.0
iex> EvilClock.Framing.dec_point_from_atom(:lower, 1) “L” iex> EvilClock.Framing.dec_point_from_atom(:l, 1) “L”
iex> EvilClock.Framing.dec_point_from_atom(:upper, 1) “U” iex> EvilClock.Framing.dec_point_from_atom(:u, 1) “U”
iex> EvilClock.Framing.dec_point_from_atom(:both, 1) “B” iex> EvilClock.Framing.dec_point_from_atom(:b, 1) “B”
iex> EvilClock.Framing.decpoint_from_atom(:other, 1) “”
### Firmware >= 2.0
iex> EvilClock.Framing.dec_point_from_atom(:lower, 2) “1” iex> EvilClock.Framing.dec_point_from_atom(:l, 2) “1”
iex> EvilClock.Framing.dec_point_from_atom(:upper, 2) “2” iex> EvilClock.Framing.dec_point_from_atom(:u, 2) “2”
iex> EvilClock.Framing.dec_point_from_atom(:both, 2) “3” iex> EvilClock.Framing.dec_point_from_atom(:b, 2) “3”
iex> EvilClock.Framing.decpoint_from_atom(:other, 2) “”