:py:mod:`rofunc.devices.emg.src.delsystream`
============================================

.. py:module:: rofunc.devices.emg.src.delsystream

.. autodoc2-docstring:: rofunc.devices.emg.src.delsystream
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`Controller <rofunc.devices.emg.src.delsystream.Controller>`
     -
   * - :py:obj:`DataStreamer <rofunc.devices.emg.src.delsystream.DataStreamer>`
     -
   * - :py:obj:`Sensor <rofunc.devices.emg.src.delsystream.Sensor>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`command_escaper <rofunc.devices.emg.src.delsystream.command_escaper>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.command_escaper
          :summary:
   * - :py:obj:`bytes_to_raw_array <rofunc.devices.emg.src.delsystream.bytes_to_raw_array>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.bytes_to_raw_array
          :summary:
   * - :py:obj:`filename_formatter <rofunc.devices.emg.src.delsystream.filename_formatter>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.filename_formatter
          :summary:
   * - :py:obj:`open_JSON_settings <rofunc.devices.emg.src.delsystream.open_JSON_settings>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.open_JSON_settings
          :summary:
   * - :py:obj:`json_parser <rofunc.devices.emg.src.delsystream.json_parser>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.json_parser
          :summary:
   * - :py:obj:`create_filnames <rofunc.devices.emg.src.delsystream.create_filnames>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.create_filnames
          :summary:
   * - :py:obj:`open_fds <rofunc.devices.emg.src.delsystream.open_fds>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.open_fds
          :summary:
   * - :py:obj:`close_fds <rofunc.devices.emg.src.delsystream.close_fds>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.close_fds
          :summary:
   * - :py:obj:`main <rofunc.devices.emg.src.delsystream.main>`
     - .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.main
          :summary:

API
~~~

.. py:function:: command_escaper(command)
   :canonical: rofunc.devices.emg.src.delsystream.command_escaper

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.command_escaper

.. py:function:: bytes_to_raw_array(data, format_str)
   :canonical: rofunc.devices.emg.src.delsystream.bytes_to_raw_array

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.bytes_to_raw_array

.. py:function:: filename_formatter(sensor_class)
   :canonical: rofunc.devices.emg.src.delsystream.filename_formatter

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.filename_formatter

.. py:function:: open_JSON_settings()
   :canonical: rofunc.devices.emg.src.delsystream.open_JSON_settings

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.open_JSON_settings

.. py:function:: json_parser(json_setting_file)
   :canonical: rofunc.devices.emg.src.delsystream.json_parser

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.json_parser

.. py:function:: create_filnames(sensor_types)
   :canonical: rofunc.devices.emg.src.delsystream.create_filnames

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.create_filnames

.. py:function:: open_fds(filename_list)
   :canonical: rofunc.devices.emg.src.delsystream.open_fds

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.open_fds

.. py:function:: close_fds(fd_list)
   :canonical: rofunc.devices.emg.src.delsystream.close_fds

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.close_fds

.. py:class:: Controller(address=None, run_duration=None, is_daemon=False)
   :canonical: rofunc.devices.emg.src.delsystream.Controller

   Bases: :py:obj:`threading.Thread`

   .. py:attribute:: start_str
      :canonical: rofunc.devices.emg.src.delsystream.Controller.start_str
      :value: b'START'

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Controller.start_str

   .. py:attribute:: stop_str
      :canonical: rofunc.devices.emg.src.delsystream.Controller.stop_str
      :value: b'STOP'

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Controller.stop_str

   .. py:method:: run()
      :canonical: rofunc.devices.emg.src.delsystream.Controller.run

   .. py:method:: start_socket()
      :canonical: rofunc.devices.emg.src.delsystream.Controller.start_socket

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Controller.start_socket

.. py:class:: DataStreamer(file_descriptor=None, address=None, byte_size=None, sensor_IDs=None, channel_labels=None, unpack_template=None, is_daemon=True)
   :canonical: rofunc.devices.emg.src.delsystream.DataStreamer

   Bases: :py:obj:`threading.Thread`

   .. py:method:: run()
      :canonical: rofunc.devices.emg.src.delsystream.DataStreamer.run

   .. py:method:: prep_csv_writer()
      :canonical: rofunc.devices.emg.src.delsystream.DataStreamer.prep_csv_writer

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.DataStreamer.prep_csv_writer

   .. py:method:: write_data(data, time_stamp)
      :canonical: rofunc.devices.emg.src.delsystream.DataStreamer.write_data

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.DataStreamer.write_data

   .. py:method:: start_socket()
      :canonical: rofunc.devices.emg.src.delsystream.DataStreamer.start_socket

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.DataStreamer.start_socket

.. py:class:: Sensor(name, data_streams, byte_sizes, masks)
   :canonical: rofunc.devices.emg.src.delsystream.Sensor

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor.__init__

   .. py:method:: getMask()
      :canonical: rofunc.devices.emg.src.delsystream.Sensor.getMask

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor.getMask

   .. py:method:: getBytes()
      :canonical: rofunc.devices.emg.src.delsystream.Sensor.getBytes

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor.getBytes

   .. py:method:: getName()
      :canonical: rofunc.devices.emg.src.delsystream.Sensor.getName

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor.getName

   .. py:method:: getDataStreams()
      :canonical: rofunc.devices.emg.src.delsystream.Sensor.getDataStreams

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor.getDataStreams

   .. py:method:: generateFilnames()
      :canonical: rofunc.devices.emg.src.delsystream.Sensor.generateFilnames

      .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.Sensor.generateFilnames

.. py:function:: main()
   :canonical: rofunc.devices.emg.src.delsystream.main

   .. autodoc2-docstring:: rofunc.devices.emg.src.delsystream.main
