:mod:`rotaryio` =============== .. py:module:: rotaryio .. autoapi-nested-parse:: Support for reading rotation sensors The `rotaryio` module contains classes to read different rotation encoding schemes. See `Wikipedia's Rotary Encoder page `_ for more background. .. warning:: This module is not available in some SAMD21 (aka M0) builds. See the :ref:`module-support-matrix` for more info. All classes change hardware state and should be deinitialized when they are no longer needed if the program continues after use. To do so, either call :py:meth:`!deinit` or use a context manager. See :ref:`lifetime-and-contextmanagers` for more info. .. py:class:: IncrementalEncoder(pin_a: microcontroller.Pin, pin_b: microcontroller.Pin) IncrementalEncoder determines the relative rotational position based on two series of pulses. .. attribute:: position :annotation: :Any The current position in terms of pulses. The number of pulses per rotation is defined by the specific hardware. .. method:: deinit(self) Deinitializes the IncrementalEncoder and releases any hardware resources for reuse. .. method:: __enter__(self) No-op used by Context Managers. .. method:: __exit__(self) Automatically deinitializes the hardware when exiting a context. See :ref:`lifetime-and-contextmanagers` for more info.