Cleanup and typo fixes

pull/387/merge
connor rigby 2017-12-13 10:32:00 -08:00
parent ba4a4f9969
commit ec2c127b05
16 changed files with 149 additions and 155 deletions

View File

@ -54,7 +54,7 @@ case target do
import_config("target/#{target}.exs")
end
rootfs_overlay_dir = "config/target/rootfs_overlay_#{Mix.Project.config()[:target]}"
rootfs_overlay_dir = "config/target/rootfs_overlay_#{Farmbot.Project.target()}"
if File.exists?(rootfs_overlay_dir) do
config :nerves, :firmware, rootfs_overlay: rootfs_overlay_dir

View File

@ -2,132 +2,15 @@ defmodule Farmbot.BotState do
@moduledoc "JSON Serializable state tree that gets pushed over variour transports."
use GenStage
@version Mix.Project.config()[:version]
@commit Mix.Project.config()[:commit]
@target Mix.Project.config()[:target]
@env Mix.env()
@version Farmbot.Project.version()
@commit Farmbot.Project.commit()
@target Farmbot.Project.target()
@env Farmbot.Project.env()
alias Farmbot.CeleryScript.AST
use Farmbot.Logger
defstruct mcu_params: %{
param_version: nil,
param_test: nil,
param_config_ok: nil,
param_use_eeprom: nil,
param_e_stop_on_mov_err: nil,
param_mov_nr_retry: nil,
movement_timeout_x: nil,
movement_timeout_y: nil,
movement_timeout_z: nil,
movement_keep_active_x: nil,
movement_keep_active_y: nil,
movement_keep_active_z: nil,
movement_home_at_boot_x: nil,
movement_home_at_boot_y: nil,
movement_home_at_boot_z: nil,
movement_invert_endpoints_x: nil,
movement_invert_endpoints_y: nil,
movement_invert_endpoints_z: nil,
movement_enable_endpoints_x: nil,
movement_enable_endpoints_y: nil,
movement_enable_endpoints_z: nil,
movement_invert_motor_x: nil,
movement_invert_motor_y: nil,
movement_invert_motor_z: nil,
movement_secondary_motor_x: nil,
movement_secondary_motor_invert_x: nil,
movement_steps_acc_dec_x: nil,
movement_steps_acc_dec_y: nil,
movement_steps_acc_dec_z: nil,
movement_stop_at_home_x: nil,
movement_stop_at_home_y: nil,
movement_stop_at_home_z: nil,
movement_home_up_x: nil,
movement_home_up_y: nil,
movement_home_up_z: nil,
movement_step_per_mm_x: nil,
movement_step_per_mm_y: nil,
movement_step_per_mm_z: nil,
movement_min_spd_x: nil,
movement_min_spd_y: nil,
movement_min_spd_z: nil,
movement_home_spd_x: nil,
movement_home_spd_y: nil,
movement_home_spd_z: nil,
movement_max_spd_x: nil,
movement_max_spd_y: nil,
movement_max_spd_z: nil,
encoder_enabled_x: nil,
encoder_enabled_y: nil,
encoder_enabled_z: nil,
encoder_type_x: nil,
encoder_type_y: nil,
encoder_type_z: nil,
encoder_missed_steps_max_x: nil,
encoder_missed_steps_max_y: nil,
encoder_missed_steps_max_z: nil,
encoder_scaling_x: nil,
encoder_scaling_y: nil,
encoder_scaling_z: nil,
encoder_missed_steps_decay_x: nil,
encoder_missed_steps_decay_y: nil,
encoder_missed_steps_decay_z: nil,
encoder_use_for_pos_x: nil,
encoder_use_for_pos_y: nil,
encoder_use_for_pos_z: nil,
encoder_invert_x: nil,
encoder_invert_y: nil,
encoder_invert_z: nil,
movement_axis_nr_steps_x: nil,
movement_axis_nr_steps_y: nil,
movement_axis_nr_steps_z: nil,
movement_stop_at_max_x: nil,
movement_stop_at_max_y: nil,
movement_stop_at_max_z: nil,
pin_guard_1_pin_nr: nil,
pin_guard_1_time_out: nil,
pin_guard_1_active_state: nil,
pin_guard_2_pin_nr: nil,
pin_guard_2_time_out: nil,
pin_guard_2_active_state: nil,
pin_guard_3_pin_nr: nil,
pin_guard_3_time_out: nil,
pin_guard_3_active_state: nil,
pin_guard_4_pin_nr: nil,
pin_guard_4_time_out: nil,
pin_guard_4_active_state: nil,
pin_guard_5_pin_nr: nil,
pin_guard_5_time_out: nil,
pin_guard_5_active_state: nil,
},
jobs: %{},
location_data: %{
position: %{x: nil, y: nil, z: nil},
scaled_encoders: %{x: nil, y: nil, z: nil},
raw_encoders: %{x: nil, y: nil, z: nil},
},
gpio_registry: %{},
pins: %{},
configuration: %{},
informational_settings: %{
controller_version: @version,
firmware_version: "disconnected",
commit: @commit,
target: @target,
env: @env,
node_name: nil,
busy: false,
sync_status: :sync_now,
sync_status_two: nil,
locked: false
},
user_env: %{},
process_info: %{
farmwares: %{}
}
def download_progress_fun(name) do
def download_progress_fun(name) do
alias Farmbot.BotState.JobProgress
fn(bytes, total) ->
{do_send, prog} = cond do
@ -372,4 +255,123 @@ defmodule Farmbot.BotState do
state = %{state | key => Map.merge(Map.get(state, key), diff)}
do_handle(rest, state)
end
defstruct [
informational_settings: %{
controller_version: @version,
firmware_version: "disconnected",
commit: @commit,
target: @target,
env: @env,
node_name: nil,
busy: false,
sync_status: :sync_now,
sync_status_two: nil,
locked: false
},
location_data: %{
position: %{x: nil, y: nil, z: nil},
scaled_encoders: %{x: nil, y: nil, z: nil},
raw_encoders: %{x: nil, y: nil, z: nil},
},
process_info: %{
farmwares: %{}
},
mcu_params: %{
param_version: nil,
param_test: nil,
param_config_ok: nil,
param_use_eeprom: nil,
param_e_stop_on_mov_err: nil,
param_mov_nr_retry: nil,
movement_timeout_x: nil,
movement_timeout_y: nil,
movement_timeout_z: nil,
movement_keep_active_x: nil,
movement_keep_active_y: nil,
movement_keep_active_z: nil,
movement_home_at_boot_x: nil,
movement_home_at_boot_y: nil,
movement_home_at_boot_z: nil,
movement_invert_endpoints_x: nil,
movement_invert_endpoints_y: nil,
movement_invert_endpoints_z: nil,
movement_enable_endpoints_x: nil,
movement_enable_endpoints_y: nil,
movement_enable_endpoints_z: nil,
movement_invert_motor_x: nil,
movement_invert_motor_y: nil,
movement_invert_motor_z: nil,
movement_secondary_motor_x: nil,
movement_secondary_motor_invert_x: nil,
movement_steps_acc_dec_x: nil,
movement_steps_acc_dec_y: nil,
movement_steps_acc_dec_z: nil,
movement_stop_at_home_x: nil,
movement_stop_at_home_y: nil,
movement_stop_at_home_z: nil,
movement_home_up_x: nil,
movement_home_up_y: nil,
movement_home_up_z: nil,
movement_step_per_mm_x: nil,
movement_step_per_mm_y: nil,
movement_step_per_mm_z: nil,
movement_min_spd_x: nil,
movement_min_spd_y: nil,
movement_min_spd_z: nil,
movement_home_spd_x: nil,
movement_home_spd_y: nil,
movement_home_spd_z: nil,
movement_max_spd_x: nil,
movement_max_spd_y: nil,
movement_max_spd_z: nil,
encoder_enabled_x: nil,
encoder_enabled_y: nil,
encoder_enabled_z: nil,
encoder_type_x: nil,
encoder_type_y: nil,
encoder_type_z: nil,
encoder_missed_steps_max_x: nil,
encoder_missed_steps_max_y: nil,
encoder_missed_steps_max_z: nil,
encoder_scaling_x: nil,
encoder_scaling_y: nil,
encoder_scaling_z: nil,
encoder_missed_steps_decay_x: nil,
encoder_missed_steps_decay_y: nil,
encoder_missed_steps_decay_z: nil,
encoder_use_for_pos_x: nil,
encoder_use_for_pos_y: nil,
encoder_use_for_pos_z: nil,
encoder_invert_x: nil,
encoder_invert_y: nil,
encoder_invert_z: nil,
movement_axis_nr_steps_x: nil,
movement_axis_nr_steps_y: nil,
movement_axis_nr_steps_z: nil,
movement_stop_at_max_x: nil,
movement_stop_at_max_y: nil,
movement_stop_at_max_z: nil,
pin_guard_1_pin_nr: nil,
pin_guard_1_time_out: nil,
pin_guard_1_active_state: nil,
pin_guard_2_pin_nr: nil,
pin_guard_2_time_out: nil,
pin_guard_2_active_state: nil,
pin_guard_3_pin_nr: nil,
pin_guard_3_time_out: nil,
pin_guard_3_active_state: nil,
pin_guard_4_pin_nr: nil,
pin_guard_4_time_out: nil,
pin_guard_4_active_state: nil,
pin_guard_5_pin_nr: nil,
pin_guard_5_time_out: nil,
pin_guard_5_active_state: nil
},
jobs: %{},
gpio_registry: %{},
pins: %{},
configuration: %{},
user_env: %{}
]
end

