rebase params

This commit is contained in:
connor rigby 2017-11-07 07:28:31 -08:00
parent 3836336f90
commit 412c7da4b9
7 changed files with 545 additions and 262 deletions

200
blah.exs Normal file
View file

@ -0,0 +1,200 @@
def parse_param(2), do: :param_config_ok
def parse_param(3), do: :param_use_eeprom
def parse_param(4), do: :param_e_stop_on_mov_err
def parse_param(5), do: :param_mov_nr_retry
def parse_param(11), do: :movement_timeout_x
def parse_param(12), do: :movement_timeout_y
def parse_param(13), do: :movement_timeout_z
def parse_param(15), do: :movement_keep_active_x
def parse_param(16), do: :movement_keep_active_y
def parse_param(17), do: :movement_keep_active_z
def parse_param(18), do: :movement_home_at_boot_x
def parse_param(19), do: :movement_home_at_boot_y
def parse_param(20), do: :movement_home_at_boot_z
def parse_param(21), do: :movement_invert_endpoints_x
def parse_param(22), do: :movement_invert_endpoints_y
def parse_param(23), do: :movement_invert_endpoints_z
def parse_param(25), do: :movement_enable_endpoints_x
def parse_param(26), do: :movement_enable_endpoints_y
def parse_param(27), do: :movement_enable_endpoints_z
def parse_param(31), do: :movement_invert_motor_x
def parse_param(32), do: :movement_invert_motor_y
def parse_param(33), do: :movement_invert_motor_z
def parse_param(36), do: :movement_secondary_motor_x
def parse_param(37), do: :movement_secondary_motor_invert_x
def parse_param(41), do: :movement_steps_acc_dec_x
def parse_param(42), do: :movement_steps_acc_dec_y
def parse_param(43), do: :movement_steps_acc_dec_z
def parse_param(45), do: :movement_stop_at_home_x
def parse_param(46), do: :movement_stop_at_home_y
def parse_param(47), do: :movement_stop_at_home_z
def parse_param(51), do: :movement_home_up_x
def parse_param(52), do: :movement_home_up_y
def parse_param(53), do: :movement_home_up_z
def parse_param(55), do: :movement_step_per_mm_x
def parse_param(56), do: :movement_step_per_mm_y
def parse_param(57), do: :movement_step_per_mm_z
def parse_param(61), do: :movement_min_spd_x
def parse_param(62), do: :movement_min_spd_y
def parse_param(63), do: :movement_min_spd_z
def parse_param(65), do: :movement_home_spd_x
def parse_param(66), do: :movement_home_spd_y
def parse_param(67), do: :movement_home_spd_z
def parse_param(71), do: :movement_max_spd_x
def parse_param(72), do: :movement_max_spd_y
def parse_param(73), do: :movement_max_spd_z
def parse_param(101), do: :encoder_enabled_x
def parse_param(102), do: :encoder_enabled_y
def parse_param(103), do: :encoder_enabled_z
def parse_param(105), do: :encoder_type_x
def parse_param(106), do: :encoder_type_y
def parse_param(107), do: :encoder_type_z
def parse_param(111), do: :encoder_missed_steps_max_x
def parse_param(112), do: :encoder_missed_steps_max_y
def parse_param(113), do: :encoder_missed_steps_max_z
def parse_param(115), do: :encoder_scaling_x
def parse_param(116), do: :encoder_scaling_y
def parse_param(117), do: :encoder_scaling_z
def parse_param(121), do: :encoder_missed_steps_decay_x
def parse_param(122), do: :encoder_missed_steps_decay_y
def parse_param(123), do: :encoder_missed_steps_decay_z
def parse_param(125), do: :encoder_use_for_pos_x
def parse_param(126), do: :encoder_use_for_pos_y
def parse_param(127), do: :encoder_use_for_pos_z
def parse_param(131), do: :encoder_invert_x
def parse_param(132), do: :encoder_invert_y
def parse_param(133), do: :encoder_invert_z
def parse_param(141), do: :movement_axis_nr_steps_x
def parse_param(142), do: :movement_axis_nr_steps_y
def parse_param(143), do: :movement_axis_nr_steps_z
def parse_param(145), do: :movement_stop_at_max_x
def parse_param(146), do: :movement_stop_at_max_y
def parse_param(147), do: :movement_stop_at_max_z
def parse_param(201), do: :pin_guard_1_pin_nr
def parse_param(202), do: :pin_guard_1_time_out
def parse_param(203), do: :pin_guard_1_active_state
def parse_param(205), do: :pin_guard_2_pin_nr
def parse_param(206), do: :pin_guard_2_time_out
def parse_param(207), do: :pin_guard_2_active_state
def parse_param(211), do: :pin_guard_3_pin_nr
def parse_param(212), do: :pin_guard_3_time_out
def parse_param(213), do: :pin_guard_3_active_state
def parse_param(215), do: :pin_guard_4_pin_nr
def parse_param(216), do: :pin_guard_4_time_out
def parse_param(217), do: :pin_guard_4_active_state
def parse_param(221), do: :pin_guard_5_pin_nr
def parse_param(222), do: :pin_guard_5_time_out
def parse_param(223), do: :pin_guard_5_active_state
def parse_param(:param_config_ok), do: 2
def parse_param(:param_use_eeprom), do: 3
def parse_param(:param_e_stop_on_mov_err), do: 4
def parse_param(:param_mov_nr_retry), do: 5
def parse_param(:movement_timeout_x), do: 11
def parse_param(:movement_timeout_y), do: 12
def parse_param(:movement_timeout_z), do: 13
def parse_param(:movement_keep_active_x), do: 15
def parse_param(:movement_keep_active_y), do: 16
def parse_param(:movement_keep_active_z), do: 17
def parse_param(:movement_home_at_boot_x), do: 18
def parse_param(:movement_home_at_boot_y), do: 19
def parse_param(:movement_home_at_boot_z), do: 20
def parse_param(:movement_invert_endpoints_x), do: 21
def parse_param(:movement_invert_endpoints_y), do: 22
def parse_param(:movement_invert_endpoints_z), do: 23
def parse_param(:movement_enable_endpoints_x), do: 25
def parse_param(:movement_enable_endpoints_y), do: 26
def parse_param(:movement_enable_endpoints_z), do: 27
def parse_param(:movement_invert_motor_x), do: 31
def parse_param(:movement_invert_motor_y), do: 32
def parse_param(:movement_invert_motor_z), do: 33
def parse_param(:movement_secondary_motor_x), do: 36
def parse_param(:movement_secondary_motor_invert_x), do: 37
def parse_param(:movement_steps_acc_dec_x), do: 41
def parse_param(:movement_steps_acc_dec_y), do: 42
def parse_param(:movement_steps_acc_dec_z), do: 43
def parse_param(:movement_stop_at_home_x), do: 45
def parse_param(:movement_stop_at_home_y), do: 46
def parse_param(:movement_stop_at_home_z), do: 47
def parse_param(:movement_home_up_x), do: 51
def parse_param(:movement_home_up_y), do: 52
def parse_param(:movement_home_up_z), do: 53
def parse_param(:movement_step_per_mm_x), do: 55
def parse_param(:movement_step_per_mm_y), do: 56
def parse_param(:movement_step_per_mm_z), do: 57
def parse_param(:movement_min_spd_x), do: 61
def parse_param(:movement_min_spd_y), do: 62
def parse_param(:movement_min_spd_z), do: 63
def parse_param(:movement_home_spd_x), do: 65
def parse_param(:movement_home_spd_y), do: 66
def parse_param(:movement_home_spd_z), do: 67
def parse_param(:movement_max_spd_x), do: 71
def parse_param(:movement_max_spd_y), do: 72
def parse_param(:movement_max_spd_z), do: 73
def parse_param(:encoder_enabled_x), do: 101
def parse_param(:encoder_enabled_y), do: 102
def parse_param(:encoder_enabled_z), do: 103
def parse_param(:encoder_type_x), do: 105
def parse_param(:encoder_type_y), do: 106
def parse_param(:encoder_type_z), do: 107
def parse_param(:encoder_missed_steps_max_x), do: 111
def parse_param(:encoder_missed_steps_max_y), do: 112
def parse_param(:encoder_missed_steps_max_z), do: 113
def parse_param(:encoder_scaling_x), do: 115
def parse_param(:encoder_scaling_y), do: 116
def parse_param(:encoder_scaling_z), do: 117
def parse_param(:encoder_missed_steps_decay_x), do: 121
def parse_param(:encoder_missed_steps_decay_y), do: 122
def parse_param(:encoder_missed_steps_decay_z), do: 123
def parse_param(:encoder_use_for_pos_x), do: 125
def parse_param(:encoder_use_for_pos_y), do: 126
def parse_param(:encoder_use_for_pos_z), do: 127
def parse_param(:encoder_invert_x), do: 131
def parse_param(:encoder_invert_y), do: 132
def parse_param(:encoder_invert_z), do: 133
def parse_param(:movement_axis_nr_steps_x), do: 141
def parse_param(:movement_axis_nr_steps_y), do: 142
def parse_param(:movement_axis_nr_steps_z), do: 143
def parse_param(:movement_stop_at_max_x), do: 145
def parse_param(:movement_stop_at_max_y), do: 146
def parse_param(:movement_stop_at_max_z), do: 147
def parse_param(:pin_guard_1_pin_nr), do: 201
def parse_param(:pin_guard_1_time_out), do: 202
def parse_param(:pin_guard_1_active_state), do: 203
def parse_param(:pin_guard_2_pin_nr), do: 205
def parse_param(:pin_guard_2_time_out), do: 206
def parse_param(:pin_guard_2_active_state), do: 207
def parse_param(:pin_guard_3_pin_nr), do: 211
def parse_param(:pin_guard_3_time_out), do: 212
def parse_param(:pin_guard_3_active_state), do: 213
def parse_param(:pin_guard_4_pin_nr), do: 215
def parse_param(:pin_guard_4_time_out), do: 216
def parse_param(:pin_guard_4_active_state), do: 217
def parse_param(:pin_guard_5_pin_nr), do: 221
def parse_param(:pin_guard_5_time_out), do: 222
def parse_param(:pin_guard_5_active_state), do: 223
@type t :: :pin_guard_4_pin_nr |
:pin_guard_4_time_out | :pin_guard_4_active_state | :pin_guard_5_pin_nr | :pin_guard_2_active_state |
:pin_guard_3_pin_nr | :pin_guard_3_time_out | :pin_guard_3_active_state | :pin_guard_1_time_out |
:pin_guard_1_active_state | :pin_guard_2_pin_nr | :pin_guard_2_time_out | :movement_stop_at_max_x |
:movement_stop_at_max_y | :movement_stop_at_max_z | :pin_guard_1_pin_nr | :encoder_invert_z |
:movement_axis_nr_steps_x | :movement_axis_nr_steps_y | :movement_axis_nr_steps_z | :encoder_use_for_pos_y |
:encoder_use_for_pos_z | :encoder_invert_x | :encoder_invert_y | :encoder_missed_steps_decay_y |
:encoder_missed_steps_decay_z | :encoder_use_for_pos_x | :encoder_scaling_x |
:encoder_scaling_y | :encoder_scaling_z | :encoder_missed_steps_decay_x | :encoder_missed_steps_max_x |
:encoder_missed_steps_max_y | :encoder_missed_steps_max_z | :encoder_enabled_y |
:encoder_enabled_z | :encoder_type_x | :encoder_type_y | :encoder_type_z | :movement_max_spd_x |
:movement_max_spd_y | :movement_max_spd_z | :encoder_enabled_x | :movement_min_spd_z |
:movement_home_spd_x | :movement_home_spd_y | :movement_home_spd_z | :movement_step_per_mm_y |
:movement_step_per_mm_z | :movement_min_spd_x | :movement_min_spd_y | :movement_home_up_x |
:movement_home_up_y | :movement_home_up_z | :movement_step_per_mm_x | :movement_stop_at_home_x |
:movement_stop_at_home_y | :movement_stop_at_home_z | :movement_steps_acc_dec_x |
:movement_steps_acc_dec_y | :movement_steps_acc_dec_z | :movement_invert_motor_z |
:movement_secondary_motor_x | :movement_secondary_motor_invert_x | :movement_enable_endpoints_z |
:movement_invert_motor_x | :movement_invert_motor_y | :movement_invert_endpoints_z |
:movement_enable_endpoints_x | :movement_enable_endpoints_y | :movement_home_at_boot_z |
:movement_invert_endpoints_x | :movement_invert_endpoints_y | :movement_keep_active_y |
:movement_keep_active_z | :movement_home_at_boot_x | :movement_home_at_boot_y | :movement_timeout_x |
:movement_timeout_y | :movement_timeout_z | :movement_keep_active_x | :param_config_ok |:param_use_eeprom | :param_e_stop_on_mov_err | :param_mov_nr_retry | :pin_guard_5_time_out |
:pin_guard_5_active_state |

