Packages
circuits_gpio
2.1.3
2.3.0
2.2.0
2.1.3
2.1.2
retired
2.1.1
retired
2.1.0
retired
2.0.2
retired
2.0.1
retired
2.0.0
retired
2.0.0-pre.6
retired
2.0.0-pre.5
retired
2.0.0-pre.4
retired
2.0.0-pre.3
retired
2.0.0-pre.2
retired
2.0.0-pre.1
retired
2.0.0-pre.0
retired
1.2.2
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
0.4.8
0.4.7
0.4.6
0.4.5
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.0
Use GPIOs in Elixir
Current section
Files
Jump to
Current section
Files
lib/gpio/gpio_nif.ex
# SPDX-FileCopyrightText: 2018 Frank Hunleth
# SPDX-FileCopyrightText: 2018 Mark Sebald
# SPDX-FileCopyrightText: 2018 Matt Ludwigs
# SPDX-FileCopyrightText: 2023 Connor Rigby
#
# SPDX-License-Identifier: Apache-2.0
defmodule Circuits.GPIO.Nif do
@moduledoc false
@on_load {:load_nif, 0}
@compile {:autoload, false}
def load_nif() do
:erlang.load_nif(:code.priv_dir(:circuits_gpio) ++ ~c"/gpio_nif", 0)
end
def open(_gpio_spec, _resolved_gpio_spec, _direction, _initial_value, _pull_mode),
do: :erlang.nif_error(:nif_not_loaded)
def close(_gpio), do: :erlang.nif_error(:nif_not_loaded)
def read(_gpio), do: :erlang.nif_error(:nif_not_loaded)
def write(_gpio, _value), do: :erlang.nif_error(:nif_not_loaded)
def set_interrupts(_gpio, _trigger, _suppress_glitches, _process),
do: :erlang.nif_error(:nif_not_loaded)
def set_direction(_gpio, _direction), do: :erlang.nif_error(:nif_not_loaded)
def set_pull_mode(_gpio, _pull_mode), do: :erlang.nif_error(:nif_not_loaded)
def info(_gpio), do: :erlang.nif_error(:nif_not_loaded)
def status(_resolved_gpio_spec), do: :erlang.nif_error(:nif_not_loaded)
def backend_info(), do: :erlang.nif_error(:nif_not_loaded)
def enumerate(), do: :erlang.nif_error(:nif_not_loaded)
end