Lidar Data Legacy

Open in Claude

Warning: The LEGACY data packet format is deprecated in firmware v3.2. Use RNG19_RFL8_SIG16_NIR16 as the single-return replacement.

Set udp_profile_lidar to LEGACY to activate the legacy packet format.

Overview

In LEGACY mode, lidar packets consist of 16 Measurement Blocks and vary in size based on channel count. Packet rate depends on lidar mode. Words are 32 bits, little-endian. By default, lidar UDP data is forwarded to port 7502.

Lidar frames contain 512, 1024, or 2048 measurement blocks depending on lidar mode. Block count and order per frame are fully deterministic, enabling efficient lookup-table decoding in client software.

The LEGACY format has no separate packet header or packet footer. Each Measurement Block contains a Measurement Block Header, followed by one Channel Data Block per lidar channel, and ends with a 32-bit Measurement Block Status word.

Measurement Block Header

The 128-bit (4-word) Measurement Block Header replaces both the packet header and column header used in current formats.

WordMSBLSBFieldDescription
0310Timestamp LLow 32 bits of measurement timestamp in nanoseconds.
1310Timestamp HHigh 32 bits of measurement timestamp.
2150Measurement IDSequentially incrementing index from 0 to 511, 1023, or 2047 depending on lidar mode.
23116Frame ID16-bit lidar scan index. Increments each rotation at the zero azimuth crossing.
3230Encoder CountAzimuth angle as raw encoder count (0–90,111). Increments 44 ticks per angle in 2048 mode, 88 in 1024 mode, 176 in 512 mode. Will be deprecated in a future release.
33124Reserved

Channel Block

LEGACY Single Return

Each Measurement Block contains one 96-bit (3-word) Channel Data Block per lidar channel, followed by a 32-bit Measurement Block Status word.

  • Range [20 bit] — Range in millimeters, 1 mm resolution.
  • Bloom [1 bit] — Bloom indicator.
  • Reflectivity [8 bit] — Calibrated reflectivity: signal photons scaled by range and sensor sensitivity.
  • Signal [16 bit] — Signal intensity photons.
  • Near Infrared [16 bit] — Near-infrared photons from ambient environmental illumination.

Measurement Block Status [32 bits] — 0xFFFFFFFF = valid; 0x0 = padded (dropped or outside azimuth window). Channel data values are 0 when padded, but header values remain valid.

Packet Size Calculation

The table below shows the lidar data packet size breakdown for all products when LEGACY profile is configured. Since the size of the measurement block varies proportional to the number of channels in a sensor, all sensors with the same number of channels have the same lidar packet data structure and size.

ProductNumber of words in Measurement BlockSize of single Measurement Block (Bytes)Size of lidar packet (Bytes)
OS1-16532123,392
OS0-32, OS1-32, OS2-321014046,464
OS0-64, OS1-64, OS2-6419778812,608
OS0-128, OS1-128, OS2-1283891,55624,896

The table below calculates the data rate of all products operating at the highest lidar modes, 2048x10 or 1024x20, for LEGACY profile assuming a default azimuth window of 360°. Providing a custom azimuth window can further lower data rate. See the Azimuth Window section for details on setting a custom azimuth window.

ProductLEGACY Lidar packet size (Bytes)LEGACY Lidar packets rate (Hz)LEGACY Data Rate (Mbps)
OS1-163392128034.77
OS0-32, OS1-32, OS2-326464128066.23
OS0-64, OS1-64, OS2-64126081280129.14
OS0-128, OS1-128, OS2-128248961280254.97