Modules
harp.devices.laserdrivercontroller
#
Bncs
#
Bases: IntFlag
Specifies the state of BNCs
Attributes:
Name | Type | Description |
---|---|---|
BNC1 |
int
|
No description currently available |
BNC2 |
int
|
No description currently available |
Device
#
The Device
class provides the interface for interacting with Harp devices. This implementation of the Harp device was based on the official documentation available on the harp-tech website.
Attributes:
Name | Type | Description |
---|---|---|
WHO_AM_I |
int
|
The device ID number. A list of devices can be found here |
DEFAULT_DEVICE_NAME |
str
|
The device name, i.e. "Behavior". This name is derived by cross-referencing the |
HW_VERSION_H |
int
|
The major hardware version |
HW_VERSION_L |
int
|
The minor hardware version |
ASSEMBLY_VERSION |
int
|
The version of the assembled components |
HARP_VERSION_H |
int
|
The major Harp core version |
HARP_VERSION_L |
int
|
The minor Harp core version |
FIRMWARE_VERSION_H |
int
|
The major firmware version |
FIRMWARE_VERSION_L |
int
|
The minor firmware version |
DEVICE_NAME |
str
|
The device name stored in the Harp device |
SERIAL_NUMBER |
(int, optional)
|
The serial number of the device |
__enter__()
#
Support for using Device with 'with' statement.
Returns:
Type | Description |
---|---|
Device
|
The Device instance |
__exit__(exc_type, exc_val, exc_tb)
#
Cleanup resources when exiting the 'with' block.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
exc_type
|
Exception type or None
|
Type of the exception that caused the context to be exited |
required |
exc_val
|
Exception or None
|
Exception instance that caused the context to be exited |
required |
exc_tb
|
traceback or None
|
Traceback if an exception occurred |
required |
__init__(serial_port, dump_file_path=None, read_timeout_s=1, timeout_strategy=TimeoutStrategy.RAISE)
#
Parameters:
Name | Type | Description | Default |
---|---|---|---|
serial_port
|
str
|
The serial port used to establish the connection with the Harp device. It must be denoted as |
required |
dump_file_path
|
Optional[str]
|
The binary file to which all Harp messages will be written |
None
|
read_timeout_s
|
float
|
TODO |
1
|
alive_en(enable)
#
Sets the ALIVE_EN bit of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
enable
|
bool
|
If True, enables the ALIVE_EN bit. If False, disables it |
required |
Returns:
Type | Description |
---|---|
bool
|
True if the operation was successful, False otherwise |
connect()
#
Connects to the Harp device.
disconnect()
#
Disconnects from the Harp device.
dump_registers()
#
Asserts the DUMP bit to dump the values of all core and app registers as Harp Read Reply Messages. More information on the DUMP bit can be found here.
Returns:
Type | Description |
---|---|
list
|
The list containing the reply Harp messages for all the device's registers |
event_count()
#
Gets the number of events in the event queue.
Returns:
Type | Description |
---|---|
int
|
The number of events in the event queue |
get_events()
#
Gets all events from the event queue.
Returns:
Type | Description |
---|---|
list
|
The list containing every Harp event message that were on the queue |
info()
#
Prints the device information.
load()
#
Loads the data stored in the device's common registers.
mute_reply(enable)
#
Sets the MUTE_REPLY bit of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
enable
|
bool
|
If True, the Replies to all the Commands are muted. If False, un-mutes them |
required |
Returns:
Type | Description |
---|---|
bool
|
True if the operation was successful, False otherwise |
op_led_en(enable)
#
Sets the operation LED of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
enable
|
bool
|
If True, enables the operation LED. If False, disables it |
required |
Returns:
Type | Description |
---|---|
bool
|
True if the operation was successful, False otherwise |
read_float(address)
#
Reads the value of a register of type Float.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_operation_ctrl()
#
Reads the OPERATION_CTRL register of the device.
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
read_s16(address)
#
Reads the value of a register of type S16.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_s32(address)
#
Reads the value of a register of type S32.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_s64(address)
#
Reads the value of a register of type S64.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_s8(address)
#
Reads the value of a register of type S8.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_u16(address)
#
Reads the value of a register of type U16.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_u32(address)
#
Reads the value of a register of type U32.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_u64(address)
#
Reads the value of a register of type U64.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
read_u8(address)
#
Reads the value of a register of type U8.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be read |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message that will contain the value read from the register |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
reset_device(reset_mode=ResetMode.RST_DEF)
#
Resets the device and reboots with all the registers with the default values. Beware that the EEPROM will be erased. More information on the reset device register can be found here.
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
send(message, *, expect_reply=True, timeout_strategy=None)
#
Sends a Harp message and (optionally) waits for a reply.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
HarpMessage
|
The HarpMessage to be sent to the device |
required |
expect_reply
|
bool
|
If False, do not wait for a reply (fire-and-forget) |
True
|
timeout_strategy
|
TimeoutStrategy | None
|
Override the device-level timeout strategy for this call |
None
|
Returns:
Type | Description |
---|---|
ReplyHarpMessage | None
|
Reply (or None when allowed by the timeout strategy or expect_reply=False) |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
set_clock_config(clock_config)
#
Sets the clock configuration of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
clock_config
|
ClockConfig
|
The clock configuration value |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
set_mode(mode)
#
Sets the operation mode of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
mode
|
DeviceMode
|
The new device mode value |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
set_timestamp_offset(timestamp_offset)
#
When the value of this register is above 0 (zero), the device's timestamp will be offset by this amount. The register is sensitive to 500 microsecond increments. This register is non-volatile.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
timestamp_offset
|
int
|
The timestamp offset value |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
visual_en(enable)
#
Sets the status led of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
enable
|
bool
|
If True, enables the status led. If False, disables it |
required |
Returns:
Type | Description |
---|---|
bool
|
True if the operation was successful, False otherwise |
write_float(address, value)
#
Writes the value of a register of type Float.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
float | list[float]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_operation_ctrl(mode=None, mute_rpl=None, visual_en=None, op_led_en=None, alive_en=None)
#
Writes the OPERATION_CTRL register of the device.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
mode
|
OperationMode
|
The new operation mode value |
None
|
mute_rpl
|
bool
|
If True, the Replies to all the Commands are muted |
None
|
visual_en
|
bool
|
If True, enables the status led |
None
|
op_led_en
|
bool
|
If True, enables the operation LED |
None
|
alive_en
|
bool
|
If True, enables the ALIVE_EN bit |
None
|
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
write_s16(address, value)
#
Writes the value of a register of type S16.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_s32(address, value)
#
Writes the value of a register of type S32.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_s64(address, value)
#
Writes the value of a register of type S64.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_s8(address, value)
#
Writes the value of a register of type S8.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_u16(address, value)
#
Writes the value of a register of type U16.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_u32(address, value)
#
Writes the value of a register of type U32.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_u64(address, value)
#
Writes the value of a register of type U64.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
write_u8(address, value)
#
Writes the value of a register of type U8.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
address
|
int
|
The register to be written on |
required |
value
|
int | list[int]
|
The value to be written to the register |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The reply to the Harp message |
Raises:
Type | Description |
---|---|
HarpTimeoutError
|
If no reply is received and the effective strategy requires raising |
DigitalOutputs
#
Bases: IntFlag
Specifies the state of port digital output lines.
Attributes:
Name | Type | Description |
---|---|---|
DO1 |
int
|
No description currently available |
DO2 |
int
|
No description currently available |
FrequencySelect
#
Bases: IntEnum
Selects laser frequency mode
Attributes:
Name | Type | Description |
---|---|---|
NONE |
int
|
No description currently available |
F1 |
int
|
No description currently available |
F2 |
int
|
No description currently available |
F3 |
int
|
No description currently available |
C_W |
int
|
No description currently available |
HarpMessage
#
The HarpMessage
class implements the Harp message as described in the protocol.
Attributes:
Name | Type | Description |
---|---|---|
frame |
bytearray
|
The bytearray containing the whole Harp message |
message_type |
MessageType
|
The message type |
length |
int
|
The length parameter of the Harp message |
address |
int
|
The address of the register to which the Harp message refers to |
port |
int
|
Indicates the origin or destination of the Harp message in case the device is a hub of Harp devices. The value 255 points to the device itself (default value). |
payload_type |
PayloadType
|
The payload type |
checksum |
int
|
The sum of all bytes contained in the Harp message |
address
property
#
The address of the register to which the Harp message refers to.
Returns:
Type | Description |
---|---|
int
|
The address of the register to which the Harp message refers to |
checksum
property
#
The sum of all bytes contained in the Harp message.
Returns:
Type | Description |
---|---|
int
|
The sum of all bytes contained in the Harp message |
frame
property
#
The bytearray containing the whole Harp message.
Returns:
Type | Description |
---|---|
bytearray
|
The bytearray containing the whole Harp message |
length
property
#
The length parameter of the Harp message.
Returns:
Type | Description |
---|---|
int
|
The length parameter of the Harp message |
message_type
property
#
payload
property
#
The payload sent in the write Harp message.
Returns:
Type | Description |
---|---|
Union[int, list[int]]
|
The payload sent in the write Harp message |
payload_type
property
#
port
property
writable
#
Indicates the origin or destination of the Harp message in case the device is a hub of Harp devices. The value 255 points to the device itself (default value).
Returns:
Type | Description |
---|---|
int
|
The port value |
__repr__()
#
Prints debug representation of the reply message.
Returns:
Type | Description |
---|---|
str
|
The debug representation of the reply message |
__str__()
#
Prints friendly representation of a Harp message.
Returns:
Type | Description |
---|---|
str
|
The representation of the Harp message |
calculate_checksum()
#
Calculates the checksum of the Harp message.
Returns:
Type | Description |
---|---|
int
|
The value of the checksum |
create(message_type, address, payload_type, value=None)
staticmethod
#
Creates a Harp message.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message_type
|
MessageType
|
The message type. It can only be of type READ or WRITE |
required |
address
|
int
|
The address of the register that the message will interact with |
required |
payload_type
|
PayloadType
|
The payload type |
required |
value
|
Optional[int | list[int] | float | list[float]]
|
The payload of the message. If message_type == MessageType.WRITE, the value cannot be None |
None
|
parse(frame)
staticmethod
#
Parses a bytearray to a (reply) Harp message.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
frame
|
bytearray
|
The bytearray will be parsed into a (reply) Harp message |
required |
Returns:
Type | Description |
---|---|
ReplyHarpMessage
|
The Harp message object parsed from the original bytearray |
HarpReadException
#
Bases: HarpException
Exception raised when there is an error reading from a register in the Harp device.
HarpWriteException
#
Bases: HarpException
Exception raised when there is an error writing to a register in the Harp device.
LaserDriverController
#
Bases: Device
LaserDriverController class for controlling the device.
read_bnc1_off()
#
Reads the contents of the Bnc1Off register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1Off register. |
read_bnc1_on()
#
Reads the contents of the Bnc1On register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1On register. |
read_bnc1_pulses()
#
Reads the contents of the Bnc1Pulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1Pulses register. |
read_bnc1_tail()
#
Reads the contents of the Bnc1Tail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1Tail register. |
read_bnc2_off()
#
Reads the contents of the Bnc2Off register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2Off register. |
read_bnc2_on()
#
Reads the contents of the Bnc2On register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2On register. |
read_bnc2_pulses()
#
Reads the contents of the Bnc2Pulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2Pulses register. |
read_bnc2_tail()
#
Reads the contents of the Bnc2Tail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2Tail register. |
read_bncs_state()
#
Reads the contents of the BncsState register.
Returns:
Type | Description |
---|---|
Bncs
|
Value read from the BncsState register. |
read_event_enable()
#
Reads the contents of the EventEnable register.
Returns:
Type | Description |
---|---|
LaserDriverControllerEvents
|
Value read from the EventEnable register. |
read_laser_frequency_select()
#
Reads the contents of the LaserFrequencySelect register.
Returns:
Type | Description |
---|---|
FrequencySelect
|
Value read from the LaserFrequencySelect register. |
read_laser_intensity()
#
Reads the contents of the LaserIntensity register.
Returns:
Type | Description |
---|---|
int
|
Value read from the LaserIntensity register. |
read_laser_state()
#
Reads the contents of the LaserState register.
Returns:
Type | Description |
---|---|
int
|
Value read from the LaserState register. |
read_output_clear()
#
Reads the contents of the OutputClear register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputClear register. |
read_output_set()
#
Reads the contents of the OutputSet register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputSet register. |
read_output_state()
#
Reads the contents of the OutputState register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputState register. |
read_output_toggle()
#
Reads the contents of the OutputToggle register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputToggle register. |
read_signal_a_off()
#
Reads the contents of the SignalAOff register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalAOff register. |
read_signal_a_on()
#
Reads the contents of the SignalAOn register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalAOn register. |
read_signal_a_pulses()
#
Reads the contents of the SignalAPulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalAPulses register. |
read_signal_a_tail()
#
Reads the contents of the SignalATail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalATail register. |
read_signal_b_off()
#
Reads the contents of the SignalBOff register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBOff register. |
read_signal_b_on()
#
Reads the contents of the SignalBOn register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBOn register. |
read_signal_b_pulses()
#
Reads the contents of the SignalBPulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBPulses register. |
read_signal_b_tail()
#
Reads the contents of the SignalBTail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBTail register. |
read_signal_state()
#
Reads the contents of the SignalState register.
Returns:
Type | Description |
---|---|
Signals
|
Value read from the SignalState register. |
read_spad_switch()
#
Reads the contents of the SpadSwitch register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SpadSwitch register. |
write_bnc1_off(value)
#
Writes a value to the Bnc1Off register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1Off register. |
required |
write_bnc1_on(value)
#
Writes a value to the Bnc1On register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1On register. |
required |
write_bnc1_pulses(value)
#
Writes a value to the Bnc1Pulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1Pulses register. |
required |
write_bnc1_tail(value)
#
Writes a value to the Bnc1Tail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1Tail register. |
required |
write_bnc2_off(value)
#
Writes a value to the Bnc2Off register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2Off register. |
required |
write_bnc2_on(value)
#
Writes a value to the Bnc2On register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2On register. |
required |
write_bnc2_pulses(value)
#
Writes a value to the Bnc2Pulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2Pulses register. |
required |
write_bnc2_tail(value)
#
Writes a value to the Bnc2Tail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2Tail register. |
required |
write_bncs_state(value)
#
Writes a value to the BncsState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Bncs
|
Value to write to the BncsState register. |
required |
write_event_enable(value)
#
Writes a value to the EventEnable register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
LaserDriverControllerEvents
|
Value to write to the EventEnable register. |
required |
write_laser_frequency_select(value)
#
Writes a value to the LaserFrequencySelect register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
FrequencySelect
|
Value to write to the LaserFrequencySelect register. |
required |
write_laser_intensity(value)
#
Writes a value to the LaserIntensity register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the LaserIntensity register. |
required |
write_laser_state(value)
#
Writes a value to the LaserState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the LaserState register. |
required |
write_output_clear(value)
#
Writes a value to the OutputClear register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputClear register. |
required |
write_output_set(value)
#
Writes a value to the OutputSet register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputSet register. |
required |
write_output_state(value)
#
Writes a value to the OutputState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputState register. |
required |
write_output_toggle(value)
#
Writes a value to the OutputToggle register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputToggle register. |
required |
write_signal_a_off(value)
#
Writes a value to the SignalAOff register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalAOff register. |
required |
write_signal_a_on(value)
#
Writes a value to the SignalAOn register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalAOn register. |
required |
write_signal_a_pulses(value)
#
Writes a value to the SignalAPulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalAPulses register. |
required |
write_signal_a_tail(value)
#
Writes a value to the SignalATail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalATail register. |
required |
write_signal_b_off(value)
#
Writes a value to the SignalBOff register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBOff register. |
required |
write_signal_b_on(value)
#
Writes a value to the SignalBOn register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBOn register. |
required |
write_signal_b_pulses(value)
#
Writes a value to the SignalBPulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBPulses register. |
required |
write_signal_b_tail(value)
#
Writes a value to the SignalBTail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBTail register. |
required |
write_signal_state(value)
#
Writes a value to the SignalState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Signals
|
Value to write to the SignalState register. |
required |
write_spad_switch(value)
#
Writes a value to the SpadSwitch register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SpadSwitch register. |
required |
LaserDriverControllerEvents
#
Bases: IntFlag
Specifies the active events in the device
Attributes:
Name | Type | Description |
---|---|---|
EVENT_SPAD_SWITCH |
int
|
No description currently available |
EVENT_LASER_STATE |
int
|
No description currently available |
LaserDriverControllerRegisters
#
Bases: IntEnum
Enum for all available registers in the LaserDriverController device.
Attributes:
Name | Type | Description |
---|---|---|
SPAD_SWITCH |
int
|
Turns ON/OFF the relay to switch SPADs supply |
LASER_STATE |
int
|
State of the laser, ON/OFF |
LASER_FREQUENCY_SELECT |
int
|
Set the laser frequency |
LASER_INTENSITY |
int
|
Laser intensity value [0:255] |
OUTPUT_SET |
int
|
Set the specified digital output lines |
OUTPUT_CLEAR |
int
|
Clear the specified digital output lines |
OUTPUT_TOGGLE |
int
|
Toggle the specified digital output lines |
OUTPUT_STATE |
int
|
Write the state of all digital output lines |
BNCS_STATE |
int
|
Configure BNCs to start |
SIGNAL_STATE |
int
|
Configure Signals to start |
BNC1_ON |
int
|
Time ON of BNC1 (milliseconds) [1:65535] |
BNC1_OFF |
int
|
Time OFF of BNC1 (milliseconds) [1:65535] |
BNC1_PULSES |
int
|
Number of pulses (BNC1) [0;65535], 0-> infinite repeat |
BNC1_TAIL |
int
|
Wait time to start (milliseconds) (BNC1) [1;65535] |
BNC2_ON |
int
|
Time ON of BNC2 (milliseconds) [1:65535] |
BNC2_OFF |
int
|
Time OFF of BNC2 (milliseconds) [1:65535] |
BNC2_PULSES |
int
|
Number of pulses (BNC2) [0;65535], 0-> infinite repeat |
BNC2_TAIL |
int
|
Wait time to start (milliseconds) (BNC2) [1;65535] |
SIGNAL_A_ON |
int
|
Time ON of SignalA (milliseconds) [1:65535] |
SIGNAL_A_OFF |
int
|
Time OFF of SignalA (milliseconds) [1:65535] |
SIGNAL_A_PULSES |
int
|
Number of pulses (SignalA) [0;65535], 0-> infinite repeat |
SIGNAL_A_TAIL |
int
|
Wait time to start (milliseconds) (SignalA) [1;65535] |
SIGNAL_B_ON |
int
|
Time ON of SignalB (milliseconds) [1:65535] |
SIGNAL_B_OFF |
int
|
Time OFF of SignalB (milliseconds) [1:65535] |
SIGNAL_B_PULSES |
int
|
Number of pulses (SignalB) [0;65535], 0-> infinite repeat |
SIGNAL_B_TAIL |
int
|
Wait time to start (milliseconds) (SignalB) [1;65535] |
EVENT_ENABLE |
int
|
Specifies the active events in the device |
MessageType
#
Bases: IntEnum
An enumeration of the allowed message types of a Harp message. More information on the MessageType byte of a Harp message can be found here.
Attributes:
Name | Type | Description |
---|---|---|
READ |
int
|
The value that corresponds to a Read Harp message (1) |
WRITE |
int
|
The value that corresponds to a Write Harp message (2) |
EVENT |
int
|
The value that corresponds to an Event Harp message (3). Messages of this type are only meant to be send by the device |
READ_ERROR |
int
|
The value that corresponds to a Read Error Harp message (9). Messages of this type are only meant to be send by the device |
WRITE_ERROR |
int
|
The value that corresponds to a Write Error Harp message (10). Messages of this type are only meant to be send by the device |
PayloadType
#
Bases: IntEnum
An enumeration of the allowed payload types of a Harp message. More information on the PayloadType byte of a Harp message can be found here.
Attributes:
Name | Type | Description |
---|---|---|
U8 |
int
|
The value that corresponds to a message of type U8 |
S8 |
int
|
The value that corresponds to a message of type S8 |
U16 |
int
|
The value that corresponds to a message of type U16 |
S16 |
int
|
The value that corresponds to a message of type S16 |
U32 |
int
|
The value that corresponds to a message of type U32 |
S32 |
int
|
The value that corresponds to a message of type S32 |
U64 |
int
|
The value that corresponds to a message of type U64 |
S64 |
int
|
The value that corresponds to a message of type S64 |
Float |
int
|
The value that corresponds to a message of type Float |
Timestamp |
int
|
The value that corresponds to a message of type Timestamp. This is not a valid PayloadType, but it is used to indicate that the message has a timestamp. |
TimestampedU8 |
int
|
The value that corresponds to a message of type TimestampedU8 |
TimestampedS8 |
int
|
The value that corresponds to a message of type TimestampedS8 |
TimestampedU16 |
int
|
The value that corresponds to a message of type TimestampedU16 |
TimestampedS16 |
int
|
The value that corresponds to a message of type TimestampedS16 |
TimestampedU32 |
int
|
The value that corresponds to a message of type TimestampedU32 |
TimestampedS32 |
int
|
The value that corresponds to a message of type TimestampedS32 |
TimestampedU64 |
int
|
The value that corresponds to a message of type TimestampedU64 |
TimestampedS64 |
int
|
The value that corresponds to a message of type TimestampedS64 |
TimestampedFloat |
int
|
The value that corresponds to a message of type TimestampedFloat |
ReplyHarpMessage
#
Bases: HarpMessage
A response message from a Harp device.
Attributes:
Name | Type | Description |
---|---|---|
payload |
Union[int, list[int]]
|
The message payload formatted as the appropriate type |
timestamp |
float
|
The Harp timestamp at which the message was sent |
is_error
property
#
Indicates if this HarpMessage is an error message or not.
Returns:
Type | Description |
---|---|
bool
|
Returns True if this HarpMessage is an error message, False otherwise. |
timestamp
property
#
The Harp timestamp at which the message was sent.
Returns:
Type | Description |
---|---|
float
|
The Harp timestamp at which the message was sent |
__init__(frame)
#
Parameters:
Name | Type | Description | Default |
---|---|---|---|
frame
|
bytearray
|
The Harp message in bytearray format |
required |
payload_as_string()
#
Returns the payload as a str.
Returns:
Type | Description |
---|---|
str
|
The payload parsed as a str |
Signals
#
Bases: IntFlag
Specifies the state of Signals
Attributes:
Name | Type | Description |
---|---|---|
SIGNAL_A |
int
|
No description currently available |
SIGNAL_B |
int
|
No description currently available |
harpdevice
#
Bncs
#
Bases: IntFlag
Specifies the state of BNCs
Attributes:
Name | Type | Description |
---|---|---|
BNC1 |
int
|
No description currently available |
BNC2 |
int
|
No description currently available |
DigitalOutputs
#
Bases: IntFlag
Specifies the state of port digital output lines.
Attributes:
Name | Type | Description |
---|---|---|
DO1 |
int
|
No description currently available |
DO2 |
int
|
No description currently available |
FrequencySelect
#
Bases: IntEnum
Selects laser frequency mode
Attributes:
Name | Type | Description |
---|---|---|
NONE |
int
|
No description currently available |
F1 |
int
|
No description currently available |
F2 |
int
|
No description currently available |
F3 |
int
|
No description currently available |
C_W |
int
|
No description currently available |
LaserDriverController
#
Bases: Device
LaserDriverController class for controlling the device.
read_bnc1_off()
#
Reads the contents of the Bnc1Off register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1Off register. |
read_bnc1_on()
#
Reads the contents of the Bnc1On register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1On register. |
read_bnc1_pulses()
#
Reads the contents of the Bnc1Pulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1Pulses register. |
read_bnc1_tail()
#
Reads the contents of the Bnc1Tail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc1Tail register. |
read_bnc2_off()
#
Reads the contents of the Bnc2Off register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2Off register. |
read_bnc2_on()
#
Reads the contents of the Bnc2On register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2On register. |
read_bnc2_pulses()
#
Reads the contents of the Bnc2Pulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2Pulses register. |
read_bnc2_tail()
#
Reads the contents of the Bnc2Tail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the Bnc2Tail register. |
read_bncs_state()
#
Reads the contents of the BncsState register.
Returns:
Type | Description |
---|---|
Bncs
|
Value read from the BncsState register. |
read_event_enable()
#
Reads the contents of the EventEnable register.
Returns:
Type | Description |
---|---|
LaserDriverControllerEvents
|
Value read from the EventEnable register. |
read_laser_frequency_select()
#
Reads the contents of the LaserFrequencySelect register.
Returns:
Type | Description |
---|---|
FrequencySelect
|
Value read from the LaserFrequencySelect register. |
read_laser_intensity()
#
Reads the contents of the LaserIntensity register.
Returns:
Type | Description |
---|---|
int
|
Value read from the LaserIntensity register. |
read_laser_state()
#
Reads the contents of the LaserState register.
Returns:
Type | Description |
---|---|
int
|
Value read from the LaserState register. |
read_output_clear()
#
Reads the contents of the OutputClear register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputClear register. |
read_output_set()
#
Reads the contents of the OutputSet register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputSet register. |
read_output_state()
#
Reads the contents of the OutputState register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputState register. |
read_output_toggle()
#
Reads the contents of the OutputToggle register.
Returns:
Type | Description |
---|---|
DigitalOutputs
|
Value read from the OutputToggle register. |
read_signal_a_off()
#
Reads the contents of the SignalAOff register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalAOff register. |
read_signal_a_on()
#
Reads the contents of the SignalAOn register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalAOn register. |
read_signal_a_pulses()
#
Reads the contents of the SignalAPulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalAPulses register. |
read_signal_a_tail()
#
Reads the contents of the SignalATail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalATail register. |
read_signal_b_off()
#
Reads the contents of the SignalBOff register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBOff register. |
read_signal_b_on()
#
Reads the contents of the SignalBOn register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBOn register. |
read_signal_b_pulses()
#
Reads the contents of the SignalBPulses register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBPulses register. |
read_signal_b_tail()
#
Reads the contents of the SignalBTail register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SignalBTail register. |
read_signal_state()
#
Reads the contents of the SignalState register.
Returns:
Type | Description |
---|---|
Signals
|
Value read from the SignalState register. |
read_spad_switch()
#
Reads the contents of the SpadSwitch register.
Returns:
Type | Description |
---|---|
int
|
Value read from the SpadSwitch register. |
write_bnc1_off(value)
#
Writes a value to the Bnc1Off register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1Off register. |
required |
write_bnc1_on(value)
#
Writes a value to the Bnc1On register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1On register. |
required |
write_bnc1_pulses(value)
#
Writes a value to the Bnc1Pulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1Pulses register. |
required |
write_bnc1_tail(value)
#
Writes a value to the Bnc1Tail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc1Tail register. |
required |
write_bnc2_off(value)
#
Writes a value to the Bnc2Off register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2Off register. |
required |
write_bnc2_on(value)
#
Writes a value to the Bnc2On register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2On register. |
required |
write_bnc2_pulses(value)
#
Writes a value to the Bnc2Pulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2Pulses register. |
required |
write_bnc2_tail(value)
#
Writes a value to the Bnc2Tail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the Bnc2Tail register. |
required |
write_bncs_state(value)
#
Writes a value to the BncsState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Bncs
|
Value to write to the BncsState register. |
required |
write_event_enable(value)
#
Writes a value to the EventEnable register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
LaserDriverControllerEvents
|
Value to write to the EventEnable register. |
required |
write_laser_frequency_select(value)
#
Writes a value to the LaserFrequencySelect register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
FrequencySelect
|
Value to write to the LaserFrequencySelect register. |
required |
write_laser_intensity(value)
#
Writes a value to the LaserIntensity register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the LaserIntensity register. |
required |
write_laser_state(value)
#
Writes a value to the LaserState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the LaserState register. |
required |
write_output_clear(value)
#
Writes a value to the OutputClear register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputClear register. |
required |
write_output_set(value)
#
Writes a value to the OutputSet register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputSet register. |
required |
write_output_state(value)
#
Writes a value to the OutputState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputState register. |
required |
write_output_toggle(value)
#
Writes a value to the OutputToggle register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
DigitalOutputs
|
Value to write to the OutputToggle register. |
required |
write_signal_a_off(value)
#
Writes a value to the SignalAOff register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalAOff register. |
required |
write_signal_a_on(value)
#
Writes a value to the SignalAOn register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalAOn register. |
required |
write_signal_a_pulses(value)
#
Writes a value to the SignalAPulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalAPulses register. |
required |
write_signal_a_tail(value)
#
Writes a value to the SignalATail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalATail register. |
required |
write_signal_b_off(value)
#
Writes a value to the SignalBOff register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBOff register. |
required |
write_signal_b_on(value)
#
Writes a value to the SignalBOn register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBOn register. |
required |
write_signal_b_pulses(value)
#
Writes a value to the SignalBPulses register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBPulses register. |
required |
write_signal_b_tail(value)
#
Writes a value to the SignalBTail register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SignalBTail register. |
required |
write_signal_state(value)
#
Writes a value to the SignalState register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Signals
|
Value to write to the SignalState register. |
required |
write_spad_switch(value)
#
Writes a value to the SpadSwitch register.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int
|
Value to write to the SpadSwitch register. |
required |
LaserDriverControllerEvents
#
Bases: IntFlag
Specifies the active events in the device
Attributes:
Name | Type | Description |
---|---|---|
EVENT_SPAD_SWITCH |
int
|
No description currently available |
EVENT_LASER_STATE |
int
|
No description currently available |
LaserDriverControllerRegisters
#
Bases: IntEnum
Enum for all available registers in the LaserDriverController device.
Attributes:
Name | Type | Description |
---|---|---|
SPAD_SWITCH |
int
|
Turns ON/OFF the relay to switch SPADs supply |
LASER_STATE |
int
|
State of the laser, ON/OFF |
LASER_FREQUENCY_SELECT |
int
|
Set the laser frequency |
LASER_INTENSITY |
int
|
Laser intensity value [0:255] |
OUTPUT_SET |
int
|
Set the specified digital output lines |
OUTPUT_CLEAR |
int
|
Clear the specified digital output lines |
OUTPUT_TOGGLE |
int
|
Toggle the specified digital output lines |
OUTPUT_STATE |
int
|
Write the state of all digital output lines |
BNCS_STATE |
int
|
Configure BNCs to start |
SIGNAL_STATE |
int
|
Configure Signals to start |
BNC1_ON |
int
|
Time ON of BNC1 (milliseconds) [1:65535] |
BNC1_OFF |
int
|
Time OFF of BNC1 (milliseconds) [1:65535] |
BNC1_PULSES |
int
|
Number of pulses (BNC1) [0;65535], 0-> infinite repeat |
BNC1_TAIL |
int
|
Wait time to start (milliseconds) (BNC1) [1;65535] |
BNC2_ON |
int
|
Time ON of BNC2 (milliseconds) [1:65535] |
BNC2_OFF |
int
|
Time OFF of BNC2 (milliseconds) [1:65535] |
BNC2_PULSES |
int
|
Number of pulses (BNC2) [0;65535], 0-> infinite repeat |
BNC2_TAIL |
int
|
Wait time to start (milliseconds) (BNC2) [1;65535] |
SIGNAL_A_ON |
int
|
Time ON of SignalA (milliseconds) [1:65535] |
SIGNAL_A_OFF |
int
|
Time OFF of SignalA (milliseconds) [1:65535] |
SIGNAL_A_PULSES |
int
|
Number of pulses (SignalA) [0;65535], 0-> infinite repeat |
SIGNAL_A_TAIL |
int
|
Wait time to start (milliseconds) (SignalA) [1;65535] |
SIGNAL_B_ON |
int
|
Time ON of SignalB (milliseconds) [1:65535] |
SIGNAL_B_OFF |
int
|
Time OFF of SignalB (milliseconds) [1:65535] |
SIGNAL_B_PULSES |
int
|
Number of pulses (SignalB) [0;65535], 0-> infinite repeat |
SIGNAL_B_TAIL |
int
|
Wait time to start (milliseconds) (SignalB) [1;65535] |
EVENT_ENABLE |
int
|
Specifies the active events in the device |
Signals
#
Bases: IntFlag
Specifies the state of Signals
Attributes:
Name | Type | Description |
---|---|---|
SIGNAL_A |
int
|
No description currently available |
SIGNAL_B |
int
|
No description currently available |