:py:mod:`leads_arduino.accelerometer`
=====================================

.. py:module:: leads_arduino.accelerometer

.. autodoc2-docstring:: leads_arduino.accelerometer
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`Acceleration <leads_arduino.accelerometer.Acceleration>`
     - .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration
          :summary:
   * - :py:obj:`_LinearAcceleration <leads_arduino.accelerometer._LinearAcceleration>`
     - .. autodoc2-docstring:: leads_arduino.accelerometer._LinearAcceleration
          :summary:
   * - :py:obj:`Accelerometer <leads_arduino.accelerometer.Accelerometer>`
     - .. autodoc2-docstring:: leads_arduino.accelerometer.Accelerometer
          :summary:

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`rotation_matrix <leads_arduino.accelerometer.rotation_matrix>`
     - .. autodoc2-docstring:: leads_arduino.accelerometer.rotation_matrix
          :summary:

Data
~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`_G <leads_arduino.accelerometer._G>`
     - .. autodoc2-docstring:: leads_arduino.accelerometer._G
          :summary:

API
~~~

.. py:function:: rotation_matrix(yaw: float, pitch: float, roll: float) -> numpy.ndarray
   :canonical: leads_arduino.accelerometer.rotation_matrix

   .. autodoc2-docstring:: leads_arduino.accelerometer.rotation_matrix

.. py:data:: _G
   :canonical: leads_arduino.accelerometer._G
   :type: numpy.ndarray
   :value: '_array(...)'

   .. autodoc2-docstring:: leads_arduino.accelerometer._G

.. py:class:: Acceleration
   :canonical: leads_arduino.accelerometer.Acceleration

   Bases: :py:obj:`leads.Serializable`

   .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration

   .. py:attribute:: yaw
      :canonical: leads_arduino.accelerometer.Acceleration.yaw
      :type: float
      :value: None

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.yaw

   .. py:attribute:: pitch
      :canonical: leads_arduino.accelerometer.Acceleration.pitch
      :type: float
      :value: None

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.pitch

   .. py:attribute:: roll
      :canonical: leads_arduino.accelerometer.Acceleration.roll
      :type: float
      :value: None

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.roll

   .. py:attribute:: forward_acceleration
      :canonical: leads_arduino.accelerometer.Acceleration.forward_acceleration
      :type: float
      :value: None

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.forward_acceleration

   .. py:attribute:: lateral_acceleration
      :canonical: leads_arduino.accelerometer.Acceleration.lateral_acceleration
      :type: float
      :value: None

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.lateral_acceleration

   .. py:attribute:: vertical_acceleration
      :canonical: leads_arduino.accelerometer.Acceleration.vertical_acceleration
      :type: float
      :value: None

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.vertical_acceleration

   .. py:method:: is_linear() -> bool
      :canonical: leads_arduino.accelerometer.Acceleration.is_linear

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.is_linear

   .. py:method:: linear() -> typing.Self
      :canonical: leads_arduino.accelerometer.Acceleration.linear

      .. autodoc2-docstring:: leads_arduino.accelerometer.Acceleration.linear

.. py:class:: _LinearAcceleration
   :canonical: leads_arduino.accelerometer._LinearAcceleration

   Bases: :py:obj:`leads_arduino.accelerometer.Acceleration`

   .. autodoc2-docstring:: leads_arduino.accelerometer._LinearAcceleration

   .. py:method:: linear() -> typing.Self
      :canonical: leads_arduino.accelerometer._LinearAcceleration.linear

      .. autodoc2-docstring:: leads_arduino.accelerometer._LinearAcceleration.linear

.. py:class:: Accelerometer()
   :canonical: leads_arduino.accelerometer.Accelerometer

   Bases: :py:obj:`leads.Device`

   .. autodoc2-docstring:: leads_arduino.accelerometer.Accelerometer

   .. rubric:: Initialization

   .. autodoc2-docstring:: leads_arduino.accelerometer.Accelerometer.__init__

   .. py:method:: update(data: str) -> None
      :canonical: leads_arduino.accelerometer.Accelerometer.update

      .. autodoc2-docstring:: leads_arduino.accelerometer.Accelerometer.update

   .. py:method:: read() -> leads_arduino.accelerometer.Acceleration
      :canonical: leads_arduino.accelerometer.Accelerometer.read

      .. autodoc2-docstring:: leads_arduino.accelerometer.Accelerometer.read
