Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Decode functions will receive the values to decode and must return
defmodule MyDevice.Schema do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :outdoor_temp, as: {ModBoss.Encoding, :signed_int}
holding_register 2..5, :model_name, as: {ModBoss.Encoding, :ascii}
holding_register 6, :version, as: :fw_version, mode: :rw
Expand Down
4 changes: 2 additions & 2 deletions lib/modboss.ex
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ defmodule ModBoss do
end

defp readable_mappings(module) do
module.__modbus_schema__()
module.__modboss_schema__()
|> Enum.filter(fn {_, mapping} -> Mapping.readable?(mapping) end)
|> Enum.map(fn {name, _mapping} -> name end)
end
Expand Down Expand Up @@ -190,7 +190,7 @@ defmodule ModBoss do

@spec get_mappings(mode(), module(), list()) :: {:ok, [Mapping.t()]} | {:error, String.t()}
defp get_mappings(mode, module, mapping_names) when is_list(mapping_names) do
schema = module.__modbus_schema__()
schema = module.__modboss_schema__()

{mappings, unknown_names} =
mapping_names
Expand Down
2 changes: 1 addition & 1 deletion lib/modboss/encoding.ex
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ defmodule ModBoss.Encoding do

To use them, pass them along with this module name to the `:as` option. For example:

modbus_schema do
schema do
holding_register 1..5, :model, as: {ModBoss.Encoding, :ascii}
end

Expand Down
8 changes: 4 additions & 4 deletions lib/modboss/schema.ex
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ defmodule ModBoss.Schema do
defmodule MyDevice.Schema do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1..5, :model, as: {ModBoss.Encoding, :ascii}
holding_register 6, :outdoor_temp, as: {ModBoss.Encoding, :signed_int}
holding_register 7, :indoor_temp, as: {ModBoss.Encoding, :unsigned_int}
Expand All @@ -100,7 +100,7 @@ defmodule ModBoss.Schema do
max_writes = Keyword.get(opts, :max_batch_writes, [])

quote do
import unquote(__MODULE__), only: [modbus_schema: 1]
import unquote(__MODULE__), only: [schema: 1]

Module.register_attribute(__MODULE__, :modboss_mappings, accumulate: true)
Module.put_attribute(__MODULE__, :max_reads_per_batch, unquote(max_reads))
Expand All @@ -113,7 +113,7 @@ defmodule ModBoss.Schema do
@doc """
Establishes a Modbus schema in the current module.
"""
defmacro modbus_schema(do: block) do
defmacro schema(do: block) do
quote do
(fn ->
import unquote(__MODULE__),
Expand Down Expand Up @@ -287,7 +287,7 @@ defmodule ModBoss.Schema do
def __max_batch__(:write, :holding_register), do: unquote(max_holding_register_writes)
def __max_batch__(:write, :coil), do: unquote(max_coil_writes)

def __modbus_schema__, do: unquote(mappings)
def __modboss_schema__, do: unquote(mappings)
end
end
end
20 changes: 10 additions & 10 deletions test/modboss/schema_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ defmodule ModBoss.SchemaTest do
defmodule ExampleSchema do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :foo_holding_register
holding_register 2, :bar_holding_register, mode: :r
holding_register 3, :baz_holding_register, mode: :rw
Expand Down Expand Up @@ -43,7 +43,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :foo
holding_register 2, :foo
end
Expand All @@ -58,7 +58,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :foo
input_register 1, :bar
coil 1, :baz
Expand All @@ -76,7 +76,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :nope
holding_register 1, :nah
coil 1, :okay
Expand All @@ -95,7 +95,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
#{object_type} 1, :all
end
end
Expand All @@ -116,7 +116,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :foo, mode: #{inspect(mode)}
end
end
Expand All @@ -137,7 +137,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
input_register 1, :foo, mode: #{inspect(mode)}
end
end
Expand All @@ -158,7 +158,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
coil 1, :foo, mode: #{inspect(mode)}
end
end
Expand All @@ -179,7 +179,7 @@ defmodule ModBoss.SchemaTest do
defmodule #{unique_module()} do
use ModBoss.Schema

modbus_schema do
schema do
discrete_input 1, :foo, mode: #{inspect(mode)}
end
end
Expand All @@ -194,6 +194,6 @@ defmodule ModBoss.SchemaTest do
end

defp mapping(module, name) do
module.__modbus_schema__() |> Map.fetch!(name)
module.__modboss_schema__() |> Map.fetch!(name)
end
end
32 changes: 16 additions & 16 deletions test/modboss_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ defmodule ModBossTest do
defmodule FakeSchema do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :foo
holding_register 2, :bar, mode: :r
holding_register 3, :baz, mode: :w
Expand Down Expand Up @@ -82,7 +82,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1..124, :holding_1
holding_register 125, :holding_125
holding_register 126, :holding_126
Expand Down Expand Up @@ -171,7 +171,7 @@ defmodule ModBossTest do
discrete_inputs: #{max_discrete_input_reads}
]

