Pwmx.Output (Pwmx v0.1.0)

Copy Markdown View Source

The main user-facing module: a GenServer that manages a single PWM output and caches its state.

By default it talks to the application-supervised Pwmx.Backend. Pass a :backend option to bind it to a specific backend instance instead, this is how you drive an isolated virtual board in tests:

{:ok, backend} = Pwmx.Backend.start_link(name: :my_board, mode: :virtual)
{:ok, pid} = Pwmx.Output.start_link({"virtualchip0", 1}, backend: backend)

Summary

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

close(pid)

disable(pid)

enable(pid)

enabled?(pid)

enumerate_outputs(pid)

get_duty_cycle(pid)

get_period(pid)

get_state(pid)

init(arg)

Callback implementation for GenServer.init/1.

set_duty_cycle_absolute(pid, value, unit \\ :ns)

set_duty_cycle_normalized(pid, value)

set_period(pid, value, unit \\ :ns)

set_polarity(pid, atom)

start_link(arg, opts \\ [])

unexport(pid)