Current section
Files
Jump to
Current section
Files
lib/firmware/pin_handler.ex
defmodule Firmware.PinHandler do
use GenServer
def start_link, do: GenServer.start_link(__MODULE__, [], name: __MODULE__)
def init([]) do
{:ok, %{}}
end
def set_pin_value(pin, value) do
GenServer.call(__MODULE__, {:set_pin_value, pin, value})
end
def get_pin_value(pin) do
GenServer.call(__MODULE__, {:get_pin_value, pin})
end
def handle_call({:set_pin_value, pin, value}, _, state) do
{:reply, :ok, Map.put(state, pin, value)}
end
def handle_call({:get_pin_value, pin}, _, state) do
{:reply, state[pin], state}
end
end