v0.12.2 (Link Health & Non-Blocking SDL)

View this release on GitHub → Release Date: June 11, 2026

This release adds a visualizer control-link health indicator, raw peak capture, and non-blocking SDL reconfiguration while streaming.

Interface contract: carbon-interface v1.3.3 — unchanged from v0.12.1. Exact interface contract version matches are still required for the register/RAM access that time sync depends on. Firmware compatibility: v5.0.X and v5.1.X. Unchanged from v0.12.1.

New Features

Connectivity indicator in the visualizer

While the sensor is idle, the visualizer now shows a live control-link health indicator derived from the success rate of register reads — at a glance you can tell whether the link is solid enough to push a calibration or firmware transfer before starting one. The check pauses automatically while the sensor is streaming.

If the indicator reports a bad link, try the following before escalating:

  1. Keep the connection active.
  2. Power cycle the sensor.
  3. Watch whether the indicator improves.
  4. Reconnect through the visualizer (without closing it).

Repeat this cycle a few times; if the link still does not recover, escalate.

Raw peak capture

The visualizer can now dump the raw peak stream to CSV alongside live viewing. The dump_peaks CLI gains a --max-frames limit to stop after a set number of whole frames (complementing the existing --max-peaks).

Non-blocking SDL reconfiguration

A new orchestrated SDL call applies an SDL change while streaming without blocking the caller — settings are applied in Idle and PointCloud is then resumed automatically. This lets real-time callers (such as the visualizer) change frame rate, FOV, or bandwidth mid-stream. The blocking path remains the simple option when blocking is acceptable.

Behavior Changes

Peak dumps are now frame-aligned by default

A peak dump now begins at the first frame boundary and ends on a whole frame, so captured files start and stop cleanly on frame edges rather than mid-frame. Pass --no-frame-align to dump_peaks to dump every peak immediately as before.

SDL command timeouts are now enforced per command

Because a PointCloud request is applied as a two-step transition (settings in Idle, then resume PointCloud), the CarbonConfig.sdl.timeout_sec timeout now applies to each step. A PointCloud request can therefore take up to roughly twice that timeout to confirm.

Documentation

For comprehensive documentation, examples, and installation instructions, visit our documentation site.

Feedback

We value your feedback! If you encounter issues or have suggestions for improvements, please see our troubleshooting guide for the best options for getting in touch with us.

← Next release
v0.13.0
Previous release →
v0.12.1

Copyright © Voyant Photonics, Inc.

This site uses Just the Docs, a documentation theme for Jekyll.