Releases: instrumentkit/InstrumentKit
v0.2.0
This release features some bug fixes for the Toptica Topmode, multicharacter termination string support, and the ability to open a serial connection via Instrument.open_serial
with USB identification numbers to better support USB-to-Serial adapters.
Change Log
New Features
General
- Support for multicharacter termination strings. Some instruments use Windows-style line endings (
\r\n
) as their end-of-string signal. These changes allow serial, socket, and loopback connections to now use arbitrary length line endings. For VXI11 connections, a warning is raised since the parent library (python-vxi11
) only ends up using the first character of the termination string provided. Other connections previously supported multicharacter termination (for example,Instrument.open_gpibusb
supported\r\n
) so now everything should be more in line. - One can now open a connection via
Instrument.open_serial
with the USB identification numbers (VID, PID, and serial number). This allows for more easier and consistent operation with instruments that use some sort of USB-to-Serial conversion. By specifying these identifiers instead of the COM port (ie,COM4
,/dev/ttyUSB0
,/dev/ttyACM0
, etc, depending on platform and vendor) you can be confident that your software will continue to work, even if the virtual serial port name changes.
Toptica Topmode
- adding the udev rule
- adding firmware and topmode charm controller serial number
- adds the ability to query the firmware and serial number of the charm controller (not to be confused with the serial number of the laser)
Bug Fixes
Toptica Topmode
- fixing a command spelling error
- handling the situation when no laser is plugged into the controller
- module now uses multichar \r\n instead of \n with string manipulations
- laser.lock_start, property checks whether the lock has successfully completed or is in process before returning the start time so that empty dates are not returned.
- laser.first_mode_hop_time and laser.latest_mode_hop_time properties check whether a mode hop has been detected before querying these times so that empty dates are not returned.
- removes the runtime error from laser.is_connected property. If the laser is not connected, it simply returns false.
- fixes the date format of the dates returned by the charm controller.
v0.1.1
This release brings several bug fixes for the USBTMCCommunicator
class.
- Accessing
USBTMCCommunicator.timeout
andUSBTMCCommunicator.flush_input
have both been implemented and no longer raise aNotImplementedError
- Setting
USBTMCCommunicator.terminator
no longer results in a conversion error originating from theusbtmc
library
v0.1.0
- Adds support for multiple ACK messages
- Fixes commands for the Topmode laser that send multiple ACK messages
v0.0.5
- Small changes for the Qubitekk
CC1
to handle the ACK functionality added in firmware 2.2 - More unit tests for the
Instrument
class
v0.0.4: Merge pull request #113 from Galvant/fix_read_timeout
This release includes a fix for serial and socket connections where reads would cause an infinite loop if the connection is timing out. This was caused by the endless search for a termination character which was not being returned by a connection which was timing out.
This also fixes a problem with VISA connections, where reading a specific number of bytes could result in an infinite loop if the instrument stops responding.