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