   end
 
   @doc false
-  @spec parse_end_stops(binary) ::
-          {:report_end_stops, binary, binary, binary, binary, binary, binary, binary}
-  def parse_end_stops(<<
-        "XA",
-        xa::size(8),
-        32,
-        "XB",
-        xb::size(8),
-        32,
-        "YA",
-        ya::size(8),
-        32,
-        "YB",
-        yb::size(8),
-        32,
-        "ZA",
-        za::size(8),
-        32,
-        "ZB",
-        zb::size(8),
-        32,
-        "Q",
-        tag::binary
-      >>),
-      do: {
-        tag,
-        {:report_end_stops, xa |> pes, xb |> pes, ya |> pes, yb |> pes, za |> pes, zb |> pes}
-      }
+  @spec parse_end_stops(binary)
+    :: {:report_end_stops,
+        binary, binary, binary, binary, binary, binary, binary}
+  def parse_end_stops(
+    <<"XA", xa::size(8), 32,
+      "XB", xb::size(8), 32,
+      "YA", ya::size(8), 32,
+      "YB", yb::size(8), 32,
+      "ZA", za::size(8), 32,
+      "ZB", zb::size(8), 32,
+      "Q", tag::binary >>)
+  do
+    r = :report_end_stops
+    msg = {r, xa |> pes, xb |> pes, ya |> pes, yb |> pes, za |> pes, zb |> pes}
+    {tag, msg}
+  end
 
   # lol
   @spec pes(48 | 49) :: 0 | 1

      do: params |> String.split(" ") |> do_parse_pvq(human_readable_param_name)

  defp do_parse_pvq([p, v, q], human_readable_param_name) do
    [_, rp] = String.split(p, "P")
    [_, rv] = String.split(v, "V")
    [_, rq] = String.split(q, "Q")
    {rq, {human_readable_param_name, String.to_integer(rp), String.to_integer(rv)}}
  end

  defp do_parse_params([p, v, q]) do
    [_, rp] = String.split(p, "P")
    [_, rv] = String.split(v, "V")
    [_, rq] = String.split(q, "Q")
    {rq, {:report_parameter_value, parse_param(String.to_integer(rp)), String.to_integer(rv)}}
  end
end

  def parse_code("R05" <> _r), do: {nil, :noop}
  def parse_code("R06 " <> r), do: parse_report_calibration(r)
  def parse_code("R07 " <> _), do: {nil, :noop}
  def parse_code("R08 " <> echo),
    do: {:echo, {:echo, String.replace(echo, "\r", "")}}
  def parse_code("R09 " <> tag),  do: {tag, :invalid_command}

  # Report axis homing.
