Skip to content

v0.5.1 — Rigol DS1054Z Oscilloscope Driver

Latest

Choose a tag to compare

@abduznik abduznik released this 18 Jul 08:28

What's Changed

Rigol DS1054Z Oscilloscope Driver (Closes #118)

  • Full SCPI driver for Rigol DS1054Z / MSO1000Z / DS1000Z series
  • Basic control: autoscale, clear, run/stop/single, force trigger
  • Acquisition config: type (NORMAL/AVERAGES/PEAK/HRESOLUTION), averages (2^n), memory depth, sample rate query
  • Channel config (1–4): display, coupling (AC/DC/GND), scale, offset, probe, bandwidth limit (20M/OFF), invert, units — all with set/get round-trips and input validation
  • Timebase: scale (s/div), offset, mode query
  • Edge trigger: source, slope (POS/NEG/RFALL), level, sweep mode (AUTO/NORMAL/SINGLE), status query
  • Waveform readout: preamble parsing (10-field Rigol format), unsigned WORD binary transfer, calibrated get_waveform(ch) returning (time, voltage) arrays via V=(raw-yref)*yinc+yor and t=(n-xref)*xinc+xor
  • Measurement helpers: frequency, duty cycle, Vpp, screenshot
  • IEEE-488.2: *IDN?, *RST, *CLS, *WAI, *OPC?
  • Registered via @register_driver('SCOPE') with factory auto-detection routing for Rigol IDN keywords

Tests

  • 52 unit tests (tests/test_rigol.py) with mocked PyVISA transport covering all SCPI commands, calibration math, boundary validation, and context manager lifecycle
  • 15 regression tests (tests/test_regression.py::TestRigolDS1054Z) covering preamble parsing, voltage conversion, time axis generation, channel/acquire/trigger/waveform validation

Bug Fixes

  • Fix pre-existing flaky test: test_simulated_keysight34461a_dmm — bumped resistance tolerance from delta=5.0 to delta=10.0 (noise sigma=2.0Ω, 2.5σ was failing ~1.1% of runs; now 5σ)

Docs

  • New docs/supported_instruments.md — complete list of all 21 supported instrument drivers across 8 brands with compatible model families
  • New docs/experiments/rigol_ds1054z.md — integration guide with connection, channel config, waveform readout, and acquisition examples
  • New examples/scope/rigol_ds1054z_waveform.py — standalone usage example
  • Updated mkdocs nav, API reference, index, README

Other

  • Version bumped to 0.5.1
  • 327 tests total (307 passed, 12 xfailed, 8 xpassed)

Full Changelog: v0.5.0...v0.5.1