whoops. I didn't know what F43 was.
parent
a581557481
commit
99ecc1035d
|
@ -5,7 +5,7 @@ defmodule Farmbot.CeleryScript.AST.Node.WritePin do
|
|||
|
||||
def execute(%{pin_mode: mode, pin_value: value, pin_number: num}, [], env) do
|
||||
env = mutate_env(env)
|
||||
case Farmbot.Firmware.set_pin_mode(num, :analog) do
|
||||
case Farmbot.Firmware.set_pin_mode(num, :output) do
|
||||
:ok ->
|
||||
case Farmbot.Firmware.write_pin(num, mode, value) do
|
||||
:ok ->
|
||||
|
|
|
@ -60,7 +60,7 @@ defmodule Farmbot.Firmware do
|
|||
GenStage.call(__MODULE__, {:emergency_unlock, []}, :infinity)
|
||||
end
|
||||
|
||||
@doc "Set a pin mode."
|
||||
@doc "Set a pin mode (:input | :output)"
|
||||
def set_pin_mode(pin, mode) do
|
||||
GenStage.call(__MODULE__, {:set_pin_mode, [pin, mode]}, :infinity)
|
||||
end
|
||||
|
|
|
@ -71,8 +71,8 @@ defmodule Farmbot.Firmware.Handler do
|
|||
@doc "Write a pin."
|
||||
@callback write_pin(handler, pin, pin_mode, number) :: fw_ret_val
|
||||
|
||||
@doc "Set a pin mode."
|
||||
@callback set_pin_mode(handler, pin, pin_mode) :: fw_ret_val
|
||||
@doc "Set a pin mode (input/output)"
|
||||
@callback set_pin_mode(handler, pin, :input | :output) :: fw_ret_val
|
||||
|
||||
@doc "Request firmware version."
|
||||
@callback request_software_version(handler) :: fw_ret_val
|
||||
|
|
|
@ -126,8 +126,8 @@ defmodule Farmbot.Firmware.StubHandler do
|
|||
{:reply, :ok, [{:report_pin_mode, pin, mode}, {:report_pin_value, pin, value}, :done], state}
|
||||
end
|
||||
|
||||
def handle_call({:set_pin_mode, pin, mode}, _from, state) do
|
||||
{:reply, :ok, [{:report_pin_mode, pin, mode}], state}
|
||||
def handle_call({:set_pin_mode, _pin, _mode}, _from, state) do
|
||||
{:reply, :ok, [], state}
|
||||
end
|
||||
|
||||
def handle_call({:zero, axis}, _from, state) do
|
||||
|
|
|
@ -230,8 +230,8 @@ defmodule Farmbot.Firmware.UartHandler do
|
|||
end
|
||||
|
||||
def handle_call({:set_pin_mode, pin, mode}, _from, state) do
|
||||
encoded_mode = extract_pin_mode(mode)
|
||||
do_write("F43 P#{pin} M#{encoded_mode}", state, [{:report_pin_mode, pin, mode}])
|
||||
encoded_mode = if mode == :output, do: 1, else: 0
|
||||
do_write("F43 P#{pin} M#{encoded_mode}", state, [])
|
||||
end
|
||||
|
||||
def handle_call({:read_pin, pin, mode}, _from, state) do
|
||||
|
|
Loading…
Reference in New Issue