Skip to content

v0.14.0

Choose a tag to compare

@kyle-the-voyant kyle-the-voyant released this 29 Jun 21:01
9c2d7f2

v0.14.0

Interface contract: carbon-interface v1.3.3 — required for the entire API (unchanged from v0.13.x; earlier versions lack signed register/RAM access).
Firmware compatibility: MCU v2.4.0+ is supported for normal operation. Linescan mode requires MCU v2.5.0+. Note that firmware older than v2.6.0 does not report its version in the heartbeat — it shows v0.0.0 — so the visualizer can only offer linescan once it positively confirms v2.6.0+. Through the Python, C++, and CLI bindings (which do not gate on version), linescan works on v2.5.0+.

New Features

  • Linescan mode. A new static-line scan mode: the beam parks at a fixed center position (horizontal FOV pinned to 0°) and scans a single vertical line at a firmware-fixed line rate (900 fps), instead of sweeping a frame. Useful for high-rate measurement along a single axis. Available across the Python, C++, and CLI bindings (SdlCommand.linescan(...) in Python) and selectable in the visualizer.

    Current limitations:

    • Requires MCU firmware v2.5.0+. Because firmware before v2.6.0 does not report its version, the visualizer only enables linescan once it confirms v2.6.0+; on anything it cannot identify, the option is hidden.
    • Centered only. Beam steering for linescan is temporarily unsupported — the sensor always centers the line — so a non-zero FOV center is rejected. The visualizer's FOV-center slider has been removed accordingly.
    • No frame-rate control. The line rate is fixed by firmware; the frame-rate setting is ignored in this mode.

Breaking Changes

  • Ramp length can no longer be set through the bindings. Ramp length is now firmware-controlled and fixed; the setter has been removed from the Python/C++ SDL command surface. Code that set ramp length must drop that call.

Behavior Changes

  • Default sensor address is now 192.168.1.100 (CLI, config, and visualizer defaults).
  • FOV/FPS validation now matches firmware. The SDL command path accepts only the FOV/frame-rate combinations the firmware actually supports, rejecting invalid combos up front instead of letting the sensor refuse them.

Other Changes

  • Calibration: less aggressive default whitening for box 004; new default whitening mask for box 002.