71
build_params.exs Normal file
View file

@ -0,0 +1,71 @@
defmodule ParamParser do
def run do
File.read!("params.txt") |> String.replace("\t", " ") |> String.split("\n") |> do_run()
end
def do_run(list, acc \\ {[], []})
def do_run(["" | rest], acc), do: do_run(rest, acc)
def do_run([param | rest], {strs, nums}) do
{param, num} = parse_param(param)
do_run(rest, {[param | strs], [num | nums]})
end
def do_run([], {strs, nums}) do
res = do_build_parse_num(strs, nums)
++ [""]
++ do_build_parse_str(strs, nums)
++ [""]
++ build_type(Enum.reverse(strs))
|> Enum.join("\n")
File.write!("blah.exs", res)
end
def parse_param(param) do
list = String.split(String.trim(param), " ")
num = List.first(list) |> String.to_integer()
param = List.last(list) |> String.downcase()
{param, num}
end
defp do_build_parse_num(strs, nums, acc \\ [])
defp do_build_parse_num([str | strs], [num | nums], acc) do
built = "def parse_param(#{num}), do: :#{str}"
do_build_parse_num(strs, nums, [built | acc])
end
defp do_build_parse_num([], [], acc), do: acc
defp do_build_parse_str(strs, nums, acc \\ [])
defp do_build_parse_str([str | rest_strs], [num | num_strs], acc) do
built = "def parse_param(:#{str}), do: #{num}"
do_build_parse_str(rest_strs, num_strs, [built | acc])
end
defp do_build_parse_str([], [], acc), do: acc
defp build_type(strs, acc \\ [])
defp build_type([str | rest], []) do
built = ":#{str} |"
build_type(rest, [built])
end
defp build_type([str | rest], [curr | old]) when byte_size(curr) > 80 do
IO.puts "split on #{str}"
built = ":#{str} | \n"
build_type(rest, [built | old ++ [curr]])
end
defp build_type([str | rest], [curr | old] = acc) do
built = ":#{str} | "
build_type(rest, [curr <> built | old])
end
defp build_type([], acc) do
["@type t :: " <> Enum.join(acc, "")]
end
end
ParamParser.run()

