Get desktop application:
View/edit binary Protocol Buffers messages
* > Introduced in BSL v2.11 and firmware v1.11 Expert parameters: It is not recommended to adapt this calibrated configuration without understanding the influences on the resulting point cloud quality. The current set of parameters is preliminary, additional parameters may be added or may get obsolete in the future.
Used in: ,
Refer to [Detector](#blickfeld.protocol.config.Advanced.Detector)
<blockquote>Introduced in BSL v2.12 and firmware v1.12</blockquote> Refer to [Processing](#blickfeld.protocol.config.Advanced.Processing)
<blockquote>Introduced in BSL v2.13 and firmware v1.13</blockquote> Refer to [Server](#blickfeld.protocol.config.Advanced.Server)
<blockquote>Introduced in BSL v2.18 and firmware v1.19</blockquote> Refer to [TimeSynchronization](#blickfeld.protocol.config.Advanced.TimeSynchronization)
* The behavior of the detector can be adjusted to improve the performance under extreme environmental conditions, e.g. static setup with strong daylight or basement rooms without daylight.
Used in:
Relatively influences the sensitivity of the detector. Higher values might also result into range loss. It is recommended to validate the noise filter parameters after changes to this setting.
* > Introduced in BSL v2.12 and firmware v1.12 Processing parameters are set at the factory after calibration. Changing these values invalidates the factory calibration.
Used in:
in [m]
<blockquote>Introduced in BSL v2.19 and firmware v1.20</blockquote> in [rad] - Offset rotation matrix for acceleration of IMU. Can be used to calibrate the accelerometer e.g. on a flat surface.
<blockquote>Introduced in BSL v2.19.5 and firmware v1.21.1</blockquote> in [s] - Correction for phase offset in the horizontal field of view. This parameter might be adjusted in the field if the upper and lower half of the frame drifted horizontally.
* > Introduced in BSL v2.13 and firmware v1.13 Parameters, which control the server behavior.
Used in:
Overwrite default point cloud subscription. Can still be overridden with client requests.
* > Introduced in BSL v2.18 and firmware v1.19 Activate or deactivate synchronization and change parameters
Used in:
If this field is set, NTP synchronization is activated, which is the default configuration. Refer to [NTP](#blickfeld.protocol.config.Advanced.Synchronization.NTP)
If this field is set, PTP synchronization is activated and NTP synchronization is deactivated. Refer to [PTP](#blickfeld.protocol.config.Advanced.Synchronization.PTP)
* The Blickfeld devices can use an NTPv4 client to synchronize the local device time to a time server. NTP can achieve synchronization accuracy below one millisecond for measurement results in local networks.
Used in:
Specify list of NTP server. By default, debian pool NTP servers are used.
* The Blickfeld devices can use a PTP client to synchronize the local device time to a time server. PTP can achieve an higher accuracy than NTP in local networks.
Used in:
PTP domain number.
Delay detection mode used
Specify unicast slave addresses for unicast master operation, or unicast master addresses for slave operation. If this is set unicast mode will be activated.
Used in:
End to end delay detection
Peer to peer delay detection
* > Introduced in BSL v2.17 and firmware v1.18 This section describes configuration of on-device algorithms.
Used in:
Refer to [BackgroundSubtraction](#blickfeld.protocol.config.Algorithm.BackgroundSubtraction)
Refer to [NeighborFilter](#blickfeld.protocol.config.Algorithm.NeighborFilter)
Refer to [StaticTransformation](#blickfeld.protocol.config.Algorithm.StaticTransformation)
* > Introduced in firmware v1.16 This message configures the background subtraction. The algorithm uses a configurable number of reference frames to estimate static points (background) in the scene. Once the number of reference frames are processed, it removes all static points from the point cloud output. The resulting point cloud then only contains the non-static points (foreground). Points that are a initially part of the foreground and but then stop moving, will be added to the background and thus disappear after a certain amount of time, which is given by the exponential decay rate parameter. Conversely, if an object that is already part of the background suddenly starts moving, it will be added to the foreground.
Used in:
Number of frames to initialize the background with
Controls how fast objects switch between foreground and background. Exponential decay factor.
* > Introduced in firmware v1.18 The neighbor filter is a simple noise filter, which uses neighboring returns in the scan pattern to decide if returns should be filtered. The algorithm iterates through all returns and removes all, which have zero neighbors. A neighbor return must be: - directly to the left / to the right / above / below the current return in the scan pattern - close to the current return. The maximum range, used for this condition, is defined by the angle spacing of the scan pattern and the range of the current return. As with higher distance, neighboring returns are expected to be further away. No parameters can be configured at the moment.
Used in:
(message has no fields)
* > Introduced in firmware v1.18 This message configures a static geometric transformation. The algorithm applies a static rotation and translation to the point cloud output. The rotation matrix **R** is expected to be a 3 x 3 matrix serialized in row major order. Rotation in matrix representation: | | R | | | --- | --- | --- | | r<sub>1,1</sub> | r<sub>1,2</sub> | r<sub>1,3</sub> | | r<sub>2,1</sub> | r<sub>2,2</sub> | r<sub>2,3</sub> | | r<sub>3,1</sub> | r<sub>3,2</sub> | r<sub>3,3</sub> | Rotation in serialized representation: **R** = [r<sub>1,1</sub>, r<sub>1,2</sub>, ... r<sub>3,2</sub>, r<sub>3,3</sub>] The translation vector **T** is expected to be a 3 x 1 vector. Translation in vector representation: | T | | --- | | t<sub>1</sub> | | t<sub>2</sub> | | t<sub>3</sub> | Translation in serialized representation: **T** = [t<sub>1</sub>, t<sub>2</sub>, t<sub>3</sub>] = [x, y, z]
Used in:
rotation matrix **R** in serialized representation.
translation vector **T** in serialized representation.
Internal generate targets
* Internal use only
Used in:
* > Introduced in BSL v2.15 and firmware v1.16 Named scan patterns are saved on the device. There are two kinds of named scan patterns: 1. Default scan patterns: Each device has default scan patterns, these are saved on the device with the firmware. They are not changeable. 2. Custom scan patterns: Users can save scan patterns on the device for later use. If the scan pattern is saved as a named scan pattern, the time changing to this scan pattern will greatly decrease.
Used in:
The name has to be different of the default scan patterns and can only contain letters, numbers, space, underscore and minus.
Scan pattern config, refer to [ScanPattern](#blickfeld.protocol.config.ScanPattern)
this is an read_only flag and it will be set if this is a default scan pattern, which can't be changed or deleted.
* Product variant
Used in:
* The scan pattern defines the movement of the mirrors. The key parameters of the pattern are the horizontal and vertical fields of view (FoV) as well as the number of scan lines per frame. The frame rate is defined by the total number of scan lines and the oscillation frequency of the mirrors which is fixed and device-spcific. For a more detailed explanation, see: [Scan Pattern documentation](Scan_Pattern)
Used in: , , , , , , , ,
Refer to [ScanPattern.Horizontal](#blickfeld.protocol.config.ScanPattern.Horizontal)
Refer to [ScanPattern.Vertical](#blickfeld.protocol.config.ScanPattern.Vertical)
Refer to [ScanPattern.Pulse](#blickfeld.protocol.config.ScanPattern.Pulse)
Refer to [ScanPattern.FrameRate](#blickfeld.protocol.config.ScanPattern.FrameRate)
<blockquote>Introduced in BSL v2.11 and firmware v1.11</blockquote> Refer to [Filter](#blickfeld.protocol.config.ScanPattern.Filter)
* > Introduced in BSL v2.10 and firmware v1.9 Filter points and returns by point attributes during the post-processing on the device. This can be used to e.g. filter points with low intensity or to enable secondary returns.
Used in: ,
Set maximum number of returns per point. By default, secondary returns are disabled. Set this, e.g. to 2, to enable secondary returns.
Filter all points, which intensity values are not within this value range.
Filter all points, which ambient light level values are not within this value range.
Filter all points, which range values are not within this value range.
<blockquote>Introduced in BSL v2.11 and firmware v1.11</blockquote> Refer to [Filter.Noise](#blickfeld.protocol.config.ScanPattern.Filter.Noise)
<blockquote> Introduced in BSL v2.16 and firmware v1.17</blockquote> All points without any returns are filtered if this setting is true. With active algorithms, such as background subtraction, this can reduce the bandwidth significantly. <br> Note: It is recommended to not estimate required network bandwidths when this setting is active. In scenarios, where from one frame to another, all points have returns (e.g. due to environmental changes), the peak bandwidths might increase significantly. This could result, in these scenarios, in frame losses.
* > Introduced in BSL v2.11 and firmware v1.11 This is a preliminary interface to control the noise filter on the device. All points, which have a lower intensity than the minimum intensity calculated by this filter will be filtered out. > Changed in firmware v1.15. Please re-adjust filter configurations in scan patterns. The internal algorithm implements a non-linear function, which describes the noise level for different ambient light levels. The function can be scaled with the gain and shifted with the offset. > Before firmware v1.15 The formula is: minimum_intensity = offset + gain * point.ambient_light_level, where the point.ambient_light_level is the ambient light level of the point the laser shoots at.
Used in:
Can be seen as minimum intensity filter, if there is no ambient light.
The gain scales a non-linear function, which uses the ambient light level of the point the laser shoots at, as an input.
<blockquote>Introduced in BSL v2.17 and firmware v1.18</blockquote> This flag can be used to disable the internal noise filter completely. By default, the noise filter is enabled.
* This section defines the target frame rate for synchronization between several LiDAR devices. The feature is described in the [Time synchronization documentation](Sync).
Used in:
Target frame rate during synchronization between several LiDAR devices
Read-only parameter for maximum achievable frame rate.
* In [s]. Adds a constant value to the Unix reference time, starting from 00:00:00 UTC on January 1, 1970. It can be used to compensate delays or to interleave LiDAR devices. Default: 0
* This section defines the movement of the horizontal mirror. The mirror moves continuously with its own frequency. Each half-oscillation period of the mirror results in one scan line.
Used in:
* Unit: [rad] – optical field of view of the horizontal mirror. Note: In v2.2* and below, this was defined as a mechanical FoV.
* This section defines the pattern in which the laser pulses and captures sample points
Used in:
* Unit: [rad] – This defines the angle within which the horizontal mirror moves between two laser pulses. This parameter therefore defines the horizontal sampling resolution.
Refer to [ScanPattern.Pulse.Type](#blickfeld.protocol.config.ScanPattern.Pulse.Type)
Refer to [ScanPattern.Pulse.FrameMode](#blickfeld.protocol.config.ScanPattern.Pulse.FrameMode)
* This parameter defines whether the distortion correction is applied when calculating the laser pulse angles. Default: True
<blockquote>Introduced in BSL v2.15 and firmware v1.16</blockquote> Refer to [ScanPattern.Pulse.Custom](#blickfeld.protocol.config.ScanPattern.Pulse.Custom)
> Introduced in BSL v2.15 and firmware v1.16 Custom scan pattern configuration. Required for different use cases, as e.g. angle triggers, point triggers, or detector recordings.
Used in:
Allows to trigger based on horizontal angles.
Used in:
List of angles
Used in:
in [rad]
Define in which scanline the trigger should occur, if none is given, it will trigger in all scanlines
Specify duration for trigger type in seconds.
Used in:
in [s]
in [s]
Set point triggers for the normal equi-distant horizontal scan pattern.
Used in:
Used in:
Define which point ID should be triggered
List of available device triggers.
Used in: ,
External output pin, routed to TEST0 on the debug board.
External output pin, routed to TEST1 on the debug board.
Internal detector recording, which can retrieved with the detector stream.
Trigger laser.
* Because of the mirrors oscillating and the resulting Lissajous curve, it is not possible to pulse in a completely arbitrary pattern. A frame always starts with a phase in which the vertical mirror increases its amplitude (up-ramping). It is followed by a second phase, in which it decreases its amplitude until it no longer moves (down-ramping). It is possible to pulse in both phases. There are four different options to pulse:
Used in:
* The device pulses in the up-ramping and down-ramping phases and one frame is created by combining the resulting sample points.
* The device pulses in the **up-ramping** phase and **does not** pulse in the **down-ramping** phase.
* The device is **does not** pulse in the **up-ramping** phase and pulses in the **down-ramping** phase.
* The device pulses in the up-ramping and down-ramping phases and one frame for each phase is created.
* The device pulses depending on the mirror positioning. Currently, only pulse triggering on the horizontal angle is supported. The laser pulses are emittet with the configured angular spacing.
Used in:
The laser is triggered depending on the horizontal angle of the laser beam with the configured angle spacing.
Reserved for future use. Not yet supported.
Internal feature for custom scan patterns
The laser is triggered depending on the horizontal angle of the laser beam with the configured angle spacing. Scanlines are shifted by angle_spacing/4 with alternate directions. This doubles the horizontal density with the COMBINE_UP_DOWN FrameMode and efficiently uses the down-ramp phase in the inner horizontal FoV.
* This section defines the movement of the vertical mirror within one frame. The mirror moves for from 0 degrees to the configured target FoV (up-ramping phase) and back to 0 degrees (down-ramping phase) with its eigenfrequency. The number of scanlines for each phase can be configured. Due to the dynamics of the mirror, a certain number of scan lines are required to reach the target FoV and then to reach 0 degrees again. Consequently, if the limit is reached, a lower number of scan lines requires a reduced FoV. Thus, a higher number of scan lines allows a larger vertical FoV. The vertical FoV is limited by the optical components. Note: Due to the time required for one scan line, the rounded even number of scan lines directly scales inverse proportionally with65t the frame rate. For a more detailed explanation, see: [Scan Pattern documentation](Scan_Pattern)
Used in:
* Unit: [rad] – FoV in the center of the frame. Due to the eye shape of the scan pattern, the vertical FoV decreases the outer boundaries of the horizontal mirror.
* Configures the number of scan lines required for the up-ramping phase. During the up-ramping phase, the vertical mirror increases its amplitude from 0 degrees to the target FoV. Default: 200
* Configures the amount of scan lines required for the down-ramping phase. During the down-ramping phase, the vertical mirror decreases its amplitude from the target FoV to 0 degrees. Default: 30
Used in:
do NOT change enum labels, they are used as strings in ssl certs
Used in: