Packages
nerves_runtime
0.1.1
0.13.13
0.13.12
0.13.11
retired
0.13.10
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.10
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
retired
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
Small, general runtime utilities for Nerves devices
Current section
Files
Jump to
Current section
Files
lib/nerves_runtime/device/adapters/tty.ex
if Code.ensure_loaded?(Nerves.UART) do
defmodule Nerves.Runtime.Device.Adapters.Tty do
use Nerves.Runtime.Device.Adapter,
subsystem: :tty
require Logger
def attributes(device) do
<<"/dev/", device_file :: binary>> = Nerves.Runtime.Device.device_file(device)
info =
Nerves.UART.enumerate
|> Enum.find(fn ({dev_file, _}) -> dev_file == device_file end)
case info do
{_, attributes} -> attributes
nil -> %{}
end
end
def handle_connect(device, s) do
case Nerves.Runtime.Device.device_file(device) do
<<"/dev/", devfile :: binary>> ->
{:ok, pid} = Nerves.UART.start_link()
Nerves.UART.configure(pid, s.opts)
Nerves.UART.open(pid, devfile, s.opts)
{:ok, Map.put(s, :driver, pid)}
_ -> {:error, "no dev file found", s}
end
end
def handle_info({:nerves_uart, _dev, message}, s) do
{:data_in, message, s}
end
end
end