package blickfeld.protocol.config

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Advanced

advanced.proto:15

* > 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: Request.SetAdvancedConfig, Response.GetAdvancedConfig

message Advanced.Detector

advanced.proto:20

* 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: Advanced

message Advanced.Processing

advanced.proto:29

* > 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: Advanced

message Advanced.Server

advanced.proto:40

* > Introduced in BSL v2.13 and firmware v1.13 Parameters, which control the server behavior.

Used in: Advanced

message Advanced.TimeSynchronization

advanced.proto:49

* > Introduced in BSL v2.18 and firmware v1.19 Activate or deactivate synchronization and change parameters

Used in: Advanced

message Advanced.TimeSynchronization.NTP

advanced.proto:54

* 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: TimeSynchronization

message Advanced.TimeSynchronization.PTP

advanced.proto:62

* 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: TimeSynchronization

enum Advanced.TimeSynchronization.PTP.DelayMechanism

advanced.proto:63

Used in: PTP

message Algorithm

algorithm.proto:13

* > Introduced in BSL v2.17 and firmware v1.18 This section describes configuration of on-device algorithms.

Used in: stream.Subscribe.PointCloud

message Algorithm.BackgroundSubtraction

algorithm.proto:27

* > 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: Algorithm

message Algorithm.NeighborFilter

algorithm.proto:47

* > 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: Algorithm

(message has no fields)

message Algorithm.StaticTransformation

algorithm.proto:87

* > 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: Algorithm

message Generate

generate.proto:5

enum Generate.Targets

generate.proto:10

* Internal use only

Used in: Generate

message NamedScanPattern

named_scan_pattern.proto:15

* > 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: Response.GetNamedScanPatterns

enum Product

product.proto:8

* Product variant

Used in: Response.Hello

message ScanPattern

scan_pattern.proto:15

* 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: Request.FillScanPattern, Request.SetScanPattern, Request.StoreNamedScanPattern, Response.FillScanPattern, Response.GetScanPattern, NamedScanPattern, data.Frame, file.PointCloud.Footer.Event, status.Scanner

message ScanPattern.Filter

scan_pattern.proto:219

* > 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: ScanPattern, stream.Subscribe.PointCloud

message ScanPattern.Filter.Noise

scan_pattern.proto:236

* > 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: Filter

message ScanPattern.FrameRate

scan_pattern.proto:202

* 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: ScanPattern

message ScanPattern.Horizontal

scan_pattern.proto:21

* 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: ScanPattern

message ScanPattern.Pulse

scan_pattern.proto:70

* This section defines the pattern in which the laser pulses and captures sample points

Used in: ScanPattern

message ScanPattern.Pulse.Custom

scan_pattern.proto:125

> 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: Pulse

message ScanPattern.Pulse.Custom.AngleTrigger

scan_pattern.proto:147

Allows to trigger based on horizontal angles.

Used in: Custom

message ScanPattern.Pulse.Custom.AngleTrigger.Angle

scan_pattern.proto:148

Used in: AngleTrigger

message ScanPattern.Pulse.Custom.Duration

scan_pattern.proto:139

Specify duration for trigger type in seconds.

Used in: Custom

message ScanPattern.Pulse.Custom.PointTrigger

scan_pattern.proto:160

Set point triggers for the normal equi-distant horizontal scan pattern.

Used in: Custom

message ScanPattern.Pulse.Custom.PointTrigger.Point

scan_pattern.proto:161

Used in: PointTrigger

enum ScanPattern.Pulse.Custom.Trigger

scan_pattern.proto:129

List of available device triggers.

Used in: AngleTrigger.Angle, PointTrigger.Point

enum ScanPattern.Pulse.FrameMode

scan_pattern.proto:96

* 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: Pulse

enum ScanPattern.Pulse.Type

scan_pattern.proto:78

* 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: Pulse

message ScanPattern.Vertical

scan_pattern.proto:44

* 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: ScanPattern

message Secure

secure.proto:5

enum Secure.CertType

secure.proto:15

Used in: Secure

enum Secure.Permissions

secure.proto:9

do NOT change enum labels, they are used as strings in ssl certs

Used in: Secure