View File

@ -23,7 +23,7 @@ defmodule Farmbot.BotState.JobProgress do
end
defmodule Bytes do
@moduledoc "Byes job."
@moduledoc "Bytes job."
defstruct [status: :working, bytes: 0, unit: :bytes]
defimpl Inspect, for: __MODULE__ do

View File

@ -5,7 +5,7 @@ defmodule Farmbot.Farmware.Runtime do
alias Farmware.{RuntimeError, Installer}
use Farmbot.Logger
@fbos_version Mix.Project.config()[:version]
@fbos_version Farmbot.Project.version()
defstruct [:farmware, :env, :port, :exit_status, :working_dir, :return_dir]

View File

@ -1,6 +1,6 @@
defmodule Farmbot.Firmware.Gcode.Parser do
@moduledoc """
Parses farmbot_arduino_firmware G-Codes.
Parses [farmbot-arduino-firmware](https://github.com/farmbot/farmbot-arduino-firmware) G-Codes.
"""
import Farmbot.Firmware.Gcode.Param
@ -8,6 +8,7 @@ defmodule Farmbot.Firmware.Gcode.Parser do
@spec parse_code(binary) :: {binary, tuple}
# Status codes.
@doc "Parse a code to an Elixir consumable message."
def parse_code("R00 Q" <> tag), do: {tag, :idle}
def parse_code("R01 Q" <> tag), do: {tag, :received}
def parse_code("R02 Q" <> tag), do: {tag, :done}
@ -109,12 +110,7 @@ defmodule Farmbot.Firmware.Gcode.Parser do
{:unhandled_gcode, Enum.join(l, " ")}
end
@doc ~S"""
Parses End Stops. I don't think we actually use these yet.
Example:
iex> Gcode.parse_end_stops("XA1 XB1 YA0 YB1 ZA0 ZB1 Q123")
{:report_end_stops, "1", "1", "0", "1", "0", "1", "123"}
"""
@doc false
@spec parse_end_stops(binary) ::
{:report_end_stops, binary, binary, binary, binary, binary, binary, binary}
def parse_end_stops(<<
@ -149,16 +145,7 @@ defmodule Farmbot.Firmware.Gcode.Parser do
defp pes(48), do: 0
defp pes(49), do: 1
@doc ~S"""
common function for report_(something)_value from gcode.
Example:
iex> Gcode.parse_pvq("P20 V100", :report_parameter_value)
{:report_parameter_value, "20" ,"100", "0"}
Example:
iex> Gcode.parse_pvq("P20 V100 Q12", :report_parameter_value)
{:report_parameter_value, "20" ,"100", "12"}
"""
@doc false
@spec parse_pvq(binary, :report_parameter_value) ::
{:report_parameter_value, atom, integer, String.t()}
def parse_pvq(params, :report_parameter_value)

View File

@ -13,8 +13,8 @@ defmodule Farmbot.HTTP.HTTPoisonAdapter do
@behaviour Farmbot.HTTP.Adapter
@version Mix.Project.config()[:version]
@target Mix.Project.config()[:target]
@version Farmbot.Project.version()
@target Farmbot.Project.target()
@redirect_status_codes [301, 302, 303, 307, 308]
def request(http, method, url, body, headers, opts) do

View File

@ -4,6 +4,7 @@ defmodule Farmbot.Project do
@version Mix.Project.config[:version]
@target Mix.Project.config[:target]
@commit Mix.Project.config[:commit]
@env Mix.env()
@doc "*#{@version}*"
@compile {:inline, version: 0}
@ -16,4 +17,8 @@ defmodule Farmbot.Project do
@doc "*#{@target}*"
@compile {:inline, target: 0}
def target, do: @target
@doc "*#{@env}*"
@compile {:inline, env: 0}
def env, do: @env
end

View File

@ -8,7 +8,7 @@ defmodule Farmbot.System.Init.FSCheckup do
@ref Farmbot.Project.commit()
@version Farmbot.Project.version()
@target Farmbot.Project.target()
@env Mix.env()
@env Farmbot.Project.env()
def start_link(_, opts \\ []) do
Supervisor.start_link(__MODULE__, [], opts)

View File

@ -83,9 +83,9 @@ defmodule Farmbot.System do
File.write!(file, reason)
end
@ref Mix.Project.config()[:commit]
@target Mix.Project.config()[:target]
@env Mix.env()
@ref Farmbot.Project.commit()
@target Farmbot.Project.target()
@env Farmbot.Project.env()
@doc "Format an error for human consumption."
def format_reason(reason) do

View File

@ -4,7 +4,7 @@ defmodule Farmbot.System.Updates.SlackUpdater do
"""
@token System.get_env("SLACK_TOKEN")
@target Mix.Project.config()[:target]
@target Farmbot.Project.target()
@data_path Application.get_env(:farmbot, :data_path)
use Farmbot.Logger

View File

@ -5,7 +5,7 @@ defmodule Farmbot.System.Updates do
@data_path Application.get_env(:farmbot, :data_path)
@current_version Farmbot.Project.version()
@target Farmbot.Project.target()
@env Mix.env()
@env Farmbot.Project.env()
use Farmbot.Logger
@handler Application.get_env(:farmbot, :behaviour)[:update_handler] || Mix.raise("Please configure `config :farmbot, :behaviour, [update_handler: <handler_mod>]`")

View File

@ -1,5 +1,5 @@
defmodule Logger.Backends.Farmbot do
@moduledoc "Farmbot Loggerr Backend."
@moduledoc false
def init(_opts) do
{:ok, %{}}

View File

@ -34,7 +34,7 @@ defmodule Mix.Tasks.Farmbot.Env do
@doc false
def env do
to_string(Mix.env())
to_string(Farmbot.Project.env())
end
@doc false

View File

@ -3,7 +3,7 @@ defmodule Farmbot.Host.TargetConfiguratorTest do
use Plug.Router
if Mix.env() == :dev do
if Farmbot.Project.env() == :dev do
use Plug.Debugger, otp_app: :farmbot
end

View File

@ -1,4 +1,4 @@
if Mix.env() == :dev do
if Farmbot.Project.env() == :dev do
defmodule Farmbot.System.Udev.Supervisor do
@moduledoc false
use Supervisor

View File

@ -3,7 +3,7 @@ defmodule Farmbot.Target.Bootstrap.Configurator.Router do
use Plug.Router
if Mix.env() == :dev do
if Farmbot.Project.env() == :dev do
use Plug.Debugger, otp_app: :farmbot
end