changed CHANGELOG.md
 
@@ -1,5 +1,10 @@
1
1
# Release Notes
2
2
3
+ ## v0.6.0
4
+
5
+ * Enhancements
6
+ * Changed from `nerves_uart` to `circuits_uart`
7
+
3
8
## v0.5.0
4
9
5
10
* Enhancements
changed hex_metadata.config
 
@@ -3,30 +3,32 @@
3
3
{<<"description">>,<<"Hardware Abstraction Layer for Nerves Devices">>}.
4
4
{<<"elixir">>,<<"~> 1.4">>}.
5
5
{<<"files">>,
6
- [<<"lib">>,<<"lib/nerves_hal">>,<<"lib/nerves_hal.ex">>,
7
- <<"lib/nerves_hal/application.ex">>,<<"lib/nerves_hal/device">>,
8
- <<"lib/nerves_hal/device.ex">>,<<"lib/nerves_hal/device/adapter">>,
9
- <<"lib/nerves_hal/device/adapter.ex">>,
10
- <<"lib/nerves_hal/device/adapter/connection.ex">>,
6
+ [<<"lib">>,<<"lib/nerves_hal.ex">>,<<"lib/nerves_hal">>,
7
+ <<"lib/nerves_hal/application.ex">>,<<"lib/nerves_hal/device.ex">>,
8
+ <<"lib/nerves_hal/device">>,<<"lib/nerves_hal/device/spec.ex">>,
11
9
<<"lib/nerves_hal/device/adapters">>,
12
- <<"lib/nerves_hal/device/adapters/hidraw.ex">>,
13
10
<<"lib/nerves_hal/device/adapters/tty.ex">>,
14
- <<"lib/nerves_hal/device/spec.ex">>,<<"lib/nerves_hal/device/tree.ex">>,
11
+ <<"lib/nerves_hal/device/adapters/hidraw.ex">>,
12
+ <<"lib/nerves_hal/device/tree.ex">>,<<"lib/nerves_hal/device/adapter.ex">>,
15
13
<<".formatter.exs">>,<<"mix.exs">>,<<"README.md">>,<<"LICENSE">>,
16
14
<<"CHANGELOG.md">>]}.
17
15
{<<"licenses">>,[<<"Apache 2.0">>]}.
18
16
{<<"links">>,[{<<"Github">>,<<"https://github.com/letoteteam/nerves_hal">>}]}.
19
- {<<"maintainers">>,[<<"Justin Schneck">>]}.
20
17
{<<"name">>,<<"nerves_hal">>}.
21
18
{<<"requirements">>,
22
- [[{<<"app">>,<<"gen_stage">>},
19
+ [[{<<"app">>,<<"system_registry">>},
20
+ {<<"name">>,<<"system_registry">>},
21
+ {<<"optional">>,false},
22
+ {<<"repository">>,<<"hexpm">>},
23
+ {<<"requirement">>,<<"~> 0.7">>}],
24
+ [{<<"app">>,<<"gen_stage">>},
23
25
{<<"name">>,<<"gen_stage">>},
24
26
{<<"optional">>,false},
25
27
{<<"repository">>,<<"hexpm">>},
26
28
{<<"requirement">>,<<"~> 0.13">>}],
27
- [{<<"app">>,<<"system_registry">>},
28
- {<<"name">>,<<"system_registry">>},
29
- {<<"optional">>,false},
29
+ [{<<"app">>,<<"circuits_uart">>},
30
+ {<<"name">>,<<"circuits_uart">>},
31
+ {<<"optional">>,true},
30
32
{<<"repository">>,<<"hexpm">>},
31
- {<<"requirement">>,<<"~> 0.7">>}]]}.
32
- {<<"version">>,<<"0.5.0">>}.
33
+ {<<"requirement">>,<<"~> 1.3">>}]]}.
34
+ {<<"version">>,<<"0.6.0">>}.
removed lib/nerves_hal/device/adapter/connection.ex
 
@@ -1,5 +0,0 @@
1
- defmodule Nerves.HAL.Device.Adapter.Connection do
2
- @callback handle_data_in(device :: Device.t(), data :: term, state :: term) ::
3
- {:noreply, state :: term}
4
- | {:disconnect, state :: term}
5
- end
changed lib/nerves_hal/device/adapters/tty.ex
 
@@ -1,14 +1,15 @@
1
- if Code.ensure_loaded?(Nerves.UART) do
1
+ if Code.ensure_loaded?(Circuits.UART) do
2
2
defmodule Nerves.HAL.Device.Adapters.Tty do
3
3
use Nerves.HAL.Device.Adapter, subsystem: "tty"
4
4
5
+ alias Circuits.UART
5
6
require Logger
6
7
7
8
def attributes(device) do
8
9
<<"/dev/", device_file::binary>> = Nerves.HAL.Device.device_file(device)
9
10
10
11
info =
11
- Nerves.UART.enumerate()
12
+ UART.enumerate()
12
13
|> Enum.find(fn {dev_file, _} -> dev_file == device_file end)
13
14
14
15
case info do
 
@@ -20,9 +21,9 @@ if Code.ensure_loaded?(Nerves.UART) do
20
21
def handle_connect(device, s) do
21
22
case Nerves.HAL.Device.device_file(device) do
22
23
<<"/dev/", devfile::binary>> ->
23
- {:ok, pid} = Nerves.UART.start_link()
24
- Nerves.UART.configure(pid, s.opts)
25
- Nerves.UART.open(pid, devfile, s.opts)
24
+ {:ok, pid} = UART.start_link()
25
+ UART.configure(pid, s.opts)
26
+ UART.open(pid, devfile, s.opts)
26
27
{:ok, Map.put(s, :driver, pid)}
27
28
28
29
_ ->
 
@@ -30,7 +31,7 @@ if Code.ensure_loaded?(Nerves.UART) do
30
31
end
31
32
end
32
33
33
- def handle_info({:nerves_uart, _dev, message}, s) do
34
+ def handle_info({:circuits_uart, _dev, message}, s) do
34
35
{:data_in, message, s}
35
36
end
36
37
end
changed lib/nerves_hal/device/spec.ex
 
@@ -5,6 +5,10 @@ defmodule Nerves.HAL.Device.Spec do
5
5
6
6
@callback handle_connect(device :: Device.t(), state :: term) :: {:noreply, new_state :: term}
7
7
8
+ @callback handle_data_in(device :: Device.t(), data :: term, state :: term) ::
9
+ {:noreply, state :: term}
10
+ | {:disconnect, state :: term}
11
+
8
12
@callback handle_discover(device :: Device.t(), state :: term) ::
9
13
{:connect, new_state :: term}
10
14
| {:noreply, new_state :: term}
 
@@ -30,7 +34,6 @@ defmodule Nerves.HAL.Device.Spec do
30
34
31
35
quote location: :keep do
32
36
@behaviour Nerves.HAL.Device.Spec
33
- @behaviour Nerves.HAL.Device.Adapter.Connection
34
37
35
38
@adapter unquote(adapter)
36
39
@adapter_opts unquote(opts)
changed mix.exs
 
@@ -6,7 +6,7 @@ defmodule Nerves.HAL.Mixfile do
6
6
def project do
7
7
[
8
8
app: @app,
9
- version: "0.5.0",
9
+ version: "0.6.0",
10
10
elixir: "~> 1.4",
11
11
build_embedded: Mix.env() == :prod,
12
12
start_permanent: Mix.env() == :prod,
 
@@ -25,7 +25,8 @@ defmodule Nerves.HAL.Mixfile do
25
25
[
26
26
{:system_registry, "~> 0.7"},
27
27
{:gen_stage, "~> 0.13"},
28
- {:ex_doc, "~> 0.18", only: :dev}
28
+ {:ex_doc, "~> 0.18", only: :dev},
29
+ {:circuits_uart, "~> 1.3", optional: true}
29
30
]
30
31
end