add missing newline for sub-list to render correctly Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
70 lines
2.3 KiB
ReStructuredText
70 lines
2.3 KiB
ReStructuredText
.. _comparator_api:
|
|
|
|
Comparator
|
|
##########
|
|
|
|
Overview
|
|
********
|
|
|
|
An analog comparator compares the voltages of two analog signals connected to its negative and
|
|
positive inputs. If the voltage at the positive input is higher than the negative input, the
|
|
comparator's output will be high, otherwise, it will be low.
|
|
|
|
Comparators can typically set a trigger which triggers on output changes. This trigger can
|
|
either invoke a callback, or its status can be polled.
|
|
|
|
Related configuration options:
|
|
|
|
* :kconfig:option:`CONFIG_COMPARATOR`
|
|
|
|
Configuration
|
|
*************
|
|
|
|
Embedded comparators can typically be configured at runtime. When enabled, an initial
|
|
configuration must be provided using the devicetree. At runtime, comparators can have their
|
|
configuration updated using device driver specific APIs. The configuration will be applied
|
|
when the comparator is resumed.
|
|
|
|
Power management
|
|
****************
|
|
|
|
Comparators are enabled using power management. When resumed, the comparator will actively
|
|
compare its inputs, producing an output and detecting edges. When suspended, the comparator
|
|
will be inactive.
|
|
|
|
Comparator shell
|
|
****************
|
|
|
|
The comparator shell provides the ``comp`` command with a set of subcommands for the
|
|
:ref:`shell <shell_api>` module.
|
|
|
|
The ``comp`` shell command provides the following subcommands:
|
|
|
|
* ``get_output`` See :c:func:`comparator_get_output`
|
|
* ``set_trigger`` See :c:func:`comparator_set_trigger`
|
|
* ``await_trigger`` Awaits trigger using the following flow:
|
|
|
|
* Set trigger callback using :c:func:`comparator_set_trigger_callback`
|
|
* Await callback or time out after default or optionally provided timeout
|
|
* Clear trigger callback using :c:func:`comparator_set_trigger_callback`
|
|
* ``trigger_is_pending`` See :c:func:`comparator_trigger_is_pending`
|
|
|
|
Related configuration options:
|
|
|
|
* :kconfig:option:`CONFIG_SHELL`
|
|
* :kconfig:option:`CONFIG_COMPARATOR_SHELL`
|
|
* :kconfig:option:`CONFIG_COMPARATOR_SHELL_AWAIT_TRIGGER_DEFAULT_TIMEOUT`
|
|
* :kconfig:option:`CONFIG_COMPARATOR_SHELL_AWAIT_TRIGGER_MAX_TIMEOUT`
|
|
|
|
.. note::
|
|
The power management shell can optionally be enabled alongside the comparator shell.
|
|
|
|
Related configuration options:
|
|
|
|
* :kconfig:option:`CONFIG_PM_DEVICE`
|
|
* :kconfig:option:`CONFIG_PM_DEVICE_SHELL`
|
|
|
|
API Reference
|
|
*************
|
|
|
|
.. doxygengroup:: comparator_interface
|