Voyant API 1.0.0
Loading...
Searching...
No Matches
PointDataV1 Struct Reference

#include <voyant_types_ffi.hpp>

Public Attributes

float range_m
float azimuth_rad
float elevation_rad
float doppler_mps
float snr
float calibrated_reflectance
uint32_t timestamp_nanosecs
uint16_t azimuth_idx
uint16_t elevation_idx
uint8_t drop_reason
uint8_t combine_method
uint8_t user_data [2]

Detailed Description

One point as written to .vynt recordings. 36 bytes, little-endian, frozen at v1.0.0.

All multi-byte fields are stored little-endian; big-endian targets are rejected at compile time (see file_format), so zerocopy casts never need to byte-swap.

(azimuth_idx = 0, elevation_idx = 0) is the top-left corner of the frame, matching camera image conventions (sensor frame: +x forward, +y left, +z up).

Member Data Documentation

◆ azimuth_idx

uint16_t PointDataV1::azimuth_idx

Scan column index, 0 at the leftmost column.

◆ azimuth_rad

float PointDataV1::azimuth_rad

Azimuth angle in radians, 0 at boresight, positive left (+y).

◆ calibrated_reflectance

float PointDataV1::calibrated_reflectance

Calibrated reflectance in dB.

◆ combine_method

uint8_t PointDataV1::combine_method

PeakCombineMethod discriminant: 0 = unknown, non-zero identifies how the point was produced. Always populated; externally documented only at that coarse level (per-value meanings are internal).

◆ doppler_mps

float PointDataV1::doppler_mps

Radial velocity in m/s, positive moving away from the sensor.

◆ drop_reason

uint8_t PointDataV1::drop_reason

DspDropReason discriminant: Valid = 1, any other value means the point was dropped. Externally documented only at that level (per-value meanings are internal).

◆ elevation_idx

uint16_t PointDataV1::elevation_idx

Elevation line index, 0 at the topmost line.

◆ elevation_rad

float PointDataV1::elevation_rad

Elevation angle in radians, 0 at boresight, positive up (+z).

◆ range_m

float PointDataV1::range_m

Range in meters, measured from the lidar datum.

◆ snr

float PointDataV1::snr

Linear (not dB) signal-to-noise ratio of the combined up/down chirp pair.

◆ timestamp_nanosecs

uint32_t PointDataV1::timestamp_nanosecs

Nanoseconds since frame start.

◆ user_data

uint8_t PointDataV1::user_data[2]

User-owned scratch bytes: opaque to the API, which never assigns them meaning. Zeroed on live capture; native PointFrameV1 I/O preserves them verbatim, but a recording converted from the pre-v1.0.0 format arrives with them zeroed. Also keeps the struct free of implicit padding.


The documentation for this struct was generated from the following file: