:py:mod:`rofunc.devices.xsens.record`
=====================================

.. py:module:: rofunc.devices.xsens.record

.. autodoc2-docstring:: rofunc.devices.xsens.record
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`Header <rofunc.devices.xsens.record.Header>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.Header
          :summary:
   * - :py:obj:`Datagram <rofunc.devices.xsens.record.Datagram>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.Datagram
          :summary:
   * - :py:obj:`XsensInterface <rofunc.devices.xsens.record.XsensInterface>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.XsensInterface
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`byte_to_str <rofunc.devices.xsens.record.byte_to_str>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_str
          :summary:
   * - :py:obj:`byte_to_float <rofunc.devices.xsens.record.byte_to_float>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_float
          :summary:
   * - :py:obj:`byte_to_uint32 <rofunc.devices.xsens.record.byte_to_uint32>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_uint32
          :summary:
   * - :py:obj:`byte_to_uint16 <rofunc.devices.xsens.record.byte_to_uint16>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_uint16
          :summary:
   * - :py:obj:`byte_to_uint8 <rofunc.devices.xsens.record.byte_to_uint8>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_uint8
          :summary:
   * - :py:obj:`on_press <rofunc.devices.xsens.record.on_press>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.on_press
          :summary:
   * - :py:obj:`record <rofunc.devices.xsens.record.record>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.record
          :summary:

Data
~~~~

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

   * - :py:obj:`event <rofunc.devices.xsens.record.event>`
     - .. autodoc2-docstring:: rofunc.devices.xsens.record.event
          :summary:

API
~~~

.. py:data:: event
   :canonical: rofunc.devices.xsens.record.event
   :value: None

   .. autodoc2-docstring:: rofunc.devices.xsens.record.event

.. py:function:: byte_to_str(data, n)
   :canonical: rofunc.devices.xsens.record.byte_to_str

   .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_str

.. py:function:: byte_to_float(data)
   :canonical: rofunc.devices.xsens.record.byte_to_float

   .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_float

.. py:function:: byte_to_uint32(data)
   :canonical: rofunc.devices.xsens.record.byte_to_uint32

   .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_uint32

.. py:function:: byte_to_uint16(data)
   :canonical: rofunc.devices.xsens.record.byte_to_uint16

   .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_uint16

.. py:function:: byte_to_uint8(data)
   :canonical: rofunc.devices.xsens.record.byte_to_uint8

   .. autodoc2-docstring:: rofunc.devices.xsens.record.byte_to_uint8

.. py:class:: Header(header)
   :canonical: rofunc.devices.xsens.record.Header

   .. autodoc2-docstring:: rofunc.devices.xsens.record.Header

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.devices.xsens.record.Header.__init__

   .. py:property:: is_valid
      :canonical: rofunc.devices.xsens.record.Header.is_valid

      .. autodoc2-docstring:: rofunc.devices.xsens.record.Header.is_valid

   .. py:property:: is_object
      :canonical: rofunc.devices.xsens.record.Header.is_object

      .. autodoc2-docstring:: rofunc.devices.xsens.record.Header.is_object

   .. py:property:: item_num
      :canonical: rofunc.devices.xsens.record.Header.item_num

      .. autodoc2-docstring:: rofunc.devices.xsens.record.Header.item_num

   .. py:property:: item_size
      :canonical: rofunc.devices.xsens.record.Header.item_size

      .. autodoc2-docstring:: rofunc.devices.xsens.record.Header.item_size

.. py:class:: Datagram(header, payload)
   :canonical: rofunc.devices.xsens.record.Datagram

   Bases: :py:obj:`object`

   .. autodoc2-docstring:: rofunc.devices.xsens.record.Datagram

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.devices.xsens.record.Datagram.__init__

   .. py:property:: is_object
      :canonical: rofunc.devices.xsens.record.Datagram.is_object

      .. autodoc2-docstring:: rofunc.devices.xsens.record.Datagram.is_object

   .. py:method:: decode_to_pose_array_msg(ref_frame, ref_frame_id=None, scaling_factor=1.0)
      :canonical: rofunc.devices.xsens.record.Datagram.decode_to_pose_array_msg

      .. autodoc2-docstring:: rofunc.devices.xsens.record.Datagram.decode_to_pose_array_msg

.. py:class:: XsensInterface(udp_ip, udp_port, ref_frame, scaling=1.0, buffer_size=4096, **kwargs)
   :canonical: rofunc.devices.xsens.record.XsensInterface

   Bases: :py:obj:`object`

   .. autodoc2-docstring:: rofunc.devices.xsens.record.XsensInterface

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.devices.xsens.record.XsensInterface.__init__

   .. py:method:: get_datagram()
      :canonical: rofunc.devices.xsens.record.XsensInterface.get_datagram

      .. autodoc2-docstring:: rofunc.devices.xsens.record.XsensInterface.get_datagram

   .. py:method:: save_file_thread(root_dir: str, exp_name: str) -> None
      :canonical: rofunc.devices.xsens.record.XsensInterface.save_file_thread

      .. autodoc2-docstring:: rofunc.devices.xsens.record.XsensInterface.save_file_thread

.. py:function:: on_press(key)
   :canonical: rofunc.devices.xsens.record.on_press

   .. autodoc2-docstring:: rofunc.devices.xsens.record.on_press

.. py:function:: record(root_dir: str, exp_name: str, ip: str, port: int, ref_frame: str = None) -> None
   :canonical: rofunc.devices.xsens.record.record

   .. autodoc2-docstring:: rofunc.devices.xsens.record.record
