Fix factory resetting of arduino firmware.
This commit is contained in:
parent
d97bf1f528
commit
d89f9ab63c
|
@ -2,9 +2,11 @@ defmodule Farmbot.CeleryScript.AST.Node.FactoryReset do
|
|||
@moduledoc false
|
||||
use Farmbot.CeleryScript.AST.Node
|
||||
allow_args [:package]
|
||||
use Farmbot.Logger
|
||||
|
||||
def execute(%{package: :farmbot_os}, _, env) do
|
||||
env = mutate_env(env)
|
||||
Logger.warn 1, "Going down for factory reset!"
|
||||
Farmbot.System.factory_reset "CeleryScript request."
|
||||
{:ok, env}
|
||||
end
|
||||
|
@ -17,6 +19,7 @@ defmodule Farmbot.CeleryScript.AST.Node.FactoryReset do
|
|||
end
|
||||
|
||||
Farmbot.Firmware.read_all_params()
|
||||
Farmbot.System.reboot("Arduino factory reset.")
|
||||
{:ok, env}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -27,13 +27,20 @@ defmodule Farmbot.CeleryScript.AST.Node.FindHome do
|
|||
end
|
||||
|
||||
defp do_find_home(ep, ec, axis, speed, env)
|
||||
|
||||
defp do_find_home(ep, ec, axis, _, env) when ((ep == 0) or (ep == nil)) and ((ec == 0) or (ec == nil)) do
|
||||
{:error, "Could not find home on #{axis} axis because endpoints and encoders are disabled.", env}
|
||||
end
|
||||
|
||||
defp do_find_home(ep, ec, axis, speed, env) when ep == 1 or ec == 1 do
|
||||
case Farmbot.Firmware.find_home(axis, speed) do
|
||||
:ok -> {:ok, env}
|
||||
{:error, reason} -> {:error, reason, env}
|
||||
end
|
||||
end
|
||||
|
||||
defp do_find_home(ep, ec, _axis, _speed, env) do
|
||||
{:error, "Unknown state of endpoints: #{ep} or encoders: #{ec}", env}
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -5,6 +5,7 @@ defmodule Farmbot.CeleryScript.AST.Node.Reboot do
|
|||
|
||||
def execute(_, _, env) do
|
||||
env = mutate_env(env)
|
||||
Logger.warn 1, "Going down for a reboot!"
|
||||
Farmbot.System.reboot("CeleryScript request.")
|
||||
{:ok, env}
|
||||
end
|
||||
|
|
|
@ -276,6 +276,11 @@ defmodule Farmbot.Firmware do
|
|||
end
|
||||
end
|
||||
|
||||
defp handle_gcode({:report_parameter_value, param, value}, state) when (value == -1) or (value == -1.0) do
|
||||
Farmbot.System.ConfigStorage.update_config_value(:float, "hardware_params", to_string(param), nil)
|
||||
{:mcu_params, %{param => nil}, state}
|
||||
end
|
||||
|
||||
defp handle_gcode({:report_parameter_value, param, value}, state) do
|
||||
Farmbot.System.ConfigStorage.update_config_value(:float, "hardware_params", to_string(param), value / 1)
|
||||
{:mcu_params, %{param => value}, state}
|
||||
|
@ -410,9 +415,12 @@ defmodule Farmbot.Firmware do
|
|||
@doc false
|
||||
def do_read_params_and_report_position(old) when is_map(old) do
|
||||
for {key, float_val} <- old do
|
||||
if float_val do
|
||||
val = round(float_val)
|
||||
update_param(:"#{key}", val)
|
||||
cond do
|
||||
(float_val == -1) || (float_val == -1.0) -> :ok
|
||||
is_nil(float_val) -> :ok
|
||||
is_number(float_val) ->
|
||||
val = round(float_val)
|
||||
update_param(:"#{key}", val)
|
||||
end
|
||||
end
|
||||
read_all_params()
|
||||
|
|
Loading…
Reference in a new issue