View file

@ -1,12 +0,0 @@
defmodule Compiler do
alias Farmbot.CeleryScript.AST
def compile(file) do
File.read!(file)
|> do_compile
end
defp do_compile(bin, acc) do
end
end
Compiler.compile("sequence.celery")

View file

@ -1,36 +0,0 @@
args = Farmbot.HTTP.get!("/api/corpuses/4").body |> Poison.decode! |> Map.get("args") |> Enum.map(&Map.get(&1, "name"))
nodes = Farmbot.HTTP.get!("/api/corpuses/4").body |> Poison.decode! |> Map.get("nodes")
arg_template = """
defmodule Farmbot.CeleryScript.AST.Arg.<%= arg %> do
@moduledoc false
@behaviour Farmbot.CeleryScript.AST.Arg
def verify(val), do: {:ok, val}
end
"""
node_template = """
defmodule Farmbot.CeleryScript.AST.Node.<%= node %> do
@moduledoc false
use Farmbot.CeleryScript.AST.Node
allow_args [<%= allowed_args %>]
end
"""
for arg <- args do
camel_arg = Macro.camelize(arg)
str = EEx.eval_string(arg_template, [arg: camel_arg])
File.write!("lib/farmbot/celery_script/ast/arg/#{arg}.ex", str)
# |> Code.eval_string()
end
for node <- nodes do
camel_node = Macro.camelize(node["name"])
allowed_args = Map.get(node, "allowed_args") |> Enum.map(fn(arg_str) -> ":#{arg_str}" end) |> Enum.join(", ")
str = EEx.eval_string(node_template, [allowed_args: allowed_args, node: camel_node])
File.write!("lib/farmbot/celery_script/ast/node/#{node["name"]}.ex", str)
# |> Code.eval_string()
end
Farmbot.HTTP.get!("/api/sequences/2").body |> Farmbot.CeleryScript.AST.decode

