Repository navigation
Releases: ograsdijk/precilaser
Releases · ograsdijk/precilaser
Release list
v0.2.1
Fixes a hang when toggling amplifier power stabilization.
enable_power_stabilization/disable_power_stabilizationwaited for anAMP_ENABLEreturn frame that the device never sends; they now wait forAMP_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_replyand_read_until_buffer_emptynow take a wall-clocktimeout(DEFAULT_REPLY_TIMEOUT, 2 s) and raiseTimeoutErrorinstead of looping indefinitely.
Full changes: #5
v0.2.0
Major modernization release.
Highlights
- Serial backend: migrated from pyvisa to pyserial (
serial.Serial) with a finite read timeout, short-read detection, resync, andclose()/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_messagenow raisesValueError(notTypeError) on checksum/xor mismatch;Endianliteral 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.