=== qa/v10.0.0-rc1

qa/firmware_experiments
Rick Carlino 2020-05-01 14:09:33 -05:00
parent 3b66b164a7
commit 20cf44ddad
12 changed files with 66 additions and 33 deletions

View File

@ -1,5 +1,11 @@
# Changelog
# 10.0.0
* Deprecate `resource_update` RPC
* Introduce `update_resource` RPC, which allows users to modify variables from the sequence editor.
* Allow Express users to upgrade from RPi0 => RPi3 (require ribbon cable and USB adapter).
# 9.2.2
* Fix firmware locking error ("Can't perform X in Y state")

View File

@ -1 +1 @@
9.2.2
10.0.0-rc1

View File

@ -363,7 +363,33 @@ defmodule FarmbotCeleryScript.CompilerTest do
|> AST.decode()
|> compile()
assert compiled == strip_nl("?")
assert compiled ==
strip_nl("""
[
fn params ->
_ = inspect(params)
unsafe_cGFyZW50 =
Keyword.get(params, :unsafe_cGFyZW50, FarmbotCeleryScript.SysCalls.coordinate(1, 2, 3))
[
fn ->
FarmbotCeleryScript.Compiler.UpdateResource.do_update(
%FarmbotCeleryScript.AST{
args: %{label: "parent"},
body: [],
comment: nil,
kind: :identifier,
meta: nil
},
%{"plant_stage" => "removed"},
[]
)
end
]
end
]
""")
end
test "`update_resource`: Multiple fields of `resource` type." do
@ -374,7 +400,30 @@ defmodule FarmbotCeleryScript.CompilerTest do
|> AST.decode()
|> compile()
assert compiled == strip_nl("?")
assert compiled ==
strip_nl("""
[
fn params ->
_ = inspect(params)
[
fn ->
FarmbotCeleryScript.Compiler.UpdateResource.do_update(
%FarmbotCeleryScript.AST{
args: %{resource_id: 23, resource_type: "Plant"},
body: [],
comment: nil,
kind: :resource,
meta: nil
},
%{"plant_stage" => "planted", "r" => 23},
[]
)
end
]
end
]
""")
end
defp compile(ast) do

View File

@ -46,8 +46,6 @@ config :farmbot_core, FarmbotCore.EctoMigrator,
"beta"
)
config :farmbot_core, FarmbotCore.FirmwareTTYDetector, expected_names: []
config :farmbot_core, FarmbotCore.FirmwareOpenTask, attempt_threshold: 5
config :farmbot_firmware, FarmbotFirmware, reset: FarmbotFirmware.NullReset

View File

@ -3,17 +3,14 @@ defmodule FarmbotCore.FirmwareTTYDetector do
require Logger
alias Circuits.UART
@expected_names Application.get_env(:farmbot_core, __MODULE__)[:expected_names]
@expected_names ||
Mix.raise("""
Please configure `expected_names` for TTYDetector.
config :farmbot_core, FarmbotCore.FirmwareTTYDetector,
expected_names: ["ttyS0", "ttyNotReal"]
""")
@error_retry_ms 5_000
if System.get_env("FARMBOT_TTY") do
@expected_names [System.get_env("FARMBOT_TTY")]
else
@expected_names ["ttyUSB0", "ttyAMA0", "ttyACM0"]
end
@doc "Gets the detected TTY"
def tty(server \\ __MODULE__) do
GenServer.call(server, :tty)

View File

@ -39,8 +39,6 @@ config :farmbot_core, FarmbotCore.EctoMigrator,
default_currently_on_beta:
String.contains?(to_string(:os.cmd('git rev-parse --abbrev-ref HEAD')), "beta")
config :farmbot_core, FarmbotCore.FirmwareTTYDetector, expected_names: []
config :farmbot_core, FarmbotCore.FirmwareOpenTask, attempt_threshold: 0
config :farmbot_core, FarmbotCore.AssetWorker.FarmbotCore.Asset.FbosConfig,

View File

@ -36,11 +36,6 @@ config :farmbot,
FarmbotCore.Asset.Repo
]
config :farmbot_core, FarmbotCore.FirmwareTTYDetector,
expected_names: [
System.get_env("FARMBOT_TTY")
]
config :farmbot_core, FarmbotCore.FirmwareOpenTask, attempt_threshold: 5
config :farmbot_core, FarmbotCore.AssetWorker.FarmbotCore.Asset.FbosConfig,

View File

@ -1,8 +1,5 @@
use Mix.Config
config :farmbot_core, FarmbotCore.FirmwareTTYDetector,
expected_names: ["ttyUSB0", "ttyAMA0"]
config :farmbot_firmware, FarmbotFirmware,
reset: FarmbotOS.Platform.Target.FirmwareReset.GPIO

View File

@ -1,8 +1,5 @@
use Mix.Config
config :farmbot_core, FarmbotCore.FirmwareTTYDetector,
expected_names: ["ttyUSB0", "ttyAMA0"]
config :farmbot_core, FarmbotCore.FirmwareOpenTask, attempt_threshold: 50
config :farmbot_firmware, FarmbotFirmware,

View File

@ -1,9 +1,7 @@
use Mix.Config
config :farmbot_core, FarmbotCore.FirmwareTTYDetector,
expected_names: ["ttyUSB0", "ttyACM0"]
config :farmbot_firmware, FarmbotFirmware, reset: FarmbotFirmware.NullReset
config :farmbot, FarmbotOS.SysCalls.FlashFirmware, gpio: Circuits.GPIO
config :farmbot, FarmbotOS.Init.Supervisor,
init_children: [

View File

@ -1,5 +1,3 @@
Application.get_env(:farmbot, FarmbotOS.SysCalls.FlashFirmware, [])[:gpio]
defmodule FarmbotOS.SysCalls.FlashFirmware do
@moduledoc false

View File

@ -35,7 +35,7 @@ defmodule FarmbotOS.SysCalls.PointLookupTest do
y: 3.4,
z: 5.6,
resource_id: 555,
resource_type: "Point"
resource_type: "GenericPointer"
}
p = point(expected)