wafer v0.1.0 Wafer.Driver.Circuits.GPIO.Dispatcher

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)

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)

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.