Blt ToF API

From BlueWiki

Jump to: navigation, search

Introducing the newest SDK implementation. It supports all existing Bluetechnix ToF products.

Contents

1 Downloads

User manual Reference manual Compiled library and header files Examples Comments
v3.2.0 BltTofApi v3.2.0
v3.1.4 BltTofApi v3.1 reference manual BltTofApi v3.1.4 BltTofApi usage examples
v3.1.2 BltTofApi v3.1 reference manual BltTofApi v3.1.2 BltTofApi usage examples Identical to v3.1.1 with a bug-fix for Windows.
v3.1.1 BltTofApi v3.1 reference manual BltTofApi v3.1.1 Identical to v3.1.2 except for Windows build.
v3.0.1 BltTofApi v3.0 reference manual BltTofApi v3.0.1
v2.9.3 BltTofApi v2.9 reference manual BltTofApi v2.9.3
v2.5.2 User manual BltTofApi v2.5 reference manual BltTofApi v2.5.2 BltTofApi usage examples
v2.5.1 BltTofApi v2.5.1
v2.5.0 BltTofApi v2.5.0
v2.2.6 User manual BltTofApi v2.2 reference manual BltTofApi v2.2.6 BltTofApi usage examples
v2.2.5
v2.2.4
v2.1.0 User manual BltTofApi v2.1 reference manual BltTofApi v2.1.0 BltTofApi usage examples

2 Changelog

2.1 v3.2.0

Notes

  • Argos3D-P100 and Tim-UP-19k-S3 USB support is back!

Changes (since v3.1.4)

  • No changes


2.2 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


2.3 v3.1.2

Changes (since v3.1.1)

  • Fixed a bug where the network interface was not always initialized correctly


2.4 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


2.5 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

2.6 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

2.7 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.));

2.8 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


2.9 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


2.10 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


2.11 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


2.12 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


2.13 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.


2.14 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.

3 Previous versions

Bluetechnix 'Time of Flight' API v1

Personal tools