TEST (40.5%): Decoder.decode_pv
parent
b36044662a
commit
986ac6884d
|
@ -164,15 +164,15 @@ defmodule FarmbotFirmware.GCODE.Decoder do
|
|||
end
|
||||
|
||||
@spec decode_end_stops([binary()], Keyword.t()) :: Keyword.t()
|
||||
defp decode_end_stops(list, acc \\ [])
|
||||
def decode_end_stops(list, acc \\ [])
|
||||
|
||||
defp decode_end_stops(
|
||||
[
|
||||
<<arg::binary-1, "A", val0::binary>>,
|
||||
<<arg::binary-1, "B", val1::binary>> | rest
|
||||
],
|
||||
acc
|
||||
) do
|
||||
def decode_end_stops(
|
||||
[
|
||||
<<arg::binary-1, "A", val0::binary>>,
|
||||
<<arg::binary-1, "B", val1::binary>> | rest
|
||||
],
|
||||
acc
|
||||
) do
|
||||
dc = String.downcase(arg)
|
||||
|
||||
acc =
|
||||
|
@ -185,11 +185,10 @@ defmodule FarmbotFirmware.GCODE.Decoder do
|
|||
decode_end_stops(rest, acc)
|
||||
end
|
||||
|
||||
defp decode_end_stops([], acc), do: acc
|
||||
def decode_end_stops([], acc), do: acc
|
||||
def decode_end_stops(error, _acc), do: [parse_error: error]
|
||||
|
||||
defp decode_end_stops(error, _acc), do: [parse_error: error]
|
||||
|
||||
defp decode_pv(["P" <> param_id, "V" <> value]) do
|
||||
def decode_pv(["P" <> param_id, "V" <> value]) do
|
||||
param = Param.decode(String.to_integer(param_id))
|
||||
{value, ""} = Float.parse(value)
|
||||
[{param, value}]
|
||||
|
|
|
@ -6,18 +6,17 @@ defmodule FarmbotFirmware.CommandTest do
|
|||
import ExUnit.CaptureLog
|
||||
@subject FarmbotFirmware.Command
|
||||
|
||||
@tag :this_is_the_bug
|
||||
test "command() runs RPCs" do
|
||||
arg = [transport: FarmbotFirmware.StubTransport]
|
||||
{:ok, pid} = FarmbotFirmware.start_link(arg, [])
|
||||
send(pid, :timeout)
|
||||
|
||||
assert {:error, :emergency_lock} ==
|
||||
@subject.command(pid, {:command_emergency_lock, []})
|
||||
FarmbotFirmware.command(pid, {:command_emergency_lock, []})
|
||||
|
||||
assert :ok == @subject.command(pid, {:command_emergency_unlock, []})
|
||||
assert :ok == FarmbotFirmware.command(pid, {:command_emergency_unlock, []})
|
||||
cmd = {:parameter_write, [movement_stop_at_home_x: 0.0]}
|
||||
assert :ok == @subject.command(pid, cmd)
|
||||
assert :ok == FarmbotFirmware.command(pid, cmd)
|
||||
end
|
||||
|
||||
test "command() refuses to run RPCs in :boot state" do
|
||||
|
|
|
@ -4,6 +4,10 @@ defmodule FarmbotFirmware.GCODE.DecoderTest do
|
|||
setup :verify_on_exit!
|
||||
alias FarmbotFirmware.GCODE.Decoder
|
||||
|
||||
test "Decoder.decode_pv" do
|
||||
assert [param_config_ok: 3.0] == Decoder.decode_pv(["P2", "V3"])
|
||||
end
|
||||
|
||||
# NOTE: Theese values are totally random and may
|
||||
# not represent real-world use of the GCode.
|
||||
test "Decoder.decode_floats" do
|
||||
|
|
Loading…
Reference in New Issue