Fix set_pin_io mode
parent
9e8b2a43a9
commit
a04ddf0159
|
@ -219,6 +219,10 @@ defmodule FarmbotCeleryScript.SysCalls do
|
|||
number_or_error(sys_calls, :set_servo_angle, [pin_num, pin_value])
|
||||
end
|
||||
|
||||
def set_pin_io_mode(sys_calls \\ @sys_calls, pin_number, pin_io_mode) do
|
||||
ok_or_error(sys_calls, :set_pin_io_mode, [pin_number, pin_io_mode])
|
||||
end
|
||||
|
||||
def set_user_env(sys_calls \\ @sys_calls, key, value) do
|
||||
ok_or_error(sys_calls, :set_user_env, [key, value])
|
||||
end
|
||||
|
|
|
@ -250,6 +250,16 @@ defmodule FarmbotFirmware.StubTransport do
|
|||
{:reply, :ok, state, {:continue, resp_codes}}
|
||||
end
|
||||
|
||||
def handle_call({tag, {:pin_mode_write, _args}} = code, _from, state) do
|
||||
resp_codes = [
|
||||
GCODE.new(:report_echo, [GCODE.encode(code)]),
|
||||
GCODE.new(:report_begin, [], tag),
|
||||
GCODE.new(:report_success, [], tag)
|
||||
]
|
||||
|
||||
{:reply, :ok, state, {:continue, resp_codes}}
|
||||
end
|
||||
|
||||
def handle_call({tag, {:position_read, _}} = code, _from, state) do
|
||||
resp_codes = [
|
||||
GCODE.new(:report_echo, [GCODE.encode(code)]),
|
||||
|
|
|
@ -2,7 +2,7 @@ defmodule FarmbotOS.SysCalls.SetPinIOMode do
|
|||
alias FarmbotFirmware
|
||||
|
||||
def set_pin_io_mode(pin_number, mode) do
|
||||
mode = extract_set_pin_mode(to_string(mode))
|
||||
mode = extract_set_pin_mode(mode)
|
||||
|
||||
case FarmbotFirmware.command({:pin_mode_write, [p: pin_number, m: mode]}) do
|
||||
:ok ->
|
||||
|
@ -16,4 +16,7 @@ defmodule FarmbotOS.SysCalls.SetPinIOMode do
|
|||
def extract_set_pin_mode("input"), do: 0x0
|
||||
def extract_set_pin_mode("input_pullup"), do: 0x2
|
||||
def extract_set_pin_mode("output"), do: 0x1
|
||||
def extract_set_pin_mode(0x0), do: 0x0
|
||||
def extract_set_pin_mode(0x2), do: 0x2
|
||||
def extract_set_pin_mode(0x1), do: 0x1
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue