Skip to content

Releases: instrumentkit/InstrumentKit

v0.2.0

23 Aug 13:34
Compare
Choose a tag to compare

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

24 Jun 04:14
Compare
Choose a tag to compare

This release brings several bug fixes for the USBTMCCommunicator class.

  • Accessing USBTMCCommunicator.timeout and USBTMCCommunicator.flush_input have both been implemented and no longer raise a NotImplementedError
  • Setting USBTMCCommunicator.terminator no longer results in a conversion error originating from the usbtmc library

v0.1.0

01 Jun 01:51
Compare
Choose a tag to compare
  • Adds support for multiple ACK messages
  • Fixes commands for the Topmode laser that send multiple ACK messages

v0.0.5

13 May 22:20
Compare
Choose a tag to compare
  • 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

05 May 03:18
Compare
Choose a tag to compare

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.