View file

@ -1,270 +1,271 @@
defmodule Farmbot.Firmware.Gcode.Param do
@moduledoc "Firmware paramaters."
@typedoc "Human readable name of a paramater."
@type t :: atom
@doc ~S"""
Parses farmbot_arduino_firmware params.
If we want the name of param "0"\n
Example:
iex> Gcode.parse_param("0")
:param_version
Example:
iex> Gcode.parse_param(0)
:param_version
If we want the integer of param :param_version\n
Example:
iex> Gcode.parse_param(:param_version)
0
Example:
iex> Gcode.parse_param("param_version")
0
"""
@spec parse_param(binary | integer) :: t | nil
def parse_param("0"), do: :param_version
def parse_param("2"), do: :param_config_ok
def parse_param("3"), do: :param_use_eeprom
def parse_param("4"), do: :param_e_stop_on_mov_err
def parse_param("5"), do: :param_mov_nr_retry
def parse_param("11"), do: :movement_timeout_x
def parse_param("12"), do: :movement_timeout_y
def parse_param("13"), do: :movement_timeout_z
def parse_param("15"), do: :movement_keep_active_x
def parse_param("16"), do: :movement_keep_active_y
def parse_param("17"), do: :movement_keep_active_z
def parse_param("18"), do: :movement_home_at_boot_x
def parse_param("19"), do: :movement_home_at_boot_y
def parse_param("20"), do: :movement_home_at_boot_z
def parse_param("21"), do: :movement_invert_endpoints_x
def parse_param("22"), do: :movement_invert_endpoints_y
def parse_param("23"), do: :movement_invert_endpoints_z
def parse_param("25"), do: :movement_enable_endpoints_x
def parse_param("26"), do: :movement_enable_endpoints_y
def parse_param("27"), do: :movement_enable_endpoints_z
def parse_param("31"), do: :movement_invert_motor_x
def parse_param("32"), do: :movement_invert_motor_y
def parse_param("33"), do: :movement_invert_motor_z
def parse_param("36"), do: :movement_secondary_motor_x
def parse_param("37"), do: :movement_secondary_motor_invert_x
def parse_param("41"), do: :movement_steps_acc_dec_x
def parse_param("42"), do: :movement_steps_acc_dec_y
def parse_param("43"), do: :movement_steps_acc_dec_z
def parse_param("45"), do: :movement_stop_at_home_x
def parse_param("46"), do: :movement_stop_at_home_y
def parse_param("47"), do: :movement_stop_at_home_z
def parse_param("51"), do: :movement_home_up_x
def parse_param("52"), do: :movement_home_up_y
def parse_param("53"), do: :movement_home_up_z
def parse_param("55"), do: :movement_step_per_mm_x
def parse_param("56"), do: :movement_step_per_mm_y
def parse_param("57"), do: :movement_step_per_mm_z
def parse_param("61"), do: :movement_min_spd_x
def parse_param("62"), do: :movement_min_spd_y
def parse_param("63"), do: :movement_min_spd_z
def parse_param("65"), do: :movement_home_speed_x
def parse_param("66"), do: :movement_home_speed_y
def parse_param("67"), do: :movement_home_speed_z
def parse_param("71"), do: :movement_max_spd_x
def parse_param("72"), do: :movement_max_spd_y
def parse_param("73"), do: :movement_max_spd_z
def parse_param("101"), do: :encoder_enabled_x
def parse_param("102"), do: :encoder_enabled_y
def parse_param("103"), do: :encoder_enabled_z
def parse_param("105"), do: :encoder_type_x
def parse_param("106"), do: :encoder_type_y
def parse_param("107"), do: :encoder_type_z
def parse_param("111"), do: :encoder_missed_steps_max_x
def parse_param("112"), do: :encoder_missed_steps_max_y
def parse_param("113"), do: :encoder_missed_steps_max_z
def parse_param("115"), do: :encoder_scaling_x
def parse_param("116"), do: :encoder_scaling_y
def parse_param("117"), do: :encoder_scaling_z
def parse_param("121"), do: :encoder_missed_steps_decay_x
def parse_param("122"), do: :encoder_missed_steps_decay_y
def parse_param("123"), do: :encoder_missed_steps_decay_z
def parse_param("125"), do: :encoder_use_for_pos_x
def parse_param("126"), do: :encoder_use_for_pos_y
def parse_param("127"), do: :encoder_use_for_pos_z
def parse_param("131"), do: :encoder_invert_x
def parse_param("132"), do: :encoder_invert_y
def parse_param("133"), do: :encoder_invert_z
def parse_param("141"), do: :movement_axis_nr_steps_x
def parse_param("142"), do: :movement_axis_nr_steps_y
def parse_param("143"), do: :movement_axis_nr_steps_z
def parse_param("145"), do: :movement_stop_at_max_x
def parse_param("146"), do: :movement_stop_at_max_y
def parse_param("147"), do: :movement_stop_at_max_z
def parse_param("201"), do: :pin_guard_1_pin_nr
def parse_param("202"), do: :pin_guard_1_pin_time_out
def parse_param("203"), do: :pin_guard_1_active_state
def parse_param("205"), do: :pin_guard_2_pin_nr
def parse_param("206"), do: :pin_guard_2_pin_time_out
def parse_param("207"), do: :pin_guard_2_active_state
def parse_param("211"), do: :pin_guard_3_pin_nr
def parse_param("212"), do: :pin_guard_3_pin_time_out
def parse_param("213"), do: :pin_guard_3_active_state
def parse_param("215"), do: :pin_guard_4_pin_nr
def parse_param("216"), do: :pin_guard_4_pin_time_out
def parse_param("217"), do: :pin_guard_4_active_state
def parse_param("221"), do: :pin_guard_5_pin_nr
def parse_param("222"), do: :pin_guard_5_time_out
def parse_param("223"), do: :pin_guard_5_active_state
def parse_param(param) when is_integer(param), do: parse_param("#{param}")
@spec parse_param(t) :: integer | nil
def parse_param(:param_version), do: 0
@doc "Turn a number into a param, or a param into a number."
@spec parse_param(integer | t) :: t | integer
def parse_param(2), do: :param_config_ok
def parse_param(3), do: :param_use_eeprom
def parse_param(4), do: :param_e_stop_on_mov_err
def parse_param(5), do: :param_mov_nr_retry
def parse_param(11), do: :movement_timeout_x
def parse_param(12), do: :movement_timeout_y
def parse_param(13), do: :movement_timeout_z
def parse_param(15), do: :movement_keep_active_x
def parse_param(16), do: :movement_keep_active_y
def parse_param(17), do: :movement_keep_active_z
def parse_param(18), do: :movement_home_at_boot_x
def parse_param(19), do: :movement_home_at_boot_y
def parse_param(20), do: :movement_home_at_boot_z
def parse_param(21), do: :movement_invert_endpoints_x
def parse_param(22), do: :movement_invert_endpoints_y
def parse_param(23), do: :movement_invert_endpoints_z
def parse_param(25), do: :movement_enable_endpoints_x
def parse_param(26), do: :movement_enable_endpoints_y
def parse_param(27), do: :movement_enable_endpoints_z
def parse_param(31), do: :movement_invert_motor_x
def parse_param(32), do: :movement_invert_motor_y
def parse_param(33), do: :movement_invert_motor_z
def parse_param(36), do: :movement_secondary_motor_x
def parse_param(37), do: :movement_secondary_motor_invert_x
def parse_param(41), do: :movement_steps_acc_dec_x
def parse_param(42), do: :movement_steps_acc_dec_y
def parse_param(43), do: :movement_steps_acc_dec_z
def parse_param(45), do: :movement_stop_at_home_x
def parse_param(46), do: :movement_stop_at_home_y
def parse_param(47), do: :movement_stop_at_home_z
def parse_param(51), do: :movement_home_up_x
def parse_param(52), do: :movement_home_up_y
def parse_param(53), do: :movement_home_up_z
def parse_param(55), do: :movement_step_per_mm_x
def parse_param(56), do: :movement_step_per_mm_y
def parse_param(57), do: :movement_step_per_mm_z
def parse_param(61), do: :movement_min_spd_x
def parse_param(62), do: :movement_min_spd_y
def parse_param(63), do: :movement_min_spd_z
def parse_param(65), do: :movement_home_spd_x
def parse_param(66), do: :movement_home_spd_y
def parse_param(67), do: :movement_home_spd_z
def parse_param(71), do: :movement_max_spd_x
def parse_param(72), do: :movement_max_spd_y
def parse_param(73), do: :movement_max_spd_z
def parse_param(101), do: :encoder_enabled_x
def parse_param(102), do: :encoder_enabled_y
def parse_param(103), do: :encoder_enabled_z
def parse_param(105), do: :encoder_type_x
def parse_param(106), do: :encoder_type_y
def parse_param(107), do: :encoder_type_z
def parse_param(111), do: :encoder_missed_steps_max_x
def parse_param(112), do: :encoder_missed_steps_max_y
def parse_param(113), do: :encoder_missed_steps_max_z
def parse_param(115), do: :encoder_scaling_x
def parse_param(116), do: :encoder_scaling_y
def parse_param(117), do: :encoder_scaling_z
def parse_param(121), do: :encoder_missed_steps_decay_x
def parse_param(122), do: :encoder_missed_steps_decay_y
def parse_param(123), do: :encoder_missed_steps_decay_z
def parse_param(125), do: :encoder_use_for_pos_x
def parse_param(126), do: :encoder_use_for_pos_y
def parse_param(127), do: :encoder_use_for_pos_z
def parse_param(131), do: :encoder_invert_x
def parse_param(132), do: :encoder_invert_y
def parse_param(133), do: :encoder_invert_z
def parse_param(141), do: :movement_axis_nr_steps_x
def parse_param(142), do: :movement_axis_nr_steps_y
def parse_param(143), do: :movement_axis_nr_steps_z
def parse_param(145), do: :movement_stop_at_max_x
def parse_param(146), do: :movement_stop_at_max_y
def parse_param(147), do: :movement_stop_at_max_z
def parse_param(201), do: :pin_guard_1_pin_nr
def parse_param(202), do: :pin_guard_1_time_out
def parse_param(203), do: :pin_guard_1_active_state
def parse_param(205), do: :pin_guard_2_pin_nr
def parse_param(206), do: :pin_guard_2_time_out
def parse_param(207), do: :pin_guard_2_active_state
def parse_param(211), do: :pin_guard_3_pin_nr
def parse_param(212), do: :pin_guard_3_time_out
def parse_param(213), do: :pin_guard_3_active_state
def parse_param(215), do: :pin_guard_4_pin_nr
def parse_param(216), do: :pin_guard_4_time_out
def parse_param(217), do: :pin_guard_4_active_state
def parse_param(221), do: :pin_guard_5_pin_nr
def parse_param(222), do: :pin_guard_5_time_out
def parse_param(223), do: :pin_guard_5_active_state
def parse_param(:param_config_ok), do: 2
def parse_param(:param_use_eeprom), do: 3
def parse_param(:param_e_stop_on_mov_err), do: 4
def parse_param(:param_mov_nr_retry), do: 5
def parse_param(:movement_timeout_x), do: 11
def parse_param(:movement_timeout_y), do: 12
def parse_param(:movement_timeout_z), do: 13
def parse_param(:movement_keep_active_x), do: 15
def parse_param(:movement_keep_active_y), do: 16
def parse_param(:movement_keep_active_z), do: 17
def parse_param(:movement_home_at_boot_x), do: 18
def parse_param(:movement_home_at_boot_y), do: 19
def parse_param(:movement_home_at_boot_z), do: 20
def parse_param(:movement_invert_endpoints_x), do: 21
def parse_param(:movement_invert_endpoints_y), do: 22
def parse_param(:movement_invert_endpoints_z), do: 23
def parse_param(:movement_invert_motor_x), do: 31
def parse_param(:movement_invert_motor_y), do: 32
def parse_param(:movement_invert_motor_z), do: 33
def parse_param(:movement_enable_endpoints_x), do: 25
def parse_param(:movement_enable_endpoints_y), do: 26
def parse_param(:movement_enable_endpoints_z), do: 27
def parse_param(:movement_invert_motor_x), do: 31
def parse_param(:movement_invert_motor_y), do: 32
def parse_param(:movement_invert_motor_z), do: 33
def parse_param(:movement_secondary_motor_x), do: 36
def parse_param(:movement_secondary_motor_invert_x), do: 37
def parse_param(:movement_steps_acc_dec_x), do: 41
def parse_param(:movement_steps_acc_dec_y), do: 42
def parse_param(:movement_steps_acc_dec_z), do: 43
def parse_param(:movement_stop_at_home_x), do: 45
def parse_param(:movement_stop_at_home_y), do: 46
def parse_param(:movement_stop_at_home_z), do: 47
def parse_param(:movement_home_up_x), do: 51
def parse_param(:movement_home_up_y), do: 52
def parse_param(:movement_home_up_z), do: 53
def parse_param(:movement_step_per_mm_x), do: 55
def parse_param(:movement_step_per_mm_y), do: 56
def parse_param(:movement_step_per_mm_z), do: 57
def parse_param(:movement_min_spd_x), do: 61
def parse_param(:movement_min_spd_y), do: 62
def parse_param(:movement_min_spd_z), do: 63
def parse_param(:movement_home_speed_x), do: 65
def parse_param(:movement_home_speed_y), do: 66
def parse_param(:movement_home_speed_z), do: 67
def parse_param(:movement_home_spd_x), do: 65
def parse_param(:movement_home_spd_y), do: 66
def parse_param(:movement_home_spd_z), do: 67
def parse_param(:movement_max_spd_x), do: 71
def parse_param(:movement_max_spd_y), do: 72
def parse_param(:movement_max_spd_z), do: 73
def parse_param(:encoder_enabled_x), do: 101
def parse_param(:encoder_enabled_y), do: 102
def parse_param(:encoder_enabled_z), do: 103
def parse_param(:encoder_type_x), do: 105
def parse_param(:encoder_type_y), do: 106
def parse_param(:encoder_type_z), do: 107
def parse_param(:encoder_missed_steps_max_x), do: 111
def parse_param(:encoder_missed_steps_max_y), do: 112
def parse_param(:encoder_missed_steps_max_z), do: 113
def parse_param(:encoder_scaling_x), do: 115
def parse_param(:encoder_scaling_y), do: 116
def parse_param(:encoder_scaling_z), do: 117
def parse_param(:encoder_missed_steps_decay_x), do: 121
def parse_param(:encoder_missed_steps_decay_y), do: 122
def parse_param(:encoder_missed_steps_decay_z), do: 123
def parse_param(:encoder_use_for_pos_x), do: 125
def parse_param(:encoder_use_for_pos_y), do: 126
def parse_param(:encoder_use_for_pos_z), do: 127
def parse_param(:encoder_invert_x), do: 131
def parse_param(:encoder_invert_y), do: 132
def parse_param(:encoder_invert_z), do: 133
def parse_param(:movement_axis_nr_steps_x), do: 141
def parse_param(:movement_axis_nr_steps_y), do: 142
def parse_param(:movement_axis_nr_steps_z), do: 143
def parse_param(:movement_stop_at_max_x), do: 145
def parse_param(:movement_stop_at_max_y), do: 146
def parse_param(:movement_stop_at_max_z), do: 147
def parse_param(:pin_guard_1_pin_nr), do: 201
def parse_param(:pin_guard_1_pin_time_out), do: 202
def parse_param(:pin_guard_1_time_out), do: 202
def parse_param(:pin_guard_1_active_state), do: 203
def parse_param(:pin_guard_2_pin_nr), do: 205
def parse_param(:pin_guard_2_pin_time_out), do: 206
def parse_param(:pin_guard_2_time_out), do: 206
def parse_param(:pin_guard_2_active_state), do: 207
def parse_param(:pin_guard_3_pin_nr), do: 211
def parse_param(:pin_guard_3_pin_time_out), do: 212
def parse_param(:pin_guard_3_time_out), do: 212
def parse_param(:pin_guard_3_active_state), do: 213
def parse_param(:pin_guard_4_pin_nr), do: 215
def parse_param(:pin_guard_4_pin_time_out), do: 216
def parse_param(:pin_guard_4_time_out), do: 216
def parse_param(:pin_guard_4_active_state), do: 217
def parse_param(:pin_guard_5_pin_nr), do: 221
def parse_param(:pin_guard_5_time_out), do: 222
def parse_param(:pin_guard_5_active_state), do: 223
def parse_param(param_string) when is_binary(param_string),
do: param_string |> String.to_atom() |> parse_param
@typedoc "Human readable param name."
@type t :: :param_config_ok |
:param_use_eeprom |
:param_e_stop_on_mov_err |
:param_mov_nr_retry |
:movement_timeout_x |
:movement_timeout_y |
:movement_timeout_z |
:movement_keep_active_x |
:movement_keep_active_y |
:movement_keep_active_z |
:movement_home_at_boot_x |
:movement_home_at_boot_y |
:movement_home_at_boot_z |
:movement_invert_endpoints_x |
:movement_invert_endpoints_y |
:movement_invert_endpoints_z |
:movement_enable_endpoints_x |
:movement_enable_endpoints_y |
:movement_enable_endpoints_z |
:movement_invert_motor_x |
:movement_invert_motor_y |
:movement_invert_motor_z |
:movement_secondary_motor_x |
:movement_secondary_motor_invert_x |
:movement_steps_acc_dec_x |
:movement_steps_acc_dec_y |
:movement_steps_acc_dec_z |
:movement_stop_at_home_x |
:movement_stop_at_home_y |
:movement_stop_at_home_z |
:movement_home_up_x |
:movement_home_up_y |
:movement_home_up_z |
:movement_step_per_mm_x |
:movement_step_per_mm_y |
:movement_step_per_mm_z |
:movement_min_spd_x |
:movement_min_spd_y |
:movement_min_spd_z |
:movement_home_spd_x |
:movement_home_spd_y |
:movement_home_spd_z |
:movement_max_spd_x |
:movement_max_spd_y |
:movement_max_spd_z |
:encoder_enabled_x |
:encoder_enabled_y |
:encoder_enabled_z |
:encoder_type_x |
:encoder_type_y |
:encoder_type_z |
:encoder_missed_steps_max_x |
:encoder_missed_steps_max_y |
:encoder_missed_steps_max_z |
:encoder_scaling_x |
:encoder_scaling_y |
:encoder_scaling_z |
:encoder_missed_steps_decay_x |
:encoder_missed_steps_decay_y |
:encoder_missed_steps_decay_z |
:encoder_use_for_pos_x |
:encoder_use_for_pos_y |
:encoder_use_for_pos_z |
:encoder_invert_x |
:encoder_invert_y |
:encoder_invert_z |
:movement_axis_nr_steps_x |
:movement_axis_nr_steps_y |
:movement_axis_nr_steps_z |
:movement_stop_at_max_x |
:movement_stop_at_max_y |
:movement_stop_at_max_z |
:pin_guard_1_pin_nr |
:pin_guard_1_time_out |
:pin_guard_1_active_state |
:pin_guard_2_pin_nr |
:pin_guard_2_time_out |
:pin_guard_2_active_state |
:pin_guard_3_pin_nr |
:pin_guard_3_time_out |
:pin_guard_3_active_state |
:pin_guard_4_pin_nr |
:pin_guard_4_time_out |
:pin_guard_4_active_state |
:pin_guard_5_pin_nr |
:pin_guard_5_time_out |
:pin_guard_5_active_state
def parse_param(_), do: nil
end

