Blt ToF API
Introducing the newest SDK implementation. It supports all existing BECOM Systems ToF products.
Downloads
Changelog
v3.3.4
Notes
- Supported interfaces: USB and Ethernet (not legacy Argos3D-P100 or Tim-UP-19k-S3)
Changes (since v3.3.2)
- Some more logs for better trouble-shooting
- Fix for negative temperatures in frame info descriptor
- Fixed reconnect bug when select socket failed
- Added dependency Iphlpapi on Windows for more Ethernet features
- New frame serialization version v5 because v4 was buggy
- Added batch file for firewall setup on Windows
- Fixed behaviour for TimEth based devices
- Performance and stability improvements
v3.3.2
Notes
- Supported interfaces: USB and Ethernet (not legacy Argos3D-P100 or Tim-UP-19k-S3)
Changes (since v3.2.6)
- added BTAgetDataByChannelId
- added BTA_LibParamOffsetForCalcXYZ
- BTAflashRead now supports automatic allocation
- added BTAaverageFrames and BTAaverageChannels
- added BTAstartDiscoveryEx and BTAstopDiscoveryExt (returns a list of devices)
- new callback FN_BTA_DeviceFoundEx for use with C++
- discovery is enhanced (sends message frequently instead of once)
- added BTAinitFlashUpdateConfig
- BTA_ChannelIdAmbient removed
- BTA_ChannelIdPhase now legacy, replaced by BTA_ChannelIdRawDist
- USB: connect to pon / serial number now supported
- added BTAsetChannelSelection and BTAgetChannelSelection (only supported by Toreo and Pulse)
- DeviceInfo has new field bltstreamFilename
- Support for new cameras Toreo and Pulse
- Many small bugs fixed
- Performance and stability improvements
v3.2.6
Notes
- Supported interfaces: USB and Ethernet (also legacy Argos3D-P100 and Tim-UP-19k-S3)
Changes (since v3.2.1)
- Fixed a bug in BTAserializeFrame V4
- Fixed a bug in bad response recovery in control interface
- USB now supports connection monitoring and automatic reconnect
- Performance and stability improvements
v3.2.1
Notes
- Argos3D-P100 and Tim-UP-19k-S3 USB support is back! (not for aarch64)
Changes (since v3.1.4)
- Support for metadata at frame level
v3.1.4
Notes
- This version does not support JPG nor USB on Linux
Changes (since v3.1.2)
- Calculation of XYZ via LibParam now correctly applies invalidation
- Config parameter udpDataAutoConfig calculates port based on MAC address and increments correctly when port is busy
- Performance and stability improvements
v3.1.2
Changes (since v3.1.1)
- Fixed a bug where the network interface was not always initialized correctly
v3.1.1
Notes
- This version does not support JPG on Linux
Changes (since v3.1.0)
- Added BTA_StatusAlive and BTA_StatusConfigParamError and adjusted corresponding infoEvent calls
- Added check for IP addresses to be valid regarding local machine's network interfaces (not fully supported on windows)
- Fixed a bug with udpDataAutoConfig
- Produce error when using udpDataAutoConfig on older camera devices which don't support switching stream IP at runtime
- Added a pause between udp data connection attempts
v3.1.0
Notes
- This version does not support JPG on Linux
Changes (since v3.0.1)
- Added BTAframeModeToString
- Support for calculation of XYZ on host
- Support for automatic configuration of data stream via udpDataAutoConfig
- New BTA_LibParam: DataStreamAllowIncompleteFrames
- New BTA_FlashTarget: XML
- New BTA_ChannelId: Variance
- New BTA_ChannelId: HeightMap
- Some more infoEvents and different verbosities for better trouble shooting
- Improved connection lost detection via alive messages
- Improved udp read thread polling
- Bugfix: tolerate invalid packet counter in NDA packet
- Support resync on tcp control interface if an error occurs
- Full support for libusb1 data interface
- Performance and stability improvements
v3.0.1
Notes
- This version does not support USB or JPG
Changes (since v2.9.3)
- Added infoEventEx2 callback
- Added BTAgetFrameCount
- Set a higher default value for UDP data socket buffer size
- Fixed a bug regarding BTAgetLensParameters
- Fixed a bug for when using infinite timeout in BTAgetFrame
- Performance and stability improvements
v2.9.3
Notes
- This version does not support USB
- This version only supports JPG decoding on Windows and Linux Desktop
Changes (since v2.5.2)
- No longer dependend on C++ Redistributable
- Added frame modes BTA_FrameModeDist, BTA_FrameModeDistConfExt, BTA_FrameModeAmp, BTA_FrameModeRawdistAmp, BTA_FrameModeRawPhasesExt,BTA_FrameModeRawQI, BTA_FrameModeXYZConfColor and BTA_FrameModeXYZAmpColorOverlay
- Changed timeout for discovery, so stop discovery isn't so laggy
- Fixed infoEvents write to logfile
- Removed unnecessary BTA_DeviceType enum. It is now a simple int and only define the interface to be used
- Ethernet connections now ignore PON and serialNumber parameters
- Discovery also gives the PON of the device
- Improved averaging for BTA_LibParamFramesParsedPerSec
- bta.h now includes basic functions only, whereas bta_ext.h contains the rest
- YUV422 and YUV444 now supported
- Support for a new data stream protocol with more features
- Improved performance for udp data stream retrieval
- Introduced LibParams for datastream statistics
- Introduced LibParams BTA_LibParamDataSockOptRcvtimeo and BTA_LibParamDataSockOptRcvbuf
- Added userArg in BTA_Config, FN_BTA_FrameArrivedEx2 and BTA_FrameArrivedReturnOptions (see reference manual on usage)
- Several general bugfixes and performance improvements
Known issues
- The link file libbta.so.3 should actually be named libbta.so.2
- On Windows 7 you should set a higher buffer size upon each connect (BTAopen) via BTAsetLibParam(handle, BTA_LibParamDataSockOptRcvbuf, 100*1024*1024(e.g.));
v2.5.2
Changes (since v2.5.1)
- Fixed a bug where the undistortion of the RGB channel causes the lib to crash in a rare case of camera miscalibration
v2.5.1
Changes (since v2.5.0)
- Fixed a bug in BTAgetDeviceInfo with TIM-UP-19k-S3 USB based devices
- Fixed a rarely occurring bug where a mutex remained locked
Known issues
- The undistortion of the RGB channel causes the lib to crash in a rare case of camera miscalibration
v2.5.0
Changes (since v2.2.6)
- Removed all dependency from OpenCV
- Linux, ARM, TegraTX2: removed dependency from libjpeg-turbo
- Support for flashing predefined configurations
- Added function BTAunitToString
- BTAsetFrameMode now supports ZAmp
- Support for grabbing frames played back from a bltStream
- New BTA_Config parameter: infoEventFilename: takes care of logging to a file
- Feature: BTAgetDeviceInfo delivers the PON as configured at time of production
- New deviceType fpr Argos3D - P33x
- UDP control connection loss is detected more reliably
- Added more log outputs (infoEvents) for better software support
- New lib param for enabling undistort rgb
- New lib param for changing infoEvent verbosity
- New lib param for enabling decoding of jpg
- New lib param for fps parsed
- New lib param for bytes received stream
- New lib param for frames parsed count
- New interface: BTAgetLensParameters for retrieving intrinsic and extrinsic parameters
- New interface: BTAflushFrameQueue for emptying the frame queue (used by BTAgetFrame)
- New error value: BTA_StatusInvalidData
- Added frame queueing functionality
- Added undocumented helper functions for use at own risk
- Supports newly released Bluetechnix products
- Bugfixes
- Performance improvements
Known issues
- BTAgetDeviceInfo does not work with TIM-UP-19k-S3 USB based devices
- The undistortion of the RGB channel causes the lib to crash in a rare case of camera miscalibration
v2.2.6
Changes (since v2.2.5)
- Added backward compatible BTA_DeviceType enum entries
- Added preprocessor macro in bta.h to identify its version
Known issues
- Color image data not supported
v2.2.5
Changes (since v2.2.4)
- BTAserializeFrame and BTAdeserializeframe support metadata
- Fixed get/set of modulation frequency and offset for TIM-UP-19K-S3-P ETH
Known issues
- Color image data not supported
v2.2.4
Changes (since v2.1.0)
- Added LibParam BTA_LibParamPauseCaptureThread
- Discovery bugfix and more logging
- Added FrameMode XYZColors
- Added FrameMode DistAmpBalance
- Introduced BTA_Metadata to BTA_Channel
- Added BTAgetMetadata
- UDP control inbound parameters can now be omitted if the firmware supports it
- BTAstartdiscovery now takes an infoEvent instead of an infoEventEx
- P100 based devices don’t invalidate the amplitude anymore
- Minor bugs were fixed
Known issues
- Color image data not supported
- Only 10 USB (P100 based) devices supported simultaneously.
- USB (P100 based): Be careful when setting a new frame mode by direct access to the calculation mode register.
Allow the device at least 200ms (more to be on the safe side) to stabilize before calling BTAgetFrame. Take special care when your application is multi-threaded. If you do not wait the specified time the device might no longer respond correctly and in the worst case power cycling the device will be necessary. - USB (P100 based): If you are an experienced user and want to change bits in the calculation mode register (0x0F) that affect which containers are produced by the device you have to set the frame mode to BTA_FrameModeCurrentConfig.
- Camera firmware and hardware limitations also apply.
v2.1.0
Changes (since v1.6.1)
- All connection interfaces integrated: BtaEth, BtaP100 and BtaStream merged to BltTofApi.
- Added parameter devicetype in BTA_Config: Allows to narrow down the interface / device.
- Ethernet register operations automatically retry if failed.
- Introduced LibParams. Please read the user manual for detailed descriptions.
- BTAsetKeepAlivMsgInterval deprecated, use LibParam.
- BTAsetControlCrcEnabled deprecated, use LibParam.
- Device discovery interface changed. Not backward compatible.
- Device discovery for UDP added.
- Device discovery for USB (P100) changed to intended behaviour.
- Added BTAfpnUpdate, BTAfppnUpdate and BTAwigglingUpdate.
- Added BTAgetColors.
- Added BTAaddFilter and BTAremoveFilter. The development of this feature is still in progress! Therefore it is not documented and no support is provided by Bluetechnix.
- Many performance and stability improvements.
Known issues
- Only 10 USB (P100) devices supported simultaneously.
- USB (P100): Be careful when setting a new frame mode either by using BTAsetFrameMode or by direct access to the calculation mode register.
Allow the device at least 200ms (more to be on the safe side) to stabilize before calling BTAgetFrame. Take special care when your application is multi-threaded. If you do not wait the specified time the device might no longer respond correctly and in the worst case power cycling the device will be necessary. - USB (P100): If you are an experienced user and want to change bits in the calculation mode register (0x0F) that affect which containers are produced by the device you have to set the frame mode to BTA_FrameModeCurrentConfig.
- USB (P100): If no frameArrived callback and no queueing is configured, the timeout parameter in BTAgetFrame has no effect.
- Camera firmware and hardware limitations also apply.