Blackchirp 1.1.0
Blackchirp 1.1.0 is the final release of the v1.x line. It introduces
the overlay subsystem, the standalone blackchirp-viewer offline
visualization application, a theme-aware SVG icon set, a precision-
aware ScientificSpinBox widget, and expanded curve-appearance
controls in the FTMW plot. Several Sirah Cobra and Harvey Mudd LIF
hardware additions ship in this release alongside reliability fixes
across the overlay manager, sequence-mode aborts, the LIF tab, and
the MKS 946 pressure controller.
Highlights
Added the Overlays subsystem: catalog (SPCAT/XIAM), generic XY (CSV/text), and other-experiment overlays managed through a unified dialog and a sortable, drag-and-drop overlay table that persists per-experiment under the experiment directory. See Overlays.
Added
blackchirp-viewer, a standalone read-only application for inspecting completed experiments without bringing up hardware or acquisition. See Blackchirp Viewer.Migrated the icon set to scalable SVG using Heroicons with theme-aware colors that follow the active palette. See User Interface Overview.
Added a precision-aware
ScientificSpinBoxwith adaptive stepping and unit-suffix support, and overhauled the plot context menu with a curve-appearance submenu, alpha-channel color selection, and copy/paste of curve settings. See Plot Controls.Extended LIF hardware support, including Sirah Cobra compensator calibration updates and the additions required for the Harvey Mudd LIF instrument. See LIF Experiment Setup.
Build and distribution
Switched to the MIT license.
Migrated the source tree to C++20 and resolved deprecated Qt6 lambda captures.
Forced UTF-8 file encoding for sources and on-disk data files. See Installation.
Hardware drivers
The LIF experiment setup and LIF Configuration dialog pages cover the hardware additions in this section.
Added Sirah Cobra control updates and external-crystal-stage support tailored to the Harvey Mudd LIF instrument.
Added support for new Harvey Mudd LIF hardware types.
Cleaned up the
CommunicationProtocolinheritance graph for hardware drivers.
Acquisition and data flow
Added differential-backup viewing during a running experiment, showing the change between the current state and the most recent backup. See Viewing FTMW Data.
Multi-step acquisitions (LO scan, DR scan, LIF delay scan) now gate the digitizer between steps and discard potentially-stale waveforms after each transition. See Sequence Mode.
Pulse generators are now paused while the user edits experiment settings, preventing fired pulses during configuration. See Experiment Setup.
Experiments can be loaded from a path without specifying their number. See Data Storage.
Backups are viewable while an experiment is still running. See Viewing FTMW Data.
Overlays
The new overlay subsystem is documented end-to-end in Overlays; the bullets below summarize the visible additions.
Added the unified Overlay Dialog and Overlay Manager widget with type-specific configuration for
BCExpOverlay,CatalogOverlay, andGenericXYoverlays.Catalog overlays support SPCAT and XIAM input with optional Gaussian convolution, intelligent state tracking, and cancellable chunked computation.
Generic XY overlays auto-detect column layout from CSV and whitespace-separated text input.
Overlay table supports drag-and-drop reordering, sortable columns, per-row enable/disable, and an editable comment column.
Overlay rename supports a sanitization preview and collision-safe label protection.
Overlays can be filtered to a frequency range with cached results and dedicated range spin boxes; per-overlay autoscale is available alongside an overlay-aware autoscale on the FTMW plot.
Overlays persist asynchronously to disk under the experiment directory, integrated with the experiment lifecycle so reopening an experiment (in the main application or in the viewer) restores its overlays. See Data Storage.
Disk-loaded catalog overlays force a stick-plot rendering with convolution disabled to keep prior-experiment views faithful.
Starting a new experiment can copy overlays forward from the previous experiment.
User interface
Added the curve-appearance management system: per-curve type, alpha-channel color selection, autoscale attribute, copy/paste, and a preset manager with nine default presets. See Plot Controls.
Added the
ScientificSpinBoxwidget with precision-aware display and adaptive stepping. See User Interface Overview.Added the LIF delay-point randomization option. See LIF Experiment Setup.
Added a new transparent Blackchirp logo.
Added an LIF display refresh timer for smoother trace updates. See Viewing LIF Data.
Tooling
Added
blackchirp-viewer, a standalone read-only application for inspecting completed experiments. The viewer shares the main codebase, has no hardware or acquisition dependencies, and supports the FTMW, LIF, Tracking, and Log tabs along with overlays. See Blackchirp Viewer.
File formats and data storage
The FT header stored alongside FTMW experiments was extended. See Data Storage.
FTMW configuration is reset when the displayed experiment changes, so stale FT settings do not carry across files. See Viewing FTMW Data.
Bug fixes
Overlays.
Fixed crashes when starting a new experiment with an overlay open (2471b75e).
Fixed a segmentation fault in
FtmwViewWidgetdestruction (e455e08d).Fixed overlay label sanitization so comma-bearing labels no longer break the per-experiment CSV (3608d2a2).
Fixed validation and UI-interaction defects in the GenericXY overlay path (444b43d9, 8703c7f7).
Fixed path validation during overlay-widget initialization (3b856af3).
Fixed batch-paste and clipboard-contamination defects in the Overlay Manager (06a7686a).
Fixed curve-appearance initialization timing in the overlay settings dialog (81133fc7).
Fixed a validation bypass that allowed duplicate overlay labels (653c8708).
Fixed overlay appearance propagation by removing automatic preset application (357187c7).
Fixed inconsistencies in overlay creation, removal, and persistence (0feac4cc, b50820ce, 56996a05).
Fixed XIAM parser fixed-column parsing, including
ints=2mode, and group inheritance (ada63d26, 7ad95172).
Acquisition.
Fixed a UI lock when aborting a sequence experiment (641e4f95).
Fixed a thread-safety issue in
FtWorkercleanup that could surface as aQObject::startTimerwarning (0d4d63c9, c0fd5395).
Hardware.
Fixed a bug in the MKS 946 driver when enabling PID mode and added several follow-up MKS 946 fixes (8f37803b, eec074ae).
Fixed the QC9214 sync-channel bug (7183bd12).
Fixed a typo in the Sirah hardware code (06344407).
Fixed a minor Rigol DS2302A scope issue (6f5d4fa1).
LIF.
Bundled LIF storage, trace-display, and spectrogram-plot fixes along with M4i-2211-x8 fixes (65385b9d).
Fixed the LIF trace display on the LIF control widget (5e2eeccc).
Python module.