v0.17.1 (Live Reconfiguration & Quieter Logs)

View this release on GitHub → Release Date: August 07, 2026

A live-reconfiguration and log-noise release. Changing frame rate, field of view, or scan mode on a streaming sensor now hands off cleanly instead of producing a burst of warnings and malformed frames, routine sensor behavior no longer logs as if it were a fault, a hung MCU is no longer reported as healthy, and two more Carbon sensors gain default background-noise calibration.

Interface contract: carbon-interface v1.5.6 — unchanged from v0.17.0. Firmware compatibility: install FPGA v1.5.6 / MCU v4.1.0 with the v7.1.X bringup script / updater. This release also runs on the MCU v4.0.0 – v4.0.3 firmware v0.17.0 shipped against (v7.0.X updater), so an un-updated sensor is not blocked — but the excessive log output this release quiets came from the API and the sensor both, and v4.1.0 carries the sensor’s half of the fix. Not compatible with FPGA v1.3.3 / MCU v2.6.0 or older.

New Supported Units

  • Background noise calibration: default masks added for CAR-30-018 and CAR-30-019. Required to bring up these sensors through the compiled binaries (visualizer, CLI, Python/C++ bindings).

Behavior Changes

  • The point stream now recovers cleanly across a live reconfiguration. Changing frame rate, field of view, or scan mode changes how many ramps make up a frame. The pipeline previously kept pairing against the old frame length, which produced a burst of invalid-ramp-count warnings and malformed frames until it happened to resync. It now closes the in-flight frame at the change, discards ramps until the stream matches the sensor’s newly reported frame length, and resumes — reported once at info level instead of once per ramp at warning level. If the stream never conforms, it warns once and continues without ramp accounting rather than warning forever.
  • A hung or unbooted MCU is now reported as degraded. MCU liveness is judged from the MCU’s own counter alone. Previously a frozen counter was treated as “no signal” and the MCU was reported alive as long as heartbeat packets kept arriving — but those are driven by the FPGA’s watchdog, so a dead MCU was indistinguishable from a healthy one. The Voyant Visualizer’s heart now turns amber in that case.
  • The Voyant Visualizer’s Static Line Mode toggle is always available. It was hidden unless the sensor reported a firmware version new enough to support it; every supported firmware is past that point, so the check is gone.
  • Duplicate-ramp reporting no longer counts benign repeats. Ramp counts repeated by the sensor’s fallback liveness heartbeat are tallied separately and logged at debug level, so the duplicate-ramp warning and counter now reflect only real stream anomalies. Drop reports gained that count alongside a count of ramps discarded during reconfiguration.

Bug Fixes

  • Corrected the checksum on control packets sent to the sensor. The host stamped them with the wrong CRC variant (CRC-16/ARC rather than the CRC-16/XMODEM the sensor computes). The sensor never rejected a message over it, but its checksum-error telemetry flagged every packet the host sent, masking genuine link problems. Verified against captured hardware traffic.

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
v1.0.0
Previous release →
v0.17.0

Copyright © Voyant Photonics, Inc.

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