# SPDX-FileCopyrightText: 2023 Frank Hunleth # # SPDX-License-Identifier: Apache-2.0 defmodule Circuits.GPIO.Line do @moduledoc """ Information about a GPIO line returned from `GPIO.enumerate/0` """ alias Circuits.GPIO defstruct [:gpio_spec, :label, :controller] @typedoc """ Line information * `:gpio_spec` - the gpio spec to pass to `GPIO.open/3` to use the GPIO * `:controller` - the GPIO controller name or an empty string if unnamed * `:label` - a controller label, line label tuple. Could have empty strings if no labels """ @type t() :: %__MODULE__{ gpio_spec: GPIO.gpio_spec(), controller: GPIO.controller(), label: {GPIO.label(), GPIO.label()} } end