This document provides a summary of all notable changes of the Visionary C++ shared library. For a detailed view of what was changed, please refer to the repository’s commit history.
This project utilizes semantic versioning.
-
AutoIp functionality completed
-
CMake: fixed warning as error handling overrides are now working, added exclusions for gcc11
-
CMake: changed logic which boost to use because of possible unexpected build errors when a pre-installed boost does not contain
property_tree
orforeach
-
removed
VISIONARY_SHARED_ENABLE_BUNDLED_BOOST_FALLBACK
(introduced in version 2.3.0) -
added option to use the bundled boost (
VISIONARY_SHARED_USE_BUNDLED_BOOST
, default:ON
)
-
-
CMake: when including this module by CMake a previous find_package for Boost would prevent that the bundled Boost could be used.
-
VisionaryAutoIPScan: added method to assign ip address to device
-
VisionaryAutoIPScan: support for Cola2 protocol version
-
CMake: adding option to enable unit testing (
VISIONARY_SHARED_ENABLE_UNITTESTS
, default:OFF
) -
CMake: adding option to enable the bundled boost library as fallback (
VISIONARY_SHARED_ENABLE_BUNDLED_BOOST_FALLBACK
, default:ON
)
First public release.
-
Visionary-T Mini: after changing ROI and/or binning the generated pointcloud was not correct (contained old/duplicate points)
-
VisionaryAutoIPScan: currently does not work for Visionary Tmini since this product uses a new scanning protocol.
-
CMake: building of
VisionaryAutoIPScan
can be disabled using CMake optionVISIONARY_SHARED_ENABLE_AUTOIP
-
CMake: prefixing project CMake variables by
VISIONARY_SHARED
(exception isBUILD_SHARD_LIBS
) -
VisionaryAutoIPScan: constants defined by this module are now in the
VisionaryAutoIPScan
class namespace -
VisionaryAutoIPScan: port number of detected devices is now a
uint16_t
(wasstd::string
before) -
all: timeout millisecond values are now a
uint32_t
(wasuint64_t
before)
-
VisionaryAutoIPScan: is available on Linux
-
tests: unit tests
VisionaryTMiniDataTest.h
didn’t build under Linux due toFramegrabber.h
being renamed toFrameGrabber.h
.
-
VisionaryAutoIPScan: currently does not work for Visionary Tmini since this product uses a new scanning protocol.
-
TcpSocket / UdpSocket: the port number is now provided in host byte order to the
connect
method (before it was network byte order).
The conversion is now done by the methodconnect
. -
VisionaryDataStream / FrameGrabber: port number is in host byte order here as well.
-
VisionaryData:
getTimestampMS
returned timestamp in µs (now fixed to correctly return milliseconds).
-
VisionaryControl: method to start single or burst snapshot acqusition (
burstAcquisition
) -
VisionaryControl: added method to query API Blob port (
GetBlobPort
) -
CMake: (experimental) option to build a shared library (using
BUILD_SHARED_LIBS
).
-
uses new authentication (SICK CoLa secure user level 1 or 2) if available as required for Visionary Tmini
-
FrameGrabber: class which receives frames from the device in background thread and provides the latest one via an interface.
-
AuthenticationSecure: support for Secure User Level 1 and 2
-
tests: unit tests for
Cola2ProtocolHandler
andVisionaryData
-
ColaParameterreader / TcpSocket / VisionaryDataStream: prevent potential crash if malformed data is received
-
VisionaryControl: Fix crash if send is used on closed connection
-
CoLaCommand , TcpSocket, UdpSocket, VisionaryControl, VisionaryData, VisionaryDataStream, VisionarySData, VisionaryTData, VisionaryTMiniData: some member variables were not initialized, giving problems in error cases
-
PointCloudPlyWriter: parameter to set presentation mode of PLY File to define handling of invalid Points(Invalid as NaN/Invalid as Zero/Invalid Skip)