Source code for nixnet._session.signals

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import typing  # NOQA: F401

from nixnet import _funcs

from nixnet._session import collection


[docs]class Signals(collection.Collection): """Signals in a session.""" def _create_item(self, handle, index, name): return Signal(handle, index, name)
[docs]class SinglePointInSignals(Signals): """Writeable signals in a session."""
[docs] def read(self): # type: () -> typing.Iterable[typing.Tuple[int, float]] """Read data from a Signal Input Single-Point session. Yields: tuple of int and float: Timestamp and signal """ num_signals = len(self) timestamps, values = _funcs.nx_read_signal_single_point(self._handle, num_signals) for timestamp, value in zip(timestamps, values): yield timestamp.value, value.value
[docs]class SinglePointOutSignals(Signals): """Writeable signals in a session."""
[docs] def write( self, signals): # type: (typing.Iterable[float]) -> None """Write data to a Signal Output Single-Point session. Args: signals(list of float): A list of signal values (float). """ _funcs.nx_write_signal_single_point(self._handle, list(signals))
[docs]class Signal(collection.Item): """Signal configuration for a session."""