The ADI ToF SDK is a cross platform library for the Analog Devices depth cameras based on the ADSD3100 TOF Signal Processor. It provides support for data processing on the embedded processor platform as well as for USB, Ethernet, Offline or Wi-Fi to connect to a host computer. This flexibility enables evaluation across a wide range of use cases and environments.
The SDK provides an API to control the ToF camera, AB stream and depth data. Windows support are built into the SDK as well as sample code and wrappers for various languages including Python and C/C++.
For more details on building the SDK on a host platform please check the User Guide specified below:.
Operating System | Documentation | GitHub main status | Downloads |
---|---|---|---|
Windows | Build Instructions | ||
Linux | Build Instructions |
Host Platform:
- Windows 10 or
- Ubuntu 20.04 or
- Ubuntu 22.04
Other
- Python 3.10
For more details on building the SDK on an embedded platform please check the User Guide specified below:
Operating system | Evaluation boards | Documentation | GitHub main status |
---|---|---|---|
NXP | EVAL-ADTF3175D-NXZ | Build instructions |
How to write the SD card image onto the SD card?
From an architectural point of view, the SDK consists of two layers. One layer is the high level API that allows clients to easily grab a camera object, configure it and request frames. The other layer is the low level API which exposes the interface through which low level operations can be made to the camera hardware.
For more details about the SDK check the links below:
Building and installing the SDK
Example | Language | Description |
---|---|---|
tof-viewer | C++ | Graphical User interface for visualising stream from depth camera |
data-collect | C++ | A command line application that takes in command line input arguments (like number of frames, mode to be set, folder location to save frame data) and captures the frames and stores in path provided |
first-frame | C++ Python |
An example code that shows the steps required to get to the point where camera frames can be captured. |
low_level_example | Python | A simple example of how to get access to the low-level API of the camera. |
ROS2 CPP Wrapper | ROS2/C++ | ROS2 binding that publishes topics |
Example | Language | Description |
---|---|---|
ROS2 Application | C++ | A more extensive ROS2 example based on the ADI ToF SDK. |
Stitching Algorithm | C++ | A stiching algorithm using ADI ToF data. |
Directory | Description |
---|---|
apps | Applications specific to various targets and hosts |
bindings | SDK bindings to other languages |
ci | Useful scripts for continuous integration |
cmake | Helper files for cmake |
dependencies | Contains third-party and owned libraries |
doc | Documentation |
drivers | Holds drivers for nxp and nvidia |
examples | Example code for the supported programming languages |
scripts | Useful development scripts |
sdcard-images-utils | Things required to build a SD card image for targets |
libaditof | Submodule with SDK source code |
tools | Standalone applications |
Known issues
On a PC where Linux kernel version 5.13 is installed, a USB connected camera cannot be detected. The v4l device name that we expect is not being set properly. However it works for older and newer versions.