trs_interface.protocol.encoder module
The bulk of the encoder
module contains functions to encode data to raw byte strings.
The majority of these are automatically generated, and consequently not documented.
Fortunately, they should be fairly straightforward to use.
For example:
from trs_interface.protocol import encoder
# Times are integers measured in units of 1/42 MHz (~24 ns)
msg = encoder.set_camera_sync_delay(50) # == 2.083 µs
msg = encoder.set_quadrature_value(0)
msg = encoder.arm()
-
trs_interface.protocol.encoder.arm(arm: int = 1) → bytes[source]
-
trs_interface.protocol.encoder.get_camera_sync_delay(delay: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_camera_sync_duration(duration: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_camera_trig_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_chopper_divider(divider: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_chopper_sync_delay(delay: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_chopper_sync_duration(duration: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_chopper_syncin_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_chopper_syncout_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_delay_trig_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_laser_sync_period(period: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_laser_sync_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_ping(ping: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_quadrature_direction(direction: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_quadrature_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_quadrature_value(value: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.get_version(version: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_camera_sync_delay(delay: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_camera_sync_duration(duration: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_camera_trig_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_chopper_divider(divider: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_chopper_sync_delay(delay: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_chopper_sync_duration(duration: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_chopper_syncin_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_chopper_syncout_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_data(quadrature: numpy.typing.ArrayLike = [], chopper: numpy.typing.ArrayLike = []) → bytes[source]
Message containing data in its payload.
The array sizes of quadrature
and chopper
should match, or one parameter may be a single value.
- Parameters
quadrature – Values of the quadrature encoder, as array of signed integers.
chopper – Chopper “on” or “off” values, as array of boolean values.
-
trs_interface.protocol.encoder.got_delay_trig_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_laser_sync_period(period: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_laser_sync_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_ping(ping: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_quadrature_direction(direction: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_quadrature_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_quadrature_value(value: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_unknown_msg(msg: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.got_version(version: str = '0.0.0') → bytes[source]
-
trs_interface.protocol.encoder.pack(msg_id: int, data: int = 0, payload: Optional[bytes] = None)[source]
Pack a message into a byte array.
- Parameters
msg_id – ID code of message type.
data – Data to put into the 32-bit data field.
payload – Byte array containing additional payload data appended to the message.
- Returns
Byte array representing the message and data.
-
trs_interface.protocol.encoder.set_camera_sync_delay(delay: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_camera_sync_duration(duration: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_camera_trig_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_chopper_divider(divider: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_chopper_sync_delay(delay: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_chopper_sync_duration(duration: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_chopper_syncin_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_chopper_syncout_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_delay_trig_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_laser_sync_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_quadrature_direction(direction: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_quadrature_polarity(polarity: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.set_quadrature_value(value: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.start(frame_count: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.stop(stop: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.store_settings(settings: int = 0) → bytes[source]
-
trs_interface.protocol.encoder.trigger(trigger: int = 1) → bytes[source]