Proto commits in Blickfeld/blickfeld-scanner-lib

These 22 commits are when the Protocol Buffers files have changed:

Commit:daf2f53
Author:Blickfeld Developers

Public-Auto-release: v2.20.1 # Changed * Minor improvements on error descriptions

The documentation is generated from this commit.

Commit:a461721
Author:Blickfeld Developers

Public-Auto-release: v2.20.0 # Added * [closes #34915, #40093] Client times out after 30 seconds and throws a ConnectionAbort error. Developers should check the error handling examples. # Changed * Fix deprecation warnings with newer CMake versions * Update googletest to latest release

Commit:30898c5
Author:Blickfeld Developers

Public-Auto-release: v2.19.5 # Changed * [refs #30462] Protocol: Add advanced parameter to configure horizontal phase offset * Bugfix: Enforce Protobuf v3.17.1 in external CMake build due to linking errors in v3.17.2

Commit:efdd1a9
Author:Blickfeld Developers

Public-Auto-release: v2.19.0 # Added * Doc: Add descriptions and source code of Python and C++ examples * Python: Example script for IMU calibration * Protocol: Advanced calibration configuration for static IMU accelerometer offset

Commit:3dd3eb4
Author:Blickfeld Developers

Public-Auto-release: v2.18.1 # Changed * Protocol: Do not enforce new status fields

Commit:58298b2
Author:Blickfeld Developers

Public-Auto-release: v2.18.0 # Added * [Introduced in firmware v1.19] Support for on-board IMU stream. Accelerometer and gyroscope data is provided with approx. 1 kHz and synchronized timestamps. * [Introduced in firmware v1.19] Support for PTPv2 time synchronization * Protocol: Status message and state of time synchronization # Changed * Python: Re-worked time synchronization interface. Advanced configuration is used with up-to-date devices. # Removed * Protocol: Remove advanced `classification_threshold` of background subtraction algorithm

Commit:320247f
Author:Blickfeld Developers

Public-Auto-release: v2.17.2 # Added * Mockup-server, which can simulate a Blickfeld scanner by reading a point cloud recording. The implementation is currently **incomplete**, please read the documentation in the source code and the C++ server example. # Changed * Protocol: Improved documentation of algorithms * Python: Extended set_default_point_cloud_algorithms with static transformation

Commit:764ac8d
Author:Blickfeld Developers

Public-Auto-release: v2.17.0 # Added * [Introduced in firmware v1.18] Algorithm API with three on-device processing algorithms: Background subtraction, neighbour noise filter, and static transformation. * [Introduced in firmware v1.18] Option to disable the noise filter in the scan pattern configuration

Commit:c3c0543
Author:Blickfeld Developers

Public-Auto-release: v2.16.1 # Added * Python: Structured numpy interface flag is now available for file streams # Changed * Bugfix: Do not enforce the legacy serial number for hardware modules * API: Rename filter `points_with_no_returns` to `delete_points_without_returns`

Commit:8b17d7e
Author:Blickfeld Developers

Public-Auto-release: v2.16.0 # Added * [Introduced in firmware v1.17] API: Introduce packed frame format. The format returns point clouds as flat binary structures. These can be efficiently encoded & decoded, which increases the performance on low-performance clients significantly. * Python: Add structured numpy interface for point clouds * [Introduced in firmware v1.17] Extended hello message with library, firmware, and hardware information. Added requests for serial number & product variant.

Commit:254a433
Author:Blickfeld Developers

Public-Auto-release: v2.15.0 # Added * CPP: Add support for point cloud streams using extensions * [Introduced in firmware v1.16] API: Add custom trigger API, which allows to control external trigger outputs for special product variants * [Introduced in firmware v1.16] API: Add named scan pattern API. Multiple patterns can be persisted and are pre-loaded.

Commit:616e733
Author:Blickfeld Developers

Public-Auto-release: v2.14.2 # Changed * Python: Raise minimum required Protobuf version due to incompability with currently specified version

Commit:e85e71b
Author:Blickfeld Developers

Public-Auto-release: v2.14.0 # Added * [Introduced in firmware v1.14] API request to fetch constraints for allowed scan pattern configurations. This improves the Web GUI and results in improved validation error messages. # Changed * Python: Fixed point cloud stream close to first call stop and unsubscribe * Python: Fixed bug when stopping a raw stream and deleting it afterwards, it would call stop again

Commit:310869e
Author:Blickfeld Developers

