Wafer.Driver.Circuits.GPIO.Dispatcher (wafer v1.0.1)

This module implements a simple dispatcher for GPIO interrupts when using Circuits.GPIO.

Because the Circuit's interrupt doesn't provide an indication of whether the pin is rising or falling we store the last known pin state and use it to compare.

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

Disable interrupts for this connection using the specified pin_condition.

Enable interrupts for this connection using the specified pin_condition.

Link to this section Functions

Link to this function

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

disable(conn, pin_condition)

Specs

disable(Wafer.Conn.t(), Wafer.GPIO.pin_condition()) ::
  {:ok, Wafer.Conn.t()} | {:error, reason :: any()}

Disable interrupts for this connection using the specified pin_condition.

Link to this function

enable(conn, pin_condition, metadata \\ nil)

Specs

enable(Wafer.Conn.t(), Wafer.GPIO.pin_condition(), any()) ::
  {:ok, Wafer.Conn.t()} | {:error, reason :: any()}

Enable interrupts for this connection using the specified pin_condition.