coveralls: 
[![Coverage Status](https://coveralls.io/builds/12733220/badge)](https://coveralls.io/builds/12733220)

Coverage increased (+0.009%) to 64.185% when pulling **a7b8f654fcad45c99ddc7bab597746d86d83151a on epage:resamp** into **5590c92682e9a33adc823396a3565fa4dbb47055 on ni:master**.

coveralls: 
[![Coverage Status](https://coveralls.io/builds/12733220/badge)](https://coveralls.io/builds/12733220)

Coverage increased (+0.009%) to 64.185% when pulling **a7b8f654fcad45c99ddc7bab597746d86d83151a on epage:resamp** into **5590c92682e9a33adc823396a3565fa4dbb47055 on ni:master**.

coveralls: 
[![Coverage Status](https://coveralls.io/builds/12733220/badge)](https://coveralls.io/builds/12733220)

Coverage increased (+0.009%) to 64.185% when pulling **a7b8f654fcad45c99ddc7bab597746d86d83151a on epage:resamp** into **5590c92682e9a33adc823396a3565fa4dbb47055 on ni:master**.

coveralls: 
[![Coverage Status](https://coveralls.io/builds/12733220/badge)](https://coveralls.io/builds/12733220)

Coverage increased (+0.009%) to 64.185% when pulling **a7b8f654fcad45c99ddc7bab597746d86d83151a on epage:resamp** into **5590c92682e9a33adc823396a3565fa4dbb47055 on ni:master**.

diff --git a/nixnet/_session/signals.py b/nixnet/_session/signals.py
index ed31b22..f0af203 100644
--- a/nixnet/_session/signals.py
+++ b/nixnet/_session/signals.py
@@ -5,7 +5,6 @@ from __future__ import print_function
 import typing  # NOQA: F401
 
 from nixnet import _funcs
-from nixnet import _props
 
 from nixnet._session import collection
 
@@ -19,20 +18,6 @@ class Signals(collection.Collection):
     def _create_item(self, handle, index, name):
         return Signal(handle, index, name)
 
-    @property
-    def resamp_rate(self):
-        # type: () -> float
-        """float: Rate used to resample frame data to/from signal data in waveforms.
-
-        The units are in Hertz (samples per second).
-        """
-        return _props.get_session_resamp_rate(self._handle)
-
-    @resamp_rate.setter
-    def resamp_rate(self, value):
-        # type: (float) -> None
-        _props.set_session_resamp_rate(self._handle, value)
-
 
 class SinglePointInSignals(Signals):
     """Writeable signals in a session."""
diff --git a/nixnet/session.py b/nixnet/session.py
index 6849e40..0600160 100644
--- a/nixnet/session.py
+++ b/nixnet/session.py
@@ -312,7 +312,7 @@ class FrameOutQueuedSession(base.SessionBase):
     @property
     def frames(self):
         # type: () -> session_frames.OutFrames
-        """:any:`nixnet._session.frames.OutFrames`: Operate on session's frames"""
+        """:any:`nixnet._session.frames.InFrames`: Operate on session's frames"""
         return self._frames
 
 
diff --git a/nixnet/types.py b/nixnet/types.py
index a668da9..715c6e5 100644
--- a/nixnet/types.py
+++ b/nixnet/types.py
@@ -231,7 +231,7 @@ class RawFrame(Frame):
         "info",
         "payload"]
 
-    def __init__(self, timestamp, identifier, type, flags=0, info=0, payload=b""):
+    def __init__(self, timestamp, identifier, type, flags, info, payload=b""):
         # type: (int, int, constants.FrameType, int, int, bytes) -> None
         self.timestamp = timestamp
         self.identifier = identifier
@@ -271,24 +271,14 @@ class RawFrame(Frame):
         """RawFrame debug representation.
 
         >>> RawFrame(1, 2, constants.FrameType.CAN_DATA, 3, 4)
-        RawFrame(timestamp=0x1, identifier=0x2, type=FrameType.CAN_DATA, flags=0x3, info=0x4)
+        RawFrame(timestamp=0x1, identifier=0x2, type=FrameType.CAN_DATA, flags=0x3, info=0x4, payload=...)
         """
-        optional = []
-        if self.flags != 0:
-            optional.append('flags=0x{:x}'.format(self.flags))
-        if self.info != 0:
-            optional.append('info=0x{:x}'.format(self.info))
-        if self.payload:
-            optional.append('len(payload)={}'.format(len(self.payload)))
-        if optional:
-            optional_params = ', {}'.format(", ".join(optional))
-        else:
-            optional_params = ''
-        return "RawFrame(timestamp=0x{:x}, identifier=0x{:x}, type={}{})".format(
+        return "RawFrame(timestamp=0x{:x}, identifier=0x{:x}, type={}, flags=0x{:x}, info=0x{:x}, payload=...)".format(
             self.timestamp,
             self.identifier,
             self.type,
-            optional_params)
+            self.flags,
+            self.info)
 
 
 class CanFrame(Frame):
@@ -310,7 +300,7 @@ class CanFrame(Frame):
         "timestamp",
         "payload"]
 
-    def __init__(self, identifier, type=constants.FrameType.CAN_DATA, payload=b""):
+    def __init__(self, identifier, type, payload=b""):
         # type: (typing.Union[CanIdentifier, int], constants.FrameType, bytes) -> None
         if isinstance(identifier, int):
             self.identifier = CanIdentifier(identifier)
@@ -327,7 +317,7 @@ class CanFrame(Frame):
 
         >>> raw = RawFrame(5, 0x20000001, constants.FrameType.CAN_DATA, _cconsts.NX_FRAME_FLAGS_TRANSMIT_ECHO, 0, b'')
         >>> CanFrame.from_raw(raw)
-        CanFrame(CanIdentifier(0x1, extended=True), echo=True, timestamp=0x5)
+        CanFrame(CanIdentifier(0x1, extended=True), echo=True, type=FrameType.CAN_DATA, timestamp=0x5, payload=...)
         """
         identifier = CanIdentifier.from_raw(frame.identifier)
         can_frame = CanFrame(identifier, constants.FrameType(frame.type), frame.payload)
@@ -339,11 +329,11 @@ class CanFrame(Frame):
         """Convert to RawFrame.
 
         >>> CanFrame(CanIdentifier(1, True), constants.FrameType.CAN_DATA).to_raw()
-        RawFrame(timestamp=0x0, identifier=0x20000001, type=FrameType.CAN_DATA)
+        RawFrame(timestamp=0x0, identifier=0x20000001, type=FrameType.CAN_DATA, flags=0x0, info=0x0, payload=...)
         >>> c = CanFrame(CanIdentifier(1, True), constants.FrameType.CAN_DATA)
         >>> c.echo = True
         >>> c.to_raw()
-        RawFrame(timestamp=0x0, identifier=0x20000001, type=FrameType.CAN_DATA, flags=0x80)
+        RawFrame(timestamp=0x0, identifier=0x20000001, type=FrameType.CAN_DATA, flags=0x80, info=0x0, payload=...)
         """
         identifier = int(self.identifier)
         flags = 0
@@ -371,27 +361,14 @@ class CanFrame(Frame):
         # type: () -> typing.Text
         """CanFrame debug representation.
 
-        >>> CanFrame(1)
-        CanFrame(CanIdentifier(0x1))
-        >>> CanFrame(1, constants.FrameType.CANFD_DATA, b'\x01')
-        CanFrame(CanIdentifier(0x1), type=FrameType.CANFD_DATA, len(payload)=1)
+        >>> CanFrame(1, constants.FrameType.CAN_DATA)
+        CanFrame(CanIdentifier(0x1), echo=False, type=FrameType.CAN_DATA, timestamp=0x0, payload=...)
         """
-        optional = []
-        if self.echo:
-            optional.append('echo={}'.format(self.echo))
-        if self.type != constants.FrameType.CAN_DATA:
-            optional.append('type={}'.format(self.type))
-        if self.timestamp != 0:
-            optional.append('timestamp=0x{:x}'.format(self.timestamp))
-        if self.payload:
-            optional.append('len(payload)={}'.format(len(self.payload)))
-        if optional:
-            optional_params = ', {}'.format(", ".join(optional))
-        else:
-            optional_params = ''
-        return "CanFrame({}{})".format(
+        return "CanFrame({}, echo={}, type={}, timestamp=0x{:x}, payload=...)".format(
             self.identifier,
-            optional_params)
+            self.echo,
+            self.type,
+            self.timestamp)
 
 
 class CanBusErrorFrame(Frame):
@@ -446,7 +423,7 @@ class CanBusErrorFrame(Frame):
         """Convert to RawFrame.
 
         >>> CanBusErrorFrame(100, constants.CanCommState.BUS_OFF, True, constants.CanLastErr.STUFF, 1, 2).to_raw()
-        RawFrame(timestamp=0x64, identifier=0x0, type=FrameType.CAN_BUS_ERROR, len(payload)=5)
+        RawFrame(timestamp=0x64, identifier=0x0, type=FrameType.CAN_BUS_ERROR, flags=0x0, info=0x0, payload=...)
         """
         identifier = 0
         flags = 0
@@ -459,7 +436,7 @@ class CanBusErrorFrame(Frame):
             self.tx_err_count,
             self.rx_err_count,
         ]
-        payload = bytes(bytearray(payload_data))
+        payload = bytes(payload_data)
         return RawFrame(self.timestamp, identifier, self.type, flags, info, payload)
 
     @property
@@ -526,7 +503,7 @@ class DelayFrame(Frame):
         """Convert to RawFrame.
 
         >>> DelayFrame(250).to_raw()
-        RawFrame(timestamp=0xfa, identifier=0x0, type=FrameType.SPECIAL_DELAY)
+        RawFrame(timestamp=0xfa, identifier=0x0, type=FrameType.SPECIAL_DELAY, flags=0x0, info=0x0, payload=...)
         """
         identifier = 0
         flags = 0
@@ -590,7 +567,7 @@ class LogTriggerFrame(Frame):
         """Convert to RawFrame.
 
         >>> LogTriggerFrame(250).to_raw()
-        RawFrame(timestamp=0xfa, identifier=0x0, type=FrameType.SPECIAL_LOG_TRIGGER)
+        RawFrame(timestamp=0xfa, identifier=0x0, type=FrameType.SPECIAL_LOG_TRIGGER, flags=0x0, info=0x0, payload=...)
         """
         identifier = 0
         flags = 0
@@ -650,7 +627,7 @@ class StartTriggerFrame(Frame):
         """Convert to RawFrame.
 
         >>> StartTriggerFrame(250).to_raw()
-        RawFrame(timestamp=0xfa, identifier=0x0, type=FrameType.SPECIAL_START_TRIGGER)
+        RawFrame(timestamp=0xfa, identifier=0x0, type=FrameType.SPECIAL_START_TRIGGER, flags=0x0, info=0x0, payload=...)
         """
         identifier = 0
         flags = 0
diff --git a/nixnet_examples/can_frame_queued_io.py b/nixnet_examples/can_frame_queued_io.py
index ba9b893..0dfcdcf 100644
--- a/nixnet_examples/can_frame_queued_io.py
+++ b/nixnet_examples/can_frame_queued_io.py
@@ -2,15 +2,18 @@ from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
-import time
-
+import pprint
 import six
+import time
 
 import nixnet
 from nixnet import constants
 from nixnet import types
 
 
+pp = pprint.PrettyPrinter(indent=4)
+
+
 def main():
     database_name = 'NIXNET_example'
     cluster_name = 'CAN_Cluster'
@@ -72,8 +75,8 @@ def main():
                 count = 1
                 frames = input_session.frames.read(count)
                 for frame in frames:
-                    print('Received frame: {}'.format(frame))
-                    print('    payload={}'.format(list(six.iterbytes(frame.payload))))
+                    print('Received frame: ')
+                    pp.pprint(frame)
 
                 i += 1
                 if max(payload) + i > 0xFF:
diff --git a/nixnet_examples/can_frame_stream_io.py b/nixnet_examples/can_frame_stream_io.py
index 464455e..60769d2 100644
--- a/nixnet_examples/can_frame_stream_io.py
+++ b/nixnet_examples/can_frame_stream_io.py
@@ -2,15 +2,18 @@ from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
-import time
-
+import pprint
 import six
+import time
 
 import nixnet
 from nixnet import constants
 from nixnet import types
 
 
+pp = pprint.PrettyPrinter(indent=4)
+
+
 def main():
     interface1 = 'CAN1'
     interface2 = 'CAN2'
@@ -64,8 +67,8 @@ def main():
                 count = 1
                 frames = input_session.frames.read(count)
                 for frame in frames:
-                    print('Received frame: {}'.format(frame))
-                    print('    payload={}'.format(list(six.iterbytes(frame.payload))))
+                    print('Received frame: ')
+                    pp.pprint(frame)
 
                 i += 1
                 if max(payload) + i > 0xFF:
diff --git a/nixnet_examples/can_signal_conversion.py b/nixnet_examples/can_signal_conversion.py
index 98cd6c1..2378577 100644
--- a/nixnet_examples/can_signal_conversion.py
+++ b/nixnet_examples/can_signal_conversion.py
@@ -2,11 +2,15 @@ from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
+import pprint
 import six
 
 from nixnet import convert
 
 
+pp = pprint.PrettyPrinter(indent=4)
+
+
 def main():
     database_name = 'NIXNET_example'
     cluster_name = 'CAN_Cluster'
@@ -31,11 +35,12 @@ def main():
         frames = session.convert_signals_to_frames(expected_signals)
         print('Frames:')
         for frame in frames:
-            print('    {}'.format(frame))
-            print('        payload={}'.format(list(six.iterbytes(frame.payload))))
+            print('    {}'.format(pp.pformat(frame)))
 
         converted_signals = session.convert_frames_to_signals(frames)
-        print('Signals: {}'.format([v for (_, v) in converted_signals]))
+        print('Signals:')
+        for expected, (_, converted) in zip(expected_signals, converted_signals):
+            print('    {} {}'.format(expected, converted))
 
 
 if __name__ == '__main__':
diff --git a/nixnet_examples/can_signal_single_point_io.py b/nixnet_examples/can_signal_single_point_io.py
index e9a5725..4b031c4 100644
--- a/nixnet_examples/can_signal_single_point_io.py
+++ b/nixnet_examples/can_signal_single_point_io.py
@@ -3,15 +3,18 @@ from __future__ import division
 from __future__ import print_function
 
 import datetime
+import pprint
+import six
 import sys
 import time
 
-import six
-
 import nixnet
 from nixnet import constants
 
 
+pp = pprint.PrettyPrinter(indent=4)
+
+
 def convert_timestamp(timestamp):
     system_epoch = time.gmtime(0)
     system_epock_datetime = datetime.datetime(system_epoch.tm_year, system_epoch.tm_mon, system_epoch.tm_mday)
@@ -81,7 +84,7 @@ def main():
                 signals = input_session.signals.read()
                 for timestamp, value in signals:
                     date = convert_timestamp(timestamp)
-                    print('Received signal with timestamp {} and value {}'.format(date, value))
+                    print('Received signal with timepstamp {} and value {}'.format(date, value))
 
                 i += 1
                 if max(value_buffer) + i > sys.float_info.max:

Move get and set resamp_rate to the relevant Signal classes
This property applies only when the session mode is Signal Input Waveform or Signal Output Waveform. This property is ignored for all  other modes.

Those classes are not written yet so I'm leaving this property in `Signals` class for now
diff --git a/tests/test_examples.py b/tests/test_examples.py
index 1e4f532..6fe9400 100644
--- a/tests/test_examples.py
+++ b/tests/test_examples.py
@@ -2,7 +2,6 @@ from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
-import copy
 import mock  # type: ignore
 
 import pytest  # type: ignore
@@ -32,8 +31,6 @@ MockXnetLibrary.nx_clear.return_value = _ctypedefs.u32(0)
 
 
 def six_input(queue):
-    # Leave `input_values` alone for easier debugging
-    queue = copy.copy(queue)
     queue.reverse()
 
     def _six_input(prompt=""):
diff --git a/tests/test_frames.py b/tests/test_frames.py
index 0380ade..ce8d50b 100644
--- a/tests/test_frames.py
+++ b/tests/test_frames.py
@@ -35,7 +35,7 @@ def test_iterate_frames_with_empty_payload():
     payload = b'\x00\x00\x00\x00\x00\x00\x00\x00'
     empty_bytes = b'\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\x05\x00' + payload
     (empty_frame, ) = list(_frames.iterate_frames(empty_bytes))
-    assert repr(empty_frame) == 'RawFrame(timestamp=0x1, identifier=0x2, type=FrameType.CAN_DATA, flags=0x4, info=0x5)'
+    assert repr(empty_frame) == 'RawFrame(timestamp=0x1, identifier=0x2, type=FrameType.CAN_DATA, flags=0x4, info=0x5, payload=...)'  # NOQA: E501
     assert empty_frame.payload == b''
 
 
@@ -43,14 +43,14 @@ def test_iterate_frames_with_base_payload():
     payload = b'\x01\x02\x03\x04\x05\x06\x07\x08'
     base_bytes = b'\x06\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x08\x09\x08' + payload
     (base_frame, ) = list(_frames.iterate_frames(base_bytes))
-    assert repr(base_frame) == 'RawFrame(timestamp=0x6, identifier=0x7, type=FrameType.CAN_DATA, flags=0x8, info=0x9, len(payload)=8)'  # NOQA: E501
+    assert repr(base_frame) == 'RawFrame(timestamp=0x6, identifier=0x7, type=FrameType.CAN_DATA, flags=0x8, info=0x9, payload=...)'  # NOQA: E501
     assert base_frame.payload == b'\x01\x02\x03\x04\x05\x06\x07\x08'
 
 
 def test_iterate_frames_with_partial_base_payload():
     frame_bytes = b'\xd8\xb7@B\xeb\xff\xd2\x01\x00\x00\x00\x00\x00\x00\x00\x04\x02\x04\x08\x10\x00\x00\x00\x00'
     (frame, ) = list(_frames.iterate_frames(frame_bytes))
-    assert repr(frame) == 'RawFrame(timestamp=0x1d2ffeb4240b7d8, identifier=0x0, type=FrameType.CAN_DATA, len(payload)=4)'  # NOQA: E501
+    assert repr(frame) == 'RawFrame(timestamp=0x1d2ffeb4240b7d8, identifier=0x0, type=FrameType.CAN_DATA, flags=0x0, info=0x0, payload=...)'  # NOQA: E501
     assert frame.payload == b'\x02\x04\x08\x10'
 
 

pip install -e .[dev]
parse_log_pytest
pytest
pytest mock pytest-cov pytest-xdist pytest-mock pytest-asyncio
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
certifi==2021.5.30
coverage==6.2
execnet==1.9.0
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
mock==5.2.0
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
-e git+https://github.com/ni/nixnet-python.git@5590c92682e9a33adc823396a3565fa4dbb47055#egg=nixnet
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
pytest-asyncio==0.16.0
pytest-cov==4.0.0
pytest-mock==3.6.1
pytest-xdist==3.0.2
six==1.17.0
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
tomli==1.2.3
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work

name: nixnet-python
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - coverage==6.2
      - execnet==1.9.0
      - mock==5.2.0
      - pytest-asyncio==0.16.0
      - pytest-cov==4.0.0
      - pytest-mock==3.6.1
      - pytest-xdist==3.0.2
      - six==1.17.0
      - tomli==1.2.3
prefix: /opt/conda/envs/nixnet-python

tests/test_frames.py::test_iterate_frames_with_empty_payload tests/test_frames.py::test_iterate_frames_with_base_payload tests/test_frames.py::test_iterate_frames_with_partial_base_payload
tests/test_frames.py::test_stream_loopback tests/test_frames.py::test_queued_loopback tests/test_frames.py::test_singlepoint_loopback tests/test_frames.py::test_session_frames_container tests/test_frames.py::test_session_frames_properties tests/test_frames.py::test_session_frame_container
tests/test_examples.py::test_can_frame_queued_empty_session[input_values0] tests/test_examples.py::test_can_frame_queued_empty_session[input_values1] tests/test_examples.py::test_can_frame_queued_empty_session[input_values2] tests/test_examples.py::test_can_frame_queued_empty_session[input_values3] tests/test_examples.py::test_can_frame_queued_empty_session[input_values4] tests/test_examples.py::test_can_frame_stream_empty_session[input_values0] tests/test_examples.py::test_can_frame_stream_empty_session[input_values1] tests/test_examples.py::test_can_frame_stream_empty_session[input_values2] tests/test_examples.py::test_can_frame_stream_empty_session[input_values3] tests/test_examples.py::test_can_frame_stream_empty_session[input_values4] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values0] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values1] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values2] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values3] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values4] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values5] tests/test_examples.py::test_can_signal_single_point_empty_session[input_values6] tests/test_examples.py::test_can_signal_conversion_empty_session[input_values0] tests/test_examples.py::test_can_signal_conversion_empty_session[input_values1] tests/test_examples.py::test_can_signal_conversion_empty_session[input_values2] tests/test_frames.py::test_iterate_frames_with_multiple_frames tests/test_frames.py::test_iterate_frames_corrupted_frame tests/test_frames.py::test_can_identifier_equality tests/test_frames.py::test_can_identifier_overflow tests/test_frames.py::test_can_identifier_extended_overflow tests/test_frames.py::test_raw_frame_equality tests/test_frames.py::test_raw_frame_conversion tests/test_frames.py::test_can_frame_equality tests/test_frames.py::test_can_bus_error_frame_equality tests/test_frames.py::test_delay_frame_equality tests/test_frames.py::test_log_trigger_frame_equality tests/test_frames.py::test_start_trigger_frame_equality tests/test_frames.py::test_serialize_frame_with_empty_payload tests/test_frames.py::test_serialize_frame_with_base_payload tests/test_frames.py::test_serialize_frame_with_payload_unit tests/test_frames.py::test_serialize_frame_with_excessive_payload
nixnet_examples/can_signal_single_point_io.py nixnet/session.py nixnet/types.py nixnet/_session/signals.py nixnet_examples/can_frame_stream_io.py nixnet_examples/can_frame_queued_io.py nixnet_examples/can_signal_conversion.py
nixnet_examples/can_signal_single_point_io.py nixnet/session.py nixnet/types.py nixnet/_session/signals.py nixnet_examples/can_frame_stream_io.py nixnet_examples/can_frame_queued_io.py nixnet_examples/can_signal_conversion.py