.. py:currentmodule:: pydoover

Difference Functions
====================

.. autofunction:: pydoover.utils.apply_diff
.. autofunction:: pydoover.utils.generate_diff

Kalman Filters
==============

.. autofunction:: pydoover.utils.apply_kalman_filter
.. autofunction:: pydoover.utils.apply_async_kalman_filter


PID Controllers
===============

.. autoclass:: pydoover.utils.PID
    :members:

Miscellaneous
=============

.. autofunction:: pydoover.utils.map_reading
.. autofunction:: pydoover.utils.find_object_with_key
.. autofunction:: pydoover.utils.find_path_to_key
.. autofunction:: pydoover.utils.maybe_async
.. autofunction:: pydoover.utils.wrap_try_except
.. autofunction:: pydoover.utils.wrap_try_except_async
.. autofunction:: pydoover.utils.call_maybe_async
.. autofunction:: pydoover.utils.on_change