modbus_schema do
schema do
holding_register 1, :holding_foo
holding_register 2, :holding_bar
holding_register 3, :holding_baz
Expand Down Expand Up @@ -251,7 +251,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1..2, :holding_1

coil 101, :coil_1
Expand Down Expand Up @@ -302,7 +302,7 @@ defmodule ModBossTest do
use ModBoss.Schema
alias ModBoss.Encoding

modbus_schema do
schema do
# Assumes the function lives in the current module…
holding_register 1, :yep, as: :boolean
holding_register 2, :nope, as: :boolean
Expand Down Expand Up @@ -337,7 +337,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
# Assumes the function lives in the current module…
holding_register 1, :yep, as: :boolean
holding_register 2, :nope, as: :boolean
Expand Down Expand Up @@ -368,7 +368,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :yep, as: :boolean
holding_register 2, :nope, as: :boolean
holding_register 3..5, :text, as: {ModBoss.Encoding, :ascii}
Expand Down Expand Up @@ -403,7 +403,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :yep, as: :boolean
holding_register 2, :nope, as: :boolean
end
Expand Down Expand Up @@ -431,7 +431,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1..2, :foo
input_register 300, :bar
coil 400, :baz
Expand Down Expand Up @@ -509,7 +509,7 @@ defmodule ModBossTest do
use ModBoss.Schema
alias ModBoss.Encoding

modbus_schema do
schema do
# Assumes the function lives in the current module…
holding_register 1, :yep, as: :boolean, mode: :w
holding_register 2, :nope, as: :boolean, mode: :w
Expand Down Expand Up @@ -551,7 +551,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1..122, :holding_1, mode: :w
holding_register 123, :holding_123, mode: :w
holding_register 124, :holding_124, mode: :w
Expand Down Expand Up @@ -591,7 +591,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :holding_1, mode: :w
holding_register 2, :holding_2, mode: :w

Expand All @@ -618,7 +618,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema, max_batch_writes: %{holding_registers: 2, coils: 2}

modbus_schema do
schema do
holding_register 1, :holding_foo, mode: :w
holding_register 2..3, :holding_bar, mode: :w
holding_register 4, :holding_baz, mode: :w
Expand Down Expand Up @@ -661,7 +661,7 @@ defmodule ModBossTest do
use ModBoss.Schema
alias ModBoss.Encoding

modbus_schema do
schema do
holding_register 1, :foo, as: {Encoding, :boolean}
holding_register 2, :bar, as: {Encoding, :boolean}
holding_register 3..4, :baz, as: {Encoding, :ascii}
Expand Down Expand Up @@ -700,7 +700,7 @@ defmodule ModBossTest do
use ModBoss.Schema
alias ModBoss.Encoding

modbus_schema do
schema do
holding_register 1, :foo, as: {Encoding, :boolean}
holding_register 2, :bar, as: {Encoding, :boolean}
holding_register 3..4, :baz, as: {Encoding, :ascii}
Expand Down Expand Up @@ -738,7 +738,7 @@ defmodule ModBossTest do
defmodule #{schema} do
use ModBoss.Schema

modbus_schema do
schema do
holding_register 1, :foo
holding_register 2, :bar
end
Expand Down