Public-Auto-release: v2.13.0 # Added * [Introduced in firmware v1.13] Separate API request for raw file streams. This allows file recordings with Python on low-performance clients. * [Introduced in firmware v1.13] Server section to status message. Reports connected clients and network statistics. * Add protocol files to install target * [Introduced in firmware v1.13] Extend advanced configuration with `default_point_cloud_subscription` * [Introduced in firmware v1.13] Request to attempt error recovery # Changed * Python: Improved examples and refactored arguments * CPP: Refactored point cloud recording class * CMake: Improved the approach of linking dependent library to make the install package relocatable # Removed * [Removed in firmware v1.13] Drop deprecated legacy scan patterns

Commit:9a32388
Author:Blickfeld Developers

Public-Auto-release: v2.12.0 # Added * Protocol: Additional processing section in advanced configuration * Example for builds with external projects which locates all dependencies in a local directory. Can be found in cmake/external. Install section in documentation is updated. # Changed * Bugfix: M_PI was not defined and compiler flags were overridden in cpp windows builds

Commit:6f85165
Author:Blickfeld Developers

Public-Auto-release: v2.11.1 # Added * Python: Flag for detecting frame losses # Changed * Change default scan pattern to 40 scanlines up, 40 scanlines down, INTERLEAVE pulse type, and COMBINE_UP_DOWN pulse frame mode * Bugfix Python: Fixed and simplified the recording functionality. The compression level can now be adjusted and is default set to 1. * Protocol: Formatted protobuf files for better readability * Python: Follow PEP 8 version rules

Commit:a37712d
Author:Blickfeld Developers

Public-Auto-release: v2.11.0 # Added * Python: Example of frame export for matlab / octave * [Introduced in firmware v1.10] Add filter parameters to scan pattern. It allows to increase the number of returns per point and provides min/max filters for point attributes. The filter can be overridden during a stream request. * [Introduced in firmware v1.11] Add preliminary noise filter configuration to scan pattern * Protobuf: Add internal message option to trigger export of custom targets * CI: Provide test coverage * [Introduced in firmware v1.11] Interleave frame mode, which allows to double the horizontal density with the COMBINE_UP_DOWN FrameMode and efficiently uses the down-ramp phase in the inner horizontal FoV * [Introduced in firmware v1.11] Add API request for advanced configuration # Changed * Bugfix: Removed incorrect end of line prints in cpp fetch_clouds example

Commit:3e5e2a6
Author:Blickfeld Developers

Public-Auto-release: v2.10.1 # Added * Protocol: HW Variant Apollon A1 BDU * Reference frame for depth map # Changed * Doc: Fix rendering of python point cloud stream * Doc: Add configure point cloud stream to python examples in the doc * Upgrade debian testing package to libprotobuf23

Commit:2dd041a
Author:Blickfeld Developers

Public-Auto-release: v2.10.0 # Added * [Introduced in firmware v1.9] Protocol: Request to trigger a self test of the device - Validates the hardware, operates the device, and generates a report. - The report is currently only accessible by developers. - A success flag indicates if the device is functional. * [Introduced in firmware v1.9] Configurable point-cloud stream: Used to reduce the network bandwidth and to decrease the Protobuf encoding/decoding effort - The post-processing can be configured with a filter. It allows to increase the number of returns per point and provides min/max filters for point attributes. - The desired frame fields in the stream can be requested by passing a reference frame. Example reference frames are available. # Changed * CI: Improve internal release automation

Commit:4d03592
Author:Blickfeld Developers

Public-Release: v2.9.0 # Added * Protocol: Temporary error flags per point * Protocol: Enable Protobuf Arena support for data messages to improve performance # Changed * Documentation: Revise the BSL documentation with feedback of the technical writers * CMake: Prevent creation of always out-of-date target with multiple dependencies * Documentation: Add links to the GitHub Repo

Commit:f664d02
Author:Blickfeld Developers

Public-Release: v2.8.7 # Changed * Python: Use temporary cert file for SSL connections

Commit:98d3590
Author:Blickfeld Developers

Public-Release: v2.8.0 # Added * Python: Add string representation for blickfeld_scanner * Add custom error TimeSyncFailed to provide log information of NTP daemon * Python & C++: Simple search & connect methods to discover Blickfeld devices * Add testing debian package for more recent protobuf versions * Introduce new point cloud format and add support for Python and CPP * CI: Automatic deployment to GitHub # Changed * Move part of the documentation to the top-level technical documentation * CI: Link to customer release tied to job-id instead of tag-name * Python: Prepare pypi package for release * Documentation: Implement feedback from technical writers * Documentation: Clean up & additional information about installation * Documented the core functionality in the source code headers