87
params.txt Normal file
View file

@ -0,0 +1,87 @@
2 PARAM_CONFIG_OK
3 PARAM_USE_EEPROM
4 PARAM_E_STOP_ON_MOV_ERR
5 PARAM_MOV_NR_RETRY
11 MOVEMENT_TIMEOUT_X
12 MOVEMENT_TIMEOUT_Y
13 MOVEMENT_TIMEOUT_Z
15 MOVEMENT_KEEP_ACTIVE_X
16 MOVEMENT_KEEP_ACTIVE_Y
17 MOVEMENT_KEEP_ACTIVE_Z
18 MOVEMENT_HOME_AT_BOOT_X
19 MOVEMENT_HOME_AT_BOOT_Y
20 MOVEMENT_HOME_AT_BOOT_Z
21 MOVEMENT_INVERT_ENDPOINTS_X
22 MOVEMENT_INVERT_ENDPOINTS_Y
23 MOVEMENT_INVERT_ENDPOINTS_Z
25 MOVEMENT_ENABLE_ENDPOINTS_X
26 MOVEMENT_ENABLE_ENDPOINTS_Y
27 MOVEMENT_ENABLE_ENDPOINTS_Z
31 MOVEMENT_INVERT_MOTOR_X
32 MOVEMENT_INVERT_MOTOR_Y
33 MOVEMENT_INVERT_MOTOR_Z
36 MOVEMENT_SECONDARY_MOTOR_X
37 MOVEMENT_SECONDARY_MOTOR_INVERT_X
41 MOVEMENT_STEPS_ACC_DEC_X
42 MOVEMENT_STEPS_ACC_DEC_Y
43 MOVEMENT_STEPS_ACC_DEC_Z
45 MOVEMENT_STOP_AT_HOME_X
46 MOVEMENT_STOP_AT_HOME_Y
47 MOVEMENT_STOP_AT_HOME_Z
51 MOVEMENT_HOME_UP_X
52 MOVEMENT_HOME_UP_Y
53 MOVEMENT_HOME_UP_Z
55 MOVEMENT_STEP_PER_MM_X
56 MOVEMENT_STEP_PER_MM_Y
57 MOVEMENT_STEP_PER_MM_Z
61 MOVEMENT_MIN_SPD_X
62 MOVEMENT_MIN_SPD_Y
63 MOVEMENT_MIN_SPD_Z
65 MOVEMENT_HOME_SPD_X
66 MOVEMENT_HOME_SPD_Y
67 MOVEMENT_HOME_SPD_Z
71 MOVEMENT_MAX_SPD_X
72 MOVEMENT_MAX_SPD_Y
73 MOVEMENT_MAX_SPD_Z
101 ENCODER_ENABLED_X
102 ENCODER_ENABLED_Y
103 ENCODER_ENABLED_Z
105 ENCODER_TYPE_X
106 ENCODER_TYPE_Y
107 ENCODER_TYPE_Z
111 ENCODER_MISSED_STEPS_MAX_X
112 ENCODER_MISSED_STEPS_MAX_Y
113 ENCODER_MISSED_STEPS_MAX_Z
115 ENCODER_SCALING_X
116 ENCODER_SCALING_Y
117 ENCODER_SCALING_Z
121 ENCODER_MISSED_STEPS_DECAY_X
122 ENCODER_MISSED_STEPS_DECAY_Y
123 ENCODER_MISSED_STEPS_DECAY_Z
125 ENCODER_USE_FOR_POS_X
126 ENCODER_USE_FOR_POS_Y
127 ENCODER_USE_FOR_POS_Z
131 ENCODER_INVERT_X
132 ENCODER_INVERT_Y
133 ENCODER_INVERT_Z
141 MOVEMENT_AXIS_NR_STEPS_X
142 MOVEMENT_AXIS_NR_STEPS_Y
143 MOVEMENT_AXIS_NR_STEPS_Z
145 MOVEMENT_STOP_AT_MAX_X
146 MOVEMENT_STOP_AT_MAX_Y
147 MOVEMENT_STOP_AT_MAX_Z
201 PIN_GUARD_1_PIN_NR
202 PIN_GUARD_1_TIME_OUT
203 PIN_GUARD_1_ACTIVE_STATE
205 PIN_GUARD_2_PIN_NR
206 PIN_GUARD_2_TIME_OUT
207 PIN_GUARD_2_ACTIVE_STATE
211 PIN_GUARD_3_PIN_NR
212 PIN_GUARD_3_TIME_OUT
213 PIN_GUARD_3_ACTIVE_STATE
215 PIN_GUARD_4_PIN_NR
216 PIN_GUARD_4_TIME_OUT
217 PIN_GUARD_4_ACTIVE_STATE
221 PIN_GUARD_5_PIN_NR
222 PIN_GUARD_5_TIME_OUT
223 PIN_GUARD_5_ACTIVE_STATE

View file

@ -1,28 +0,0 @@
sequence(is_outdated, version) [
sequence(is_outdated, version) [
sequence(is_outdated, version) [
move_absolute(location, offset, speed) []
move_relative(speed, x, y, z) []
write_pin(pin_mode, pin_number, pin_value) []
read_pin(label, pin_mode, pin_number) []
wait(milliseconds) []
send_message(message, message_type) []
if(_else, _then, lhs, op, rhs) []
execute(sequence_id) []
execute_script(label) []
take_photo() []
move_absolute(location, offset, speed) []
]
]
move_absolute(location, offset, speed) []
move_relative(speed, x, y, z) []
write_pin(pin_mode, pin_number, pin_value) []
read_pin(label, pin_mode, pin_number) []
wait(milliseconds) []
send_message(message, message_type) []
if(_else, _then, lhs, op, rhs) []
execute(sequence_id) []
execute_script(label) []
take_photo() []
move_absolute(location, offset, speed) []
]