Point users to the new releases page
parent
deb72cd177
commit
2a0e5aef6c
|
@ -2,12 +2,9 @@
|
|||
# :floppy_disk: Latest OS Image Downloads
|
||||
<!-- DON'T CHANGE THE TEXT ABOVE. It is used in documentation links. -->
|
||||
|
||||
Download the version of FarmBot OS that corresponds to the FarmBot kit and computer you have:
|
||||
The FarmBot OS release page has moved to [my.farm.bot/os](https://my.farm.bot/os)
|
||||
|
||||
| FarmBot Kit | Computer | Download Link |
|
||||
| --- | --- | --- |
|
||||
| Genesis v1.2, Genesis v1.3, Genesis v1.4, Genesis XL v1.4 | Raspberry Pi 3 | [Download FBOS](https://github.com/FarmBot/farmbot_os/releases/download/v9.0.3/farmbot-rpi3-9.0.3.img) |
|
||||
| Express v1.0, Express XL v1.0 | Raspberry Pi Zero W | Coming soon |
|
||||
Old versions of FarmBot OS can be found [here](https://github.com/FarmBot/farmbot_os/releases). Please note that [FarmBot does not provide support for old versions of FBOS](https://software.farm.bot/docs/support-policy).
|
||||
|
||||
---
|
||||
|
||||
|
|
|
@ -241,15 +241,23 @@ defmodule FarmbotFirmware do
|
|||
end
|
||||
|
||||
def handle_info(:timeout, %{status: :transport_boot, reset_pid: nil} = state) do
|
||||
case GenServer.start_link(state.reset, state.transport_args, name: state.reset) do
|
||||
case GenServer.start_link(state.reset, state.transport_args,
|
||||
name: state.reset
|
||||
) do
|
||||
{:ok, pid} ->
|
||||
Logger.debug("Firmware reset #{state.reset} started. #{inspect(state.transport_args)}")
|
||||
Logger.debug(
|
||||
"Firmware reset #{state.reset} started. #{
|
||||
inspect(state.transport_args)
|
||||
}"
|
||||
)
|
||||
|
||||
{:noreply, %{state | reset_pid: pid}}
|
||||
|
||||
# TODO(Rick): I have no idea what's going on here.
|
||||
{:error, {:already_started, pid}} ->
|
||||
Logger.debug("Firmware reset complete. #{inspect(state.transport_args)}")
|
||||
Logger.debug(
|
||||
"Firmware reset complete. #{inspect(state.transport_args)}"
|
||||
)
|
||||
|
||||
{:noreply, %{state | reset_pid: pid}}
|
||||
|
||||
|
@ -270,7 +278,9 @@ defmodule FarmbotFirmware do
|
|||
ref = Process.monitor(pid)
|
||||
|
||||
Logger.debug(
|
||||
"Firmware Transport #{state.transport} started. #{inspect(state.transport_args)}"
|
||||
"Firmware Transport #{state.transport} started. #{
|
||||
inspect(state.transport_args)
|
||||
}"
|
||||
)
|
||||
|
||||
state = goto(%{state | transport_pid: pid, transport_ref: ref}, :boot)
|
||||
|
@ -446,7 +456,8 @@ defmodule FarmbotFirmware do
|
|||
|
||||
send(self(), :timeout)
|
||||
|
||||
{:reply, {:ok, tag}, %{state | command_queue: [{pid, code}], configuration_queue: []}}
|
||||
{:reply, {:ok, tag},
|
||||
%{state | command_queue: [{pid, code}], configuration_queue: []}}
|
||||
end
|
||||
|
||||
# EmergencyUnLock should be ran immediately
|
||||
|
@ -457,7 +468,8 @@ defmodule FarmbotFirmware do
|
|||
) do
|
||||
send(self(), :timeout)
|
||||
|
||||
{:reply, {:ok, tag}, %{state | command_queue: [{pid, code}], configuration_queue: []}}
|
||||
{:reply, {:ok, tag},
|
||||
%{state | command_queue: [{pid, code}], configuration_queue: []}}
|
||||
end
|
||||
|
||||
# If not in an acceptable state, return an error immediately.
|
||||
|
@ -565,7 +577,8 @@ defmodule FarmbotFirmware do
|
|||
|
||||
send(self(), :timeout)
|
||||
|
||||
{:noreply, goto(%{state | tag: tag, configuration_queue: to_process}, :configuration)}
|
||||
{:noreply,
|
||||
goto(%{state | tag: tag, configuration_queue: to_process}, :configuration)}
|
||||
end
|
||||
|
||||
def handle_report({:report_debug_message, msg}, state) do
|
||||
|
|
|
@ -73,7 +73,9 @@ defmodule FarmbotFirmware.Command do
|
|||
wait_for_command_result(tag, code, retries, err)
|
||||
after
|
||||
30_000 ->
|
||||
raise("Firmware command: #{GCODE.encode(code)} failed to respond within 30 seconds")
|
||||
raise(
|
||||
"Firmware command: #{GCODE.encode(code)} failed to respond within 30 seconds"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -9,7 +9,8 @@ defmodule FarmbotFirmware.Request do
|
|||
|
||||
@spec request(GenServer.server(), GCODE.t()) ::
|
||||
{:ok, GCODE.t()}
|
||||
| {:error, :invalid_command | :firmware_error | FarmbotFirmware.status()}
|
||||
| {:error,
|
||||
:invalid_command | :firmware_error | FarmbotFirmware.status()}
|
||||
@whitelist [
|
||||
:parameter_read,
|
||||
:status_read,
|
||||
|
|
|
@ -4,6 +4,8 @@ defmodule FarmbotFirmware.GCODE.DecoderTest do
|
|||
setup :verify_on_exit!
|
||||
alias FarmbotFirmware.GCODE.Decoder
|
||||
|
||||
# NOTE: Theese values are totally random and may
|
||||
# not represent real-world use of the GCode.
|
||||
test "Decoder.decode_floats" do
|
||||
assert {:command_movement, []} == Decoder.do_decode("G00", ["XA0.0"])
|
||||
assert {:report_load, [x: 0.0]} == Decoder.do_decode("R89", ["X0.0"])
|
||||
|
|
Loading…
Reference in New Issue