|
Voyant API 1.0.0
|
#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] |
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).
| uint16_t PointDataV1::azimuth_idx |
Scan column index, 0 at the leftmost column.
| float PointDataV1::azimuth_rad |
Azimuth angle in radians, 0 at boresight, positive left (+y).
| float PointDataV1::calibrated_reflectance |
Calibrated reflectance in dB.
| 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).
| float PointDataV1::doppler_mps |
Radial velocity in m/s, positive moving away from the sensor.
| 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).
| uint16_t PointDataV1::elevation_idx |
Elevation line index, 0 at the topmost line.
| float PointDataV1::elevation_rad |
Elevation angle in radians, 0 at boresight, positive up (+z).
| float PointDataV1::range_m |
Range in meters, measured from the lidar datum.
| float PointDataV1::snr |
Linear (not dB) signal-to-noise ratio of the combined up/down chirp pair.
| uint32_t PointDataV1::timestamp_nanosecs |
Nanoseconds since frame start.
| 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.