Skip to content

Releases: ograsdijk/precilaser

Release list

v0.2.1

Choose a tag to compare

@ograsdijk ograsdijk released this 09 Sep 22:24
ab1409b

Fixes a hang when toggling amplifier power stabilization.

  • enable_power_stabilization / disable_power_stabilization waited for an AMP_ENABLE return frame that the device never sends; they now wait for AMP_POWER_STAB. Previously the call spun forever, since the amplifier's ~300 ms status broadcast keeps the pyserial read timeout from ever firing.
  • _read_until_reply and _read_until_buffer_empty now take a wall-clock timeout (DEFAULT_REPLY_TIMEOUT, 2 s) and raise TimeoutError instead of looping indefinitely.

Full changes: #5

v0.2.0

Choose a tag to compare

@ograsdijk ograsdijk released this 11 Jun 18:50

Major modernization release.

Highlights

  • Serial backend: migrated from pyvisa to pyserial (serial.Serial) with a finite read timeout, short-read detection, resync, and close()/context-manager support.
  • Packaging: switched from Poetry to uv (PEP 621 + uv_build); requires-python >=3.11.
  • Tests: expanded from 4 to 24 (serial layer, checksums, amplifier handlers, message failure paths).
  • Fixes: decompose_message now raises ValueError (not TypeError) on checksum/xor mismatch; Endian literal typing; removed a dead read in the seed wavelength setter.
  • CI/CD: GitHub Actions CI (pytest matrix 3.11–3.13 × ubuntu/windows + ruff & mypy) and PyPI publish via OIDC trusted publishing.