depthai package from depthai repo

depthai

Package Summary

Tags No category tags.
Version 2.24.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/luxonis/depthai-core.git
VCS Type git
VCS Version ros-release
Last Updated 2024-03-06
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

DepthAI core is a C++ library which comes with firmware and an API to interact with OAK Platform

Additional Links

Maintainers

  • Sachin Guruswamy

Authors

  • Martin Peterlin

DepthAI C++ Library

Forum Docs License: MIT

Core C++ library

Documentation

Documentation is available over at Luxonis DepthAI API

Disclaimer

DepthAI library doesn't yet provide API stability guarantees. While we take care to properly deprecate old functions, some changes might still be breaking. We expect to provide API stability from version 3.0.0 onwards.

Dependencies

  • CMake >= 3.10
  • C/C++14 compiler
  • [optional] OpenCV 4 (required if building examples)

MacOS: Optional brew install opencv

Linux: Optional sudo apt install libopencv-dev

Building

Make sure submodules are updated

git submodule update --init --recursive

Then configure and build

cmake -S. -Bbuild
cmake --build build

ℹ️ To speed up build times, use cmake --build build --parallel [num CPU cores] (CMake >= 3.12). For older versions use: Linux/macOS: cmake --build build -- -j[num CPU cores], MSVC: cmake --build build -- /MP[num CPU cores]

⚠️ If any CMake commands error with CMake Error: The source directory "" does not exist. replace argument -S with -H

Dynamic library

To build dynamic version of library configure with following option added

cmake -S. -Bbuild -D'BUILD_SHARED_LIBS=ON'
cmake --build build

Android

Android is supported to some extent but not actively pursued nor tested. PRs with any improvements are welcome.

Steps:

  • Install Android NDK (for example via Android Studio).
  • Set the NDK path:
export ANDROID_HOME=$HOME/.local/lib/Android
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
export NDK=$ANDROID_HOME/ndk/23.1.7779620/ # Check version

  • Ensure a recent version of cmake (apt version is outdated, install snap install cmake --classic)
  • Run cmake, set your ABI and Platform as needed:
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-25
cmake --build build

Running examples

To build the examples configure with following option added

cmake -S. -Bbuild -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build/examples folder and run a preferred example

cd build/examples
./MobileNet/rgb_mobilenet

ℹ️ Multi-Config generators (like Visual Studio on Windows) will have the examples built in build/examples/MobileNet/[Debug/Release/...]/rgb_mobilenet

Integration

Under releases you may find prebuilt library for Windows, for use in either integration method. See Releases

CMake

Targets available to link to are: - depthai::core - Core library, without using opencv internally - depthai::opencv - Core + support for opencv related helper functions (requires OpenCV4)

Using find_package

Build static or dynamic version of library (See: Building and optionally Installing)

Add find_package and target_link_libraries to your project

find_package(depthai CONFIG REQUIRED)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

And point CMake to either build directory or install directory:

-D'depthai_DIR=depthai-core/build'

or

-D'depthai_DIR=depthai-core/build/install/lib/cmake/depthai'

If library was installed to default search path like /usr/local on Linux, specifying depthai_DIR isn't necessary as CMake will find it automatically.

Using add_subdirectory

This method is more intrusive but simpler as it doesn't require building the library separately.

Add add_subdirectory which points to depthai-core folder before project command. Then link to any required targets.

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/depthai-core EXCLUDE_FROM_ALL)
...
project(my-app)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

Non-CMake integration (Visual Studio, Xcode, CodeBlocks, ...)

To integrate into a different build system than CMake, prefered way is compiling as dynamic library and setting correct build options. 1. First build as dynamic library: Building Dynamic library 2. Then install: Installing

In your non-CMake project (new Visual Studio project, ...) 1. Set needed library directories: - build/install/lib (for linking to either depthai-core or depthai-opencv) - build/install/bin (for .dll's) 2. And include directories - build/install/include (library headers) - build/install/include/depthai-shared/3rdparty (shared 3rdparty headers) - build/install/lib/cmake/depthai/dependencies/include (dependency headers)

ℹ️ Threading library might need to be linked to explicitly.

ℹ️ Check build/depthai-core-integration.txt or build/depthai-opencv-integration.txt for up to date define options. The generated integration file also specifies include paths without requiring installation.

Installing

To install specify optional prefix and build target install

cmake -S. -Bbuild -D'CMAKE_INSTALL_PREFIX=[path/to/install/dir]'
cmake --build build --target install

If CMAKE_INSTALL_PREFIX isn't specified, the library is installed under build folder install.

Environment variables

The following environment variables can be set to alter default behavior of the library without having to recompile

Environment variable Description
DEPTHAI_LEVEL Sets logging verbosity, 'trace', 'debug', 'warn', 'error' and 'off'
XLINK_LEVEL Sets logging verbosity of XLink library, 'debug'. 'info', 'warn', 'error', 'fatal' and 'off'
DEPTHAI_INSTALL_SIGNAL_HANDLER Set to 0 to disable installing Backward signal handler for stack trace printing
DEPTHAI_WATCHDOG Sets device watchdog timeout. Useful for debugging (DEPTHAI_WATCHDOG=0), to prevent device reset while the process is paused.
DEPTHAI_WATCHDOG_INITIAL_DELAY Specifies delay after which the device watchdog starts.
DEPTHAI_SEARCH_TIMEOUT Specifies timeout in milliseconds for device searching in blocking functions.
DEPTHAI_CONNECT_TIMEOUT Specifies timeout in milliseconds for establishing a connection to a given device.
DEPTHAI_BOOTUP_TIMEOUT Specifies timeout in milliseconds for waiting the device to boot after sending the binary.
DEPTHAI_PROTOCOL Restricts default search to the specified protocol. Options: any, usb, tcpip.
DEPTHAI_DEVICE_MXID_LIST Restricts default search to the specified MXIDs. Accepts comma separated list of MXIDs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_ID_LIST Alias to MXID list. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_NAME_LIST Restricts default search to the specified NAMEs. Accepts comma separated list of NAMEs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_BINARY Overrides device Firmware binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_USB Overrides device USB Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_ETH Overrides device Network Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_ALLOW_FACTORY_FLASHING Internal use only
DEPTHAI_LIBUSB_ANDROID_JAVAVM JavaVM pointer that is passed to libusb for rootless Android interaction with devices. Interpreted as decimal value of uintptr_t
DEPTHAI_CRASHDUMP Directory in which to save the crash dump.
DEPTHAI_CRASHDUMP_TIMEOUT Specifies the duration in seconds to wait for device reboot when obtaining a crash dump. Crash dump retrieval disabled if 0.

Running tests

To run the tests build the library with the following options

cmake -S. -Bbuild -D'DEPTHAI_TEST_EXAMPLES=ON' -D'DEPTHAI_BUILD_TESTS=ON' -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build folder and run ctest with specified labels that denote device type to test on. Currently available labels: - usb - poe

cd build
# Run tests on USB devices
ctest -L usb
# Run tests on PoE devices
ctest -L poe

Style check

The library uses clang format to enforce a certain coding style. If a style check is failing, run the clangformat target, check the output and push changes.

To use this target clang format must be installed, preferably clang-format-10

sudo apt install clang-format-10

And to apply formatting

cmake --build build --target clangformat

Documentation generation

Doxygen is used to generate documentation. Follow doxygen download and install the required binaries for your platform.

After that specify CMake define -D'DEPTHAI_BUILD_DOCS=ON' and build the target doxygen

Debugging tips

Debugging can be done using Visual Studio Code and either GDB or LLDB (extension 'CodeLLDB'). LLDB in some cases was much faster to step with and resolved more incomplete_type variables than GDB. Your mileage may vary though.

If there is a need to step into Hunter libraries, that can be achieved by removing previous built artifacts

rm -r ~/.hunter

And configuring the project with the following CMake option set to ON

cmake . -D'HUNTER_KEEP_PACKAGE_SOURCES=ON'

This retains the libraries source code, so that debugger can step through it (the paths are already set up correctly)

Troubleshooting

Build fails with missing OpenCV dependency

If your build process happen to fail due to OpenCV library not being found, but you have the OpenCV installed, please run build with additional -D'OpenCV_DIR=...' flag (replacing default Ubuntu path /usr/lib/x86_64-linux-gnu/cmake/opencv4 with yours)

cmake -S. -Bbuild -D'OpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4'

Now the build process should correctly discover your OpenCV installation

Hunter

Hunter is a CMake-only dependency manager for C/C++ projects.

If you are stuck with error message which mentions external libraries (subdirectory of .hunter) like the following:

/usr/bin/ld: /home/[user]/.hunter/_Base/062a19a/ccfed35/a84a713/Install/lib/liblzma.a(stream_flags_decoder.c.o): warning: relocation against `lzma_footer_magic' in read-only section `.text'

Try erasing the Hunter cache folder.

Linux/MacOS:

rm -r ~/.hunter

Windows:

del C:/.hunter

or

del C:/[user]/.hunter

CHANGELOG

Changelog for package depthai

2.24.0 (2024-02-02) -----------* New nodes and messages: * Sync node - syncs multiple inputs based on the timestamp, outputs a message group message * Demux node - demultiplexes message group in multiple messages * Message group message - a new message that can contain a map of arbitrary depthai messages, it\'s the output of the sync node and input to the demux node * Encoded frame message - a new message specialized for encoded frames * New output for the VideoEncoder node (out) for the encoded frame message * Automatic crash dump retrieval for firmware crashes * Added setIrFloodLightIntensity and setIrLaserDotProjectorIntensity methods for setting the intensity normalized between 0 and 1 * Added getConnectionInterfaces method to retrieve the list of available interfaces on a device * Added an option to cap maximum time for exposure when using auto exposure with setAutoExposureLimit * Initial integration for IMX283 and IMX462 * Improve time-syncing between the host and device to achieve sub 300 us offset * Improved max FPS and image quality under low light for OV9282 and OV9782 #926 ,new ranges per resolution of: * THE_800_P: 1.687 .. 129.6 fps * THE_720_P: 1.687 .. 143.1 fps * THE_400_P: 1.687 .. 255.7 fps * Avoid overflow for XLink profiling #933 * Improve XLink stability when using multiple devices luxonis/XLink#73 * Fix a rare bug where the device would hand in the constructor #922 * Fix a bug where XLinkIn didn\'t work correctly for very small and very large buffers * Fix a bug for running multiple stereo nodes with a shared input * On multi-input NeuralNetworks set the output NNData to the newest input timestamp (previously undefined) * Add NOC DDR usage reporting on DEPTHAI_LEVEL=info * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.23.0 (2023-11-14) -----------* ImageManip - configurable interpolation type * Script - added missing bindings for reading device releated data (on device calibration, etc...) * Added Device::getDeviceName and Device::getProductName that target a user name and a \"SKU\" name * Timesync - improved synchronization with tweaks to XLink * Calibration - added housingExtrinsics * Fix CAM_D enumeration on OAK-FFC-4P R7 * BMI270 IMU - fix latency when slow reading * Device related logging * OAK-D-SR-POE - new revision bugfixes * Fix 4 cameras crash on PoE due to memory allocation * Fixed incorrect warp in issue #882 * XLink - updated number of devices to 64 * ToF - median filter and Z map support (still not the final decoding pipeline) * hasAutofocus value fixed and introduced hasAutofocusIC * Added timestamps and sequence numbers to all Message types * Added DEPTHAI_ENABLE_LIBUSB for potentially disabling USB protocol (to not require libusb library) * OV9782 and AR0234 improvements: * OV9782 FPS improvements * AR0234 max exposure time bump to 33ms and improved FSync INPUT mode * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.22.0 (2023-06-15) -----------* UVC Node - Capability to create a pipeline that sends data over UVC (or flash it) * ToF Node - Capability to decode ToF data into a depth map * New devices: OAK-D-SR (fixes), OAK-D-LR R1, OAK-D SR PoE * Reorganized CameraBoardSocket naming * Logging improvements * Added data throughput profiling, per device and globally * Added DEPTHAI_DEVICE_NAME_LIST env var to filter devices by name * Bootloader v0.0.26 - Fix for bootloader crash (USB variant) * Fix for 4 cameras via ETH * Device constructor bugfixes (when taking pipeline, or pipeline with config preapplied, etc...) * XLink - Bugfix for wrongly discovered usb path on Windows * OV9782 startup stream issue fix * #779 - Fixes a parsing issue * #469 - Fixes a stuck case if same stream names are used * Deprecated RGB/LEFT/RIGHT/... CamerBoardSocket naming. Rely on CAM[A-H] or setName API * Add option to clear crash dump * XLink - Added 255.255.255.255 discovery and increased PoE search time * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.2 (2023-04-05) -----------* UPDATE: Use v2.21.2 due to issues this version carries * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.0 (2023-04-03) -----------* Improved x/y accuracy for SpatialLocationCalculator/SpatialDetectionNetwork * Support for median and mode, default changed to median in SpatialLocationCalculator/SpatialDetectionNetwork * Multi stereo support, ability to run stereo between any 2 calibrated cameras * Support for LEFT/RIGHT alignment in stereo node * Support to invalidate edge pixels: setNumInvalidateEdgePixels in Stereo Node * BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated in Stereo Node * Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage in Stereo Node * Fix for RGB-depth alignment when RGB is configured to 12 MP * Crash dump support - support to retrieve crash context from the device which can be shared with developers * Configurable 3A fps - setIsp3aFps * IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API * BMI270 - enable interrupt mode, timestamps are more consistent now * BNO086* - fix for sequence number * AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog), * OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light, * OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure * HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS * FW: fix for UART0 / \'/dev/ttyS0\' init failure in Script node * POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle * [XLink] Increased max number of links from 32 to 64 * Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled * Handle EEPROM boardOptions bit 7 for separate I2C on L/R cameras * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.2 (2023-01-31) -----------* Fix for ColorCamera at high resolution while using isp scaling * Fix for OV9282 SW sync on devices with OV9782 RGB camera * Fix for IMX378/477/577 on sockets other than CAM_A (RGB) * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.1 (2023-01-29) -----------* Modified OpenVINO::VERSION_UNIVERSAL API improvements / backward compatibility * Bootloader version 0.0.24 (fixes for standalone / flashed usecases) * [FW] Status LEDs on some additional devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.1 (2022-11-28) -----------* Added Device getDeviceName API * OAK-FFC 4P (R5M1E5) IR/Dot support * Additional Stability bugfixes to go along with 2.19.0 for PoE devices * Protected productName field in EEPROM * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.0 (2022-09-20) -----------* Stability improvements #616 * isUserBootloaderSupported API * Device.setTimesync(true/false) convenience function to enable or disable subsequent timesyncing * Windows improvements with listing BOOTED devices (\"udev permissions\" issue) * Fix OV9282 as MonoCamera on RGB socket (issue was black image) * Fix crash under high load (regression with camera events streaming) * Fix YOLOv5/7 decoding in case of a single class * Fix image size when decimation filter is enabled * Fix for certain OV9782 and OV9282 permutations/configs * Reset Device timestamp on boot to zero * Reworded \"No available devices\" error message when there are other connected devices connected. * Update CI to Node16 compatible actions

2.17.4 (2022-09-20) -----------* DEPTHAI_WATCHDOG=0 bugfix (245fb57) * V5 Calibration flashing fix * FW log level bugfix (#587) * Updated DeviceBootloader::Config to retain existing values * PoE watchdog issues addressed (74b699c) * XLink - kernel driver detach (fixes some USB connectivity issues) (ba9bd8b) * Added EEPROM clear capability * Added missing installation of DLL files (#550) * Asset RPC refactor * Exposed Device::getAllConnectedDevices() * Exposed FW & BL versions * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.17.3 (2022-08-05) -----------* Updated FW - BMI270 IMU improvements * Added seq & timestamps for more messages * New boards support * Windows DLL improvements (install libusb dll alongside libdepthai-core.dll) * XLink - improved connecting directly to given IP * StereoDepth ImgFrame metadata w/h when decimation filter is enabled * Intrinsic read fix #379 * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.17.0 (2022-07-11) -----------* Support for new S2/Pro devices * FW: support for OAK-D-S2 / OAK-D-Pro using the latest board DM9098 R6M2E6 * Handle new resolutions THE_720_P and THE_800_P for ColorCamera, applicable to OV9782 on RGB/center socket * StereoDepth: Add option for disparity shift to reduce minimum depth * StereoDepth: extended and subpixel mode can be enabled simultaneously * YoloV6 support * Refactor ImageManip node * macOS / Linux shared library and CI improvements * Bootloader improvements * Flash boot improvements * Bootloader improvements (capability to flash and boot from eMMC) * Flashed application information * Memory querying * XLink device search race fix * Capability to flash BoardConfig along with the Pipeline * Added host monitor thread to disconnect offline PoE devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.16.0 (2022-06-15) -----------* OpenVINO 2022.1 support * XLink device search improvements * cross subnets for PoE devices * drastically reduced discovery time * Separated name / IP and MXID, to be able to query both USB path / IP and MXID * Android support * libusb dependency is now managed by Hunter * IMU FW update for BNO sensor * Added DetectionParser node as a standalone component of DetectionNetwork * StereoDepth - subpixel fractional bits API * VideoEncoder - lifted 16 frame pool limitation * Contributors: Sachin, Sachin Guruswamy

2.15.5 (2022-06-02) -----------* EEPROM FIX * Json fix (#478) * Fixed nlohmann json < v3.9.0 compat and toolchain generation * turn off clang format Co-authored-by: Martin Peterlin <martin.peterlin7@gmail.com> Co-authored-by: TheMarpe <martin@luxonis.com> * Empty-Commit * Update package.xml * Contributors: Sachin, Sachin Guruswamy

2.15.4 (2022-05-09)

  • Release 2.15.4
  • Update docs; removed unsupported AprilTag families
  • FW: VideoEncoder: fix keyframe rate config, fix resource computations for JPEG (e.g: MJPEG for 4K video 30fps + MJPEG for still 12MP ~1fps) properly set resources used to allow
  • Update FW
  • Update FW; change behavior of stereo rectification based on stereo camera FOV
  • Merge \'origin/poe_mtu_sysctl\' into develop - #428 Improve PoE throughput and latency for some usecases
  • Update XLink to set TCP_NODELAY, reducing latency
  • Merge \'origin/develop\' into poe_mtu_sysctl
  • Merge branch \'eeprom_version_v7\' into develop
  • Merge branch \'develop\' into eeprom_version_v7
  • Merge branch \'json_compat\' into develop
  • Lowered minimum required nlohmann json version to 3.6.0
  • Set RGB aligned depth output to match mono camera
  • Merge \'ov7251_configurable_fps\' into develop - #455
  • Update FW: fix overriding useHomographyRectification behaviour specified in docs when custom mesh is provided
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #459 from diablodale/fix458-cmaketest-flags reduce num conforming tests; add missing _conforming test suffix
  • reduce tests for MSVC conforming preprocessor - drastically reduce number of tests run for MSVC conforming preprocessor https://github.com/luxonis/depthai-core/pull/459#issuecomment-1108649206 - add option to test harness that indicates when a test is run with the MSVC conforming preprocessor

  • Updated flashing permissions

  • Fix RGB alignment remapping when configured color camera resolution is different from calibration one

  • Updated Bootloader to v0.0.18

  • Updated FW with device EEPROM handling fixes

  • strengthen test for device construct+q+frame

  • Updated bootloader with PCIe internal clock fixes

  • Added capability to create CalibrationHandler from json

  • Fixed factory reset functionality and exposed more functions

  • Updated BL with more build information and new EEPROM data support

  • Updated EEPROM and added another level of permissions

  • add missing _conforming suffix to tests cmake

  • Merge pull request #457 from luxonis/rgb_alignment Enable RGB alignment for spatial detection examples

  • Enable RGB alignment for spatial detection examples

  • Merge pull request #454 from diablodale/test-device-queues1 test case for Device constructor not calling tryStartPipeline()

  • test case for Device constructor not tryStartPipeline() - catch bug and prevent regression as discussed https://github.com/luxonis/depthai-core/commit/7257b95ecfb8dcb77c075e196ac774cc05cb8bc6#commitcomment-71730879

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Update FW: configurable FPS for OV7251: max 99 for 480p, 117 for 400p

  • Added bindings and support for new EEPROM version

  • WIP - modify behavior to be backwards compatible and add checks if calibration is available

  • Added additional EEPROM functionality

  • Applied formatting

  • Merge branch \'main\' into develop

  • Update FW: improve PoE throughput and latency (set net.inet.tcp.delayed_ack=0), add config for MTU (not advised to change for now) and other sysctl params

  • Contributors: Dale Phurrough, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.3 (2022-04-22)

  • Add explicit documentation about loadMesh behavior; specify that only the first 8 distortion coefficients are used
  • Merge pull request #456 from luxonis/macos_ci_test Fix failing CI for MacOS
  • Extend useHomographyRectification documentation with more details
  • Remove brew update
  • Bump version to 2.15.3
  • Merge branch \'release_2.15.3\' into main
  • Clarify docs for homography rectification default behavior
  • Merge pull request #437 from luxonis/warp_mesh_on_device Add on-device mesh generator for Stereo
  • Disable mesh rectification by default; fix error reporting when RGB alignment is enabled and left-right check disabled
  • Fix styling
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'serialization_type\' into develop
  • Fixed incorrect Device constructors not starting the pipeline and creating queues
  • Fixed device Clock.now in Script node to match messages timestamps
  • Modifed serializeToJson to create a json object instead
  • Added Clock.now bindings on device
  • Added capability to serialize pipeline to json
  • Merge pull request #424 from luxonis/bmi270_support IMU: Bmi270 support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #449 from luxonis/openvino_no_blob Openvino: Fix error reporting when blob is not set
  • Removed DEPTHAI_NODISCARD for docs generation
  • Updated libnop (#448)
    • Updated libnop with C++20 fixes and added fs test targeting C++20
    • Added a guard for non-existent tests
    • Modified tests to not require higher CMake version
  • Fix openvino get version
  • Openvino: Fix error reporting when blob is not set
  • Removed deprecated StereoDepth API
  • new class [dai::Path]{.title-ref} for APIs that accept path/filenames (#384)

    • initial dai::Path and test cases
    • fixes luxonis/depthai-core#352
    • move codecvt from header -> cpp
    • add Path::string() and u8string()
    • to enable display/log of Path
    • fmt for dai::Path; NN::setBlobPath(dai::Path)
    • dia::path throws like std::fs::path
    • c++17, pub/pvt header, test cmake c++ std level
    • enable c++17 std::filesystem support and test cases
    • split header into public/private parts

    - cmake for test cases now supports optional c++ standard level param - verify c++ std compiler support for tests

    - add COMPILER_SUPPORTS_CXX{14,17,20,23} vars to Flags.cmake and can be used everywhere - add dai::Path::empty() - add dai::Path to Device, DeviceBase, Resources - simplify Device, DeviceBase constructors by delegating

    - add is_same<> template on constructors with bool param to prevent implicit convert of almost everything to bool - make two DeviceInfo constructors explicit to prevent their use in implicit conversion - relevant test cases - fix minor throw text bugs - fix Device usb2Mode sigs, add test case - add dai::Path to CalibrationHandler - minor refactor dai::Path - enable 2 Calibration+1 Bootloader example - add dai::Path to DeviceBootloader, XLinkConnection - plus test cases - add dai::Path to Pipeline, StereoDepth, AssetManager - plus test cases - add dai::Path to dai::Script + test cases - linux fixes for test cases, and c++14 type_traits - add doxygen to dai::Path - detect compiler c++ std level and update cmake - fix preprocessor flag for tests on MSVC - fixes luxonis/depthai-core/issues#408 - partial dai::Path support for c++20 utf-8 - unable to fully test due to bug #407 - add windows header define WIN32_LEAN_AND_MEAN - rename macro to DEPTHAI_NODISCARD - review feedback

  • Apply style

  • Add on-device mesh generator

  • Initial BMI270 support

  • Contributors: Dale Phurrough, Martin Peterlin, SzabolcsGergely, TheMarpe, szabi-luxonis

2.15.2 (2022-03-30)

  • Release v2.15.2
  • Merge pull request #439 from 0xMihir/main Bump Hunter version
  • chore: bump Hunter version Adds support for MSVC 1931 Using 0.24.0 doesn\'t work because there\'s a duplication error in the nlohmann/json library hunter config file
  • std::exchange needs <utility> to be included (#435) * std::exchange needs <utility> to be included Without <utility> it is gives \"error: 'exchange' is not a member of 'std'\" errors. Ref : https://en.cppreference.com/w/cpp/utility/exchange

    • clang format fix
  • Merge branch \'main\' into develop

  • Fixes #436 - removes temporary warning log in StereoDepth

  • Updated XLink - removed dependency on pthread_getname_np

  • Merge branch \'device_is_closed_fix\' into develop

  • Fixed XLink issue with not erroring on write failures

  • Openvino: improve error logging for out of memory cases

  • Modified to store fisheye Camera model

    • Add getter for distortion model in CalibrationHandler
    • Pad distortion coefficients with 0\'s if there\'s less than 14
    • Only return first four distortion coefficients for Fisheye distortion
  • Merge pull request #430 from luxonis/custom_depth_unit Customizable depth unit

  • Change metre to meter

  • Change millimetre to depth unit where it\'s applicable in docs

  • Add setter/getter utility function for depth unit

  • Add customizable depth unit

  • Merge pull request #427 from luxonis/warp_improvements Warp engine improvements for RGB alignment/stereo rectification

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Warp engine improvements for RGB alignment/stereo rectification

  • Contributors: Mihir Patil, Onuralp Sezer, SzabolcsGergely, TheMarpe, slitcch, szabi-luxonis

2.15.1 (2022-03-16)

  • Merge branch \'release_2.15.1\' into main
  • Merge pull request #426 from luxonis/focal_length_from_calib Use focal length from calibration by default for Stereo node
  • Merge pull request #422 from luxonis/fix_calib_rgb_translation Calib data RGB spec translation fix for some CM3/CM4 boards
  • Set focal length from calibration as default for stereo node
  • Update FW: fix StereoDepth crash with missing EEPROM, report error if missing, do not rotate RGB (AUTO orientation) on OAK-D(-Lite) if EEPROM is missing
  • Merge \'origin/develop\' into fix_calib_rgb_translation
  • Bump version to 2.15.1
  • Merge pull request #421 from luxonis/confidence_map_alignment_opt Optimizing the confidence map alignment
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk: Merge confidence_map_alignment_opt into develop
  • Merge branch \'xlink_race_improvements\' into develop
  • Update FW: patch EEPROM data for incorrectly programmed RGB spec translation, for manually ran calibration on CM3/CM4 boards. Was leading to wrong RGB-depth alignment
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp - remove global variables)
  • Adding a new StereoDepth example rgb_depth_confidence_aligned.cpp for aligning the rgb, depth and confidence frames
  • Updated XLink with only required changes
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp logs)
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Updated XLink with some race fixes and other improvements
  • Updated FW with thermal protection mechanism
  • Merge pull request #398 from diablodale/fix390-callback-moves move semantics with DataOutputQueue::addCallback()
  • Merge pull request #417 from ibaiGorordo/patch-1 Fix Readme links
  • Fix Readme links
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Fix default temporal/spatial filter values when subpixel is enabled
  • Merge pull request #403 from diablodale/fix314-cmpjson verify device json in example script_json_comm
  • Merge pull request #409 from diablodale/fix408-conformflag correct test cmake to add preproc conform flag
  • correct test cmake to add preproc conform flag
  • Updated release template
  • Merge branch \'main\' into develop
  • verify device json in example script_json_comm
  • move semantics in DataOutputQueue::addCallback()
  • Contributors: Dale Phurrough, Ibai Gorordo, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.0 (2022-02-23)

  • Merge branch \'release_2.15.0\' into main
  • Bump version to 2.15.0
  • Merge pull request #287 from luxonis/oak-d-pro_develop Support for OAK-D Pro
  • Merge \'origin/develop\' into oak-d-pro_develop
  • [getIrDrivers]{.title-ref} -> vector of tuples (driverName, i2cBus, i2cAddr). Return if setIrDot/Flood succeeded
  • Merge pull request #401 from luxonis/openvino_version_deprecation Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2021.3
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Merge pull request #405 from luxonis/cfg_fps_lite Configurable RGB FPS on Lite devices, fix RGB orientation
  • Updated test suite for new env var naming
  • Renamed env variable and updated README regarding testing
  • Update FW: RGB orientation fix for OAK-1 (new versions) and OAK-1-Lite
  • Merge \'origin/develop\' into cfg_fps_lite
  • Merge \'origin/develop\' into oak-d-pro_develop
  • IR driver: remove raw register access API
  • IR driver RPC: add [getIrDrivers()]{.title-ref}, update description with limits
  • Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2022.3
  • Merge pull request #389 from luxonis/imu_device_ts Add device monotonic timestamp to IMU reports
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add dot-projector/flood-illuminator brightness control
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Revert \"USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)\" This reverts commit 96691b9a8295c54bea1c04c20bc4ad60091ca536.
  • Update FW: ColorCamera memory optimization when [still]{.title-ref} is not connected, properly handle width-multiple-of-32 (only needed for VideoEncoder), don\'t enforce it on [video]{.title-ref} by default, allow [still]{.title-ref} size smaller than [video]{.title-ref}
  • Modify IMU example: GYRO at 400 hz to avoid spikes
  • Update shared
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #387 from luxonis/subpixel_after_lr_check Do subpixel interpolation once when LR-check is enabled
  • Fix formatting
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Updated shared
  • Fixed crash when device watchdog is disabled
  • Merge pull request #394 from luxonis/skip_invalid_devices Invalid device warnings suppression
  • Suppressed redundant warnings for invalid devices
  • Merge pull request #382 from diablodale/fix300-errorname skip devices named \"<error>\" in device search
  • Merge branch \'testing_ci\' into develop
  • Merge branch \'fw_stability_fix\' into develop
  • Fixes a stability issue bug that affected PoE devices mostly
  • Added testing CI
  • Add on-device python bindings
  • Add device monotonic timestamp to IMU reports
  • Update FW, fix for custom alinment subpixel interpolation
  • Do subpixel interpolation after LR-check; improves performance to 30fps@800p
  • Merge pull request #378 from diablodale/fix366-qsize0 enable queues of size=0 which only do callbacks
  • Merge branch \'fix334-interopt-dll\' into develop
  • Merge pull request #361 from luxonis/rgbd_depth_align_optimize Rgbd-depth alignment optimization
  • Update mdk - RGB-depth alignment
  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize
  • enable queues of size=0 which only do callbacks
  • Modified env variable logging verbosity
  • log envvar values at TRACE level only (#381)
  • Update FW - adding the RGB scaling factor for the RGB-depth center alignment
  • skip devices named \"<error>\" in device search
  • minor cleanup examples and tests
    • most fixes are signed/unsigned comparison corrections
  • fix Win MSVC cmake INTERPROCEDURAL_OPTIMIZATION - workaround MSVC incompat BUILD_SHARED_LIBS + WINDOWS_EXPORT_ALL_SYMBOLS + INTERPROCEDURAL_OPTIMIZATION

  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize

  • Merge pull request #375 from luxonis/swap_imu_raw_accelerometer_axis Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #374 from luxonis/reenable_feature_tracker_metadata Reenable feature tracker metadata; change default CPU to CSS for Script node

  • Update shared to match FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed non-cv support ImgFrame header

  • Added initial setter chaining for messages

  • Merge branch \'nndata_sequence_num\'

  • Updated style

  • Merge branch \'openvino_blob\' into develop

  • Change bootloader shared submodule to match develop

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Modified docs and type of exception being thrown

  • Documented Blob fields and added blob file size check

  • Merge remote-tracking branch \'jdavidberger/develop\'

  • Updated libnop with renamed Nil enum

  • Merge branch \'msvc_traditional\' into develop

  • Removed the need for conforming MSVC preprocessor

  • Added capability to read blob information

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed env var usage

  • Fixed typo

  • Added search time env variable and moved querying of env variables to happen once

  • Reverted back search timings in USB protocol case

  • Added means of downselecting protocol used by XLink

  • Merge branch \'watchdog_protection\' into develop

  • Merge remote-tracking branch \'origin/poe_improvements\' into develop

  • Update FW with clock related tweaks for feature tracker

  • Updated flash_bootloader example

  • Update shared/FW w/ build fix

  • Improved PoE interaction

  • Merge pull request #359 from luxonis/subpixel_docs_fix Fix subpixel fractional bits documentation

  • Update FW with stereo fixes for instance number; RGB depth alignment

  • Change the resolution to 720p for the RGB-depth alignment example

  • Update FW: optimized RGB-depth alignment

  • Fix subpixel fractional bits documentation

  • Rename AprilTagData to AprilTags

  • Merge pull request #166 from luxonis/gen2_apriltag Add apriltag support

  • Update FW to latest develop

  • Add example for advanced settings

  • Update FW/shared/examples

  • Update docs/FW

  • Expose all config options for april tag detection algorithm

  • Update FW/shared with fixes for TAG_CIR49H12 TAG_CUST48H12 TAG_STAND41H12 TAG_STAND52H13

  • Update FW/shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Apply formatting

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #353 from luxonis/depth_docs Added some clarifications to depth docs

  • Added some clarifications to depth docs

  • Update FW with object tracker KCF fixes

  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop

  • Specify minimum nlohmann version

  • Merge pull request #350 from luxonis/focal_from_intrinsics Use focal length from calibration intrinsics for fisheye cameras

  • Update FW with fisheye lens detection and override option: setFocalLengthFromCalibration

  • Get focal length from calibration intrinsics

  • workaround bootloader-shared var init bug (#347) - manually init class vars as workaround for https://github.com/luxonis/depthai-bootloader-shared/issues/4

  • Update XLink

  • Updated .gitmodules

  • Update FW/XLink to latest

  • Add openvino 2021.4.2 support

  • Revert XLink to latest develop

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated .gitmodules

  • Merge branch \'board_config\' into develop

  • Updated tidy and shared

  • Updated libnop library (#344)

  • Updated XLink library

  • Added watchdog protection in core and XLink

  • Merge pull request #335 from luxonis/confidence_map_rgb_alignment Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • PipelineImpl::create() use make_shared, not raw new() (#341)

  • Updated FW to sync with shared changes

  • Updated shared

  • Fix StereoDepth::setDefaultProfilePreset

  • Added NN examples to tests, added utility conversion from fp16

  • Added NN examples

  • Re-enable feature tracker metadata

  • Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Merge pull request #333 from diablodale/fix284-unreachable Remove unreachable code in DataQueue

  • remove unreachable code in DataQueue

  • add const ADatatype::getRaw(), Buffer::getData(); add copy+move Buffer::setData() (#331)

  • Merge pull request #332 from luxonis/typos_fix Updated depthai-core with typo fixes

  • Updated depthai-shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated multiple devices test

  • XLink library fixes for multiple devices case (#329)

  • Merge branch \'resources_lazy_load_tsan\' into develop

  • Optimized condition_variable usage

  • Configurable FPS for IMX214: 0.735 .. 35 for 1080p, 1.4 .. 30 (28.5 actually, TODO) for 4K/12MP/13MP

  • Update FW with latest apriltag

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Moved over to a condition variable to signify end of lazy loading

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Fix regression for ColorCamera, StereoDepth

  • StereoDepth: check if input/output messages are connected

  • Fix compilation error w/ clang 13

  • Updated XLink

  • Merge remote-tracking branch \'diablodale/fix257-move-owner-threads\' into develop

  • Added initial BoardConfig

  • fix stream+packet ownership/move; fix thread crashes

    • fix many thread/ownership issues for start/stop scenarios
    • XLinkStream::readMove() for moving packet ownership
    • fix XLinkStream move semantics

    - removed all use of XLinkStream::readRaw as often leads to memory violations and/or memory leaks - deprecate all XLinkStream::readRaw...() APIs - fixes luxonis/depthai-core#257

  • Added missing throw statements

  • Add spatialLocationCalculator output message to spatial detection network

  • USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)

  • Merge \'origin/develop\' into oak-d-pro_develop

  • Update FW with ipv6 disabled

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Add RPC for LM3644 IR projector registers read/write on OAK-D-Pro

  • Update FW with xlink thread priority changes

  • Update FW: openvino 2021.4.2 support

  • Update firmware SDK to r17.5

  • Update linking

  • Update bootloader and fixing errors

  • Update shared

  • Merge remote-tracking branch \'origin/develop\' into gen2_apriltag

  • Add apriltag_rgb example

  • Rename, update shared

  • Update FW

  • Update apriltag example

  • Add initial working version

  • Contributors: CsabaGergely, Dale Phurrough, Erik, Erol444, Martin Peterlin, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.14.1 (2022-01-11)

  • Release v2.14.1
  • Fix regression for ColorCamera, StereoDepth
  • StereoDepth: check if input/output messages are connected
  • Contributors: SzabolcsGergely

2.14.0 (2022-01-05)

  • Release v2.14.0
  • Fixed script json communication example
  • Updated libnop
  • Fixed updated Hunter usage
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Bump Hunter to add support for VS2022
  • Update shared/FW
  • Merge pull request #312 from luxonis/connect_timeout_override Override watchdog initial delay and connect/bootup timeout
  • Rename env var DEPTHAI_INIT_WATCHDOG -> DEPTHAI_WATCHDOG_INITIAL_DELAY
  • clangformat changes, <> changed to \"\" as it was suggesting a new-line between <> and \"\" includes, and then alphabetically ordered
  • [DEPTHAI_INIT_WATCHDOG]{.title-ref} env var to set initial delay [ms] for the device watchdog, mainly to be set to larger values for Ethernet case with network equipment that takes long to establish the link. Default: 8s for USB, 15s for ETH
  • Merge \'origin/develop\' into connect_timeout_override
  • Fix serialization of spatial img data
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #308 from luxonis/json_comm_example Added json communication example
  • Updated XLink
  • Update FW; wakeup driven high
  • Set pullup for IMU wakeup pin
  • Added json communication example
  • FeatureTracker: Add support for 4k/12MP inputs
  • Fix typo: assigment -> assignment
  • FW fix for Stereo HW desync when extended is enabled
  • Adds rgb/depth weight slider to rgb_depth_aligned example
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Bump Windows SDK to 10.0.18362.0 with conforming preprocessor support (#306)
  • Updated FW to match shared
  • Added MSVC preprocessor conformance flag
  • Merge pull request #303 from luxonis/typos_fix Typos fix
  • NNData serialize fix (#305)
    • Adds proper TensorInfo to serialized layer
  • Merge branch \'develop_refactor\' into develop
  • Typos fix
  • Updated shared
  • Updated shared
  • Merge branch \'develop\' into develop_refactor
  • Added incoming message parse timing to trace level debugging
  • Merge pull request #301 from diablodale/fix-xlink-local-install-v2 fix 2 for xlink local cmake
  • fix 2 for xlink local cmake
  • Exposed max serialized metadata size
  • Merge branch \'develop\' into develop_refactor
  • Merge pull request #274 from luxonis/stereo_post_processing Added stereo post processing filters
  • Update FW to latest develop
  • Update FW with improved resource allocation for RGB aligment; improved error handling when out of resources
  • Update shared w/ stubgen fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'stubs_improvements\' into develop
  • Fix broken Windows CI
  • Fixed XLink dependency in config mode
  • Fixed exporting XLink when not using a local version
  • Merge pull request #298 from diablodale/fix-xlink-local-install fix xlink cmake install for local, shared, and static
  • FW: Edge case fix for RGB aligment
  • FW update: don\'t apply threshold filtering on confidence map
  • Add depth post processing example
  • Change all examples to use setDefaultProfilePreset
  • Add default preset mode to StereoDepth constructor
  • Add support for runtiem depth aligment mode; improve API
  • fix xlink cmake install for local, shared, and static
  • Merge pull request #297 from luxonis/tracker_docs Added possible tracker types to comment
  • Updated shared
  • Update FW, fix docs build
  • Update FW; add default stereo presets; add configurable HW resources
  • Added possible tracker types to comment
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #296 from diablodale/fix-264-cmake-shared-vars add cmake vars for local depthai-bootloader/shared
  • add cmake vars for local depthai-bootloader/shared
  • Merge pull request #295 from luxonis/fw_yolov5_and_stability FW YoloV5 support and stability updates
  • Updated FW with YoloV5 support and stability improvements
  • Apply thresholding filter on disparity map if depth is not enabled
  • Add configurable decimation filter modes: pixel skipping/non zero median/non zero mean
  • Merge branch \'depthai_clock\' into develop
  • Merge branch \'xlink_mingw_fix\' into develop
  • Add decimation filter
  • Updated XLink with MinGW fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add configurable number of shaves for stereo postprocessing
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Added clock
  • Add spatial filter
  • Clangformat bootloader example
  • Add specle filter
  • Initial version of temporal + thresholding filter
  • Warn if watchdog is disabled, or value overriden. Reason for change: env vars might get forgotten set, and not easy to spot with DEPTHAI_LEVEL=debug
  • Fix strncpy build warning: specified bound 48 equals destination size [-Wstringop-truncation]
  • Override XLink wait for bootup/connect timeouts with env vars: DEPTHAI_CONNECT_TIMEOUT DEPTHAI_BOOTUP_TIMEOUT (in ms) TODO: add in bootBootloader as well
  • Fixed setNumFramesPool for VideoEncoder node
  • Fixed a node crtp issue
  • Merge branch \'node_crtp\' into develop_refactor
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Added CRTP to Nodes
  • Merge branch \'develop\' into libnop_serialization
  • Refactored Nodes to allow for arbitrary properties and removed issues with multiple copies
  • Added libnop dependency and unified serialization
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Removed deprecated usage and added correct output for DetectionNetwork back
  • Updated waitForMessage API and applied across nodes
  • Added IO groups and refactored IO references
  • Added Node Input options and some tests
  • Contributors: Dale Phurrough, Erik, Erol444, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.13.3 (2021-12-01)

  • Release v2.13.3
  • Update FW: zero out uninitialized DDR memory
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Update FW: fix VideoEncoder potential crash (after power-cycle), instability introduced in 2.13.0
  • Merge pull request #281 from luxonis/manual_white_balance Add manual white balance / color temperature camera control
  • Updated XLink with a couple of fixes
  • Update shared/FW: manual_white_balance merged, other fixes:
    • fixes a crash with more than 4x VideoEncoder instances, now up to around 8 should work
    • StereoDepth fix crash with RGB-depth align and missing RGB calib (calibrated with -drgb)
    • StereoDepth fix RGB alignment when running at calib resolution (OAK-D with 800_P or OAK-D-Lite)
    • an error is thrown if multiple cameras have the same socket assigned
  • rgb_camera_control: add manual white balance controls: [[]{.title-ref} []]{.title-ref} [B]{.title-ref}
  • setManualFocus: no need to set OFF mode, auto-handled
  • CameraControl: add [setManualWhiteBalance(colorTemperatureK)]{.title-ref}
  • Contributors: TheMarpe, alex-luxonis

2.13.2 (2021-11-26)

  • Release v2.13.2
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • FW fix for resource allocation issues when setRuntimeModeSwitch is used
  • Contributors: SzabolcsGergely

2.13.1 (2021-11-24)

  • Applied style
  • Merge branch \'develop\' into main
  • Merge branch \'xlink_regression_fix\' into develop
  • Updated XLink to fix SIGPIPE regression
  • fix initialize() thread/except safety (#277)
  • Contributors: Dale Phurrough, TheMarpe

2.13.0 (2021-11-22)

  • Release v2.13.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Update shared/FW
  • Merge pull request #262 from luxonis/oak-d-lite Support for OAK-D-Lite
  • Remove deprecated VideoEncoder frame size config in examples
  • Merge \'origin/develop\' into oak-d-lite
  • VideoEncoder: maxBitrate following bitrate setting in FW, when 0 (default)
  • VideoEncoder: deprecated setting width/height, auto-computed bitrate by default
  • Update FW: VideoEncoder source size configured when receiving 1st frame, allows to run OAK-D examples (e.g configuring mono cameras to 720_P) on OAK-D-Lite without code changes
  • Merge pull request #268 from diablodale/fix248-trunc-2 Correct float literals, 32/64 trunc, unref vars
  • fix errant printf params in examples (#267)
  • enable build in vscode, custom toolchain+include (#258)
    • enable build in vscode, custom toolchain+include
    • fixes luxonis/depthai-core#246
    • self doc dependency options with set(cache)
  • Merge pull request #269 from luxonis/set_ip_example Added Poe set IP example
  • Added poe_set_ip example
  • Updated FW with scripting improvements
  • correct float literals, 32/64 trunc, unref vars
  • Fix styling
  • Update FW/shared
  • Merge branch \'main\' into develop
  • Merge commit \'18c5f8c3d4b4bb3498b515f2cb7a6a61f22db91a\' into develop
  • Fixed style
  • Merge branch \'xlink_macos_fix\' into develop
  • Adds a timeout for closing an XLink connection
  • Add device.getCameraSensorNames RPC call, can be used to differentiate between OAK-D and OAK-D-Lite. Should return: OAK-D : RGB: IMX378, LEFT: OV9282, RIGHT: OV9282 OAK-D-Lite: RGB: IMX214, LEFT: OV7251, RIGHT: OV7251
  • Color/MonoCamera: handle more resolutions for OAK-D-Lite cameras: IMX214 (13MP) and OV7251 (480P)
  • Updated XLink with macOS fix
  • Contributors: Dale Phurrough, Erik, Erol444, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.12.1 (2021-11-17)

  • Merge branch \'win_prebuilt_fix\' into main
  • Cherry picked XLink macos fix
  • Bump version to 2.12.1
  • Fixed Windows prebuilt library
  • Contributors: TheMarpe

2.12.0 (2021-11-13)

  • Merge pull request #261 from luxonis/develop Release v2.12.0
  • Release v2.12.0
  • Merge pull request #256 from luxonis/object_tracker_update Object tracker fixes, updates: 2 new tracking modes: KCF, short-term imageless.
  • Update FW with latest improvements
  • Fixes for object tracker; support for KCF and imageless short term tracking algorithms
  • Merge pull request #245 from luxonis/non_square_yolo_output Add support for non-square YOLO output
  • Update FW before merge
  • Update FW with error reporting for DetectionNetwork
  • Add support for non-square YOLO output
  • Update FW with Script node (DynamicPool) related fixes
  • Merge pull request #216 from luxonis/stereo_depth_fine_tuning Fine tune stereo depth settings
  • Increase LR-check threshold to 10; disparity confidence threshold to 245 by default
  • Add fine tuned stereo settings, configurable P1/P2 cost aggregation parameters
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Revert \"Set fine tuned stereo settings\" This reverts commit 8af5641c0e0d91d89d84bd4de8daa5aceaebc658.
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #240 from luxonis/extended_disparity Add extended disparity mode
  • Update FW before merge
  • Add addtional outputs to output list
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • FW - fixed OpenVINO layer issue
  • Spdlog version change (#239)
    • added spdlog fix
  • Add extended mode debug outputs
  • Merge remote-tracking branch \'origin/develop\' into extended_disparity
  • StereoDepth: Add extended disparity mode
  • Merge pull request #238 from luxonis/disparity_enc Added disparity encoding example
  • Added disparity encoding example
  • Added CMake version into CI and Ubuntu 18.04 fix (#237)
    • Added CMake version into CI
    • Updated ZLIB with fixed ALIAS on imported target
    • CI - Concatenated -D arguments for old CMake version
    • Updated README instructions for CMake version 3.10
    • Fixed Windows build and ZLIB target
    • Removed old CMake build for MSVC
    • Updated -D CMake usage
  • Merge pull request #234 from luxonis/script_forward_frames Added script forward (demux) example
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'main\' into develop
  • Merge pull request #236 from luxonis/catch_dependency_fix_new_glibc Update catch2 package to 2.13.7
  • Update catch2 package to 2.13.7
  • Added script forward (demux) example
  • Restructured README.md (#232)
    • Restructured README
    • Update README.md
    • Update README.md
  • Set fine tuned stereo settings
  • Contributors: Erik, Erol444, Sachin Guruswamy, SzabolcsGergely, TheMarpe, szabi-luxonis

2.11.1 (2021-10-19)

  • Merge pull request #230 from luxonis/develop Release v2.11.1
  • Bump version to 2.11.1
  • Update to latest firmware/depthai-shared
  • Change warning to info
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #229 from luxonis/fix_build_visual_studio_m_pi Fix build with older Visual Studio - M_PI undeclared
  • [#define _USE_MATH_DEFINES]{.title-ref} at the top of the file attempting to fix building with Visual Studio 15 2017: [error C2065: \'M_PI\': undeclared identifier]{.title-ref} https://discord.com/channels/790680891252932659/798284448323731456/899110756413489212
  • Merge pull request #227 from luxonis/examples_sorting Examples sorting
  • Merge pull request #228 from luxonis/sipp_fw_bugfixes Firmware sdk fixes: for ISP/Sipp filter crashes #395
  • Update FW before merge
  • Renamed two examples
  • Internal firmware sdk fixes: for ISP/Stereo/Sipp filter crashes
  • Fixed CMakeLists that should have worked before as well but ok
  • Moved examples out of /src folder
  • Removed fromPlanarFp16() as it\'s not needed
  • Style fix
  • Added script node CPP examples
  • Added examples in their corresponding folders
  • Grouped tiny yolo3/4 together
  • Contributors: Erik, Erol444, SzabolcsGergely, alex-luxonis, szabi-luxonis

2.11.0 (2021-10-13)

  • Merge branch \'develop\' into main
  • Updated formatting
  • Fixed double promotion warning
  • Bumped to v2.11.0
  • Merge branch \'backward_issue_fix\' into develop
  • Backward - Disables use of additional stack unwinding libs
  • Update FW: increase ImageManip warp max out height: 1520 -> 2560
  • Windows prebuilt libraries (#220)
    • Added CI to build Win64 & Win32 prebuilt libraries and upload along the release
  • Merge branch \'spi_improvements\' into develop
  • Merge branch \'develop\' into spi_improvements
  • Hotfix for FW message cache coherency
  • Merge pull request #206 from luxonis/calib_fov_calculated Added getting calculated FOV from intrinsics
  • Merge pull request #212 from SpectacularAI/fix-extrinsic-inversions-in-calibration-handler Fix the inversion formula for extrinsic matrices in CalibrationHandler
  • Fixed for Windows
  • Fix inversion formula for extrinsic matrices in CalibrationHandler
  • Fix styling
  • Merge pull request #218 from luxonis/stereo_confidence_map Add confidence map output to stereo node
  • Update FW to latest develop
  • Update confidence map output docs
  • Add confidence map output to stereo node
  • Merge pull request #217 from luxonis/ppenc_fixes Fix still image output in RGB postprocessing
  • Updated FW with SPI improvements
  • Update FW to latest develop
  • Fix still image output in RGB postprocessing
  • Fix bootloader version example
  • Merge pull request #200 from luxonis/stereo_fixes Stereo improvements, fixes for subpixel, LR-check
  • Sync stereo_depth_video example
  • Update FW/shared to latest develop
  • Replace deprecated getMaxDisparity() function
  • Handle disparity companding in getMaxDisparity
  • Update FW with runtime disparity range fix
  • Add getMaxDisparity() based on subpixel bits
  • Add stereo node output config
  • Update calibration_reader.cpp
  • Add debug outputs to stereo node; expose number of frame pools
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #213 from luxonis/spatial_calc_algo_choice Add option to pick spatial calculation algorithm : average,min,max of...
  • Update FW/shared to latest develop
  • Merge pull request #214 from luxonis/flash_bl_example_fix flash_bootloader example fix
  • Update shared w/ CI fixes
  • flash_bootloader: improve user prompts, when booted over USB / recovery mode: don\'t ask for confirmations, as if flashing is interrupted, recovery mode should still be accessible. Also it was a bit confusing asking to replace USB bootloader (booted as a flasher helper) with NETWORK
  • Update FW to match depthai-shared
  • flash_bootloader: fix flashing NETWORK bootloader (when booted over USB), or flashing a different bootloader type
  • Set bytes per pixel for ImgFrame
  • Add option to pick spatial calculation algorithm : average,min,max of selected ROI
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with subpixel fix
  • Refactor stereo depth config structure
  • Update FW, enable runtime configuration of Stereo node
  • Imu extrinsics (#211)
    • Updated IMU extrinsics
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with stereo confidence runtime config fix
  • Updated Bootloader to 0.0.15
  • Update FW with stereo performance improvements
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • FW - Updated ColorCamera 1080P resolution config
  • Fixed integration issues
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'develop_embedded\' into develop
  • Remove rectification flipping on host, it was resolved in firmware
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Updated FW - fixed cache coherency issue
  • Update FW, for depthai-shared to match with depthai-core
  • Update FW: fix default camera orientation for OAK-1-PoE, was rotated
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Pipeline - number of connections improvement
  • Fixed exception rethrow in DeviceBase
  • Merge pull request #207 from luxonis/imagemanipcfg_helper_functions Add ImageManipConfig helper functions
  • Fixed style checks, added FormatConfig
  • Added alias
  • Add ImageManipConfig helper functions
  • Fixed issues for the PR
  • Added capability to not install signal handlers
  • Added option to calculate FOV based on camera intrinsics. Added this function to calibration_reader and also refactored it so matricies are more readable
  • Merge pull request #205 from luxonis/calib_helper_functions Calib helper functions
  • Fixed typo
  • Style check fix
  • Updated FW to allow for graceful resets
  • Added helper functions to get translation vector and baseline distance
  • Merge pull request #204 from luxonis/extrinsics_translation_cm Specified that translation is in centimeters
  • Specified that translation is in centimeters
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #203 from luxonis/overloading_functions Added some function overloads
  • fix compiling error
  • Added some function overloads
  • Fixed style
  • Added Backward library to print stacktraces on crash
  • Updated FW with GPIO and SPI improvements
  • Merge branch \'throw.nice\' into develop
  • Added flash booted state and handling
  • Merge branch \'device_config\' into develop_embedded
  • Merge branch \'bootloader_updates\' into develop_embedded
  • Fixed incorrect exception message
  • Fixed Windows Platform specific code
  • Fixed Super Speed mode and added a test
  • Updated FW for UsbSpeed handling
  • Added versioning to BL requests and refactored
  • Updated flash_bootloader example
  • Added capability to compress FW and additional BL config helper
  • Reduced BL check to 0.0.14 and updated FW and BL
  • Update FW with stereo LR-check, subpixel fixes; extended mode is not available
  • Apply suggestions by clang-tidy
  • Rename vars as requested
  • Bring the 3 variable ctor into visibility
  • Updated bootloader_configuration example
  • Make data members const
  • Add pertinent info to XLinkError struct
  • Throw XLink specific errors for read/write errors
  • WIP: Bootloader configuration
  • Merge branch \'develop\' into bootloader_updates
  • Fixed boot_memory bootloader upgrade routine
  • Merge branch \'develop\' into bootloader_updates
  • Allow to specify which bootloader is overridden by the env var: [DEPTHAI_BOOTLOADER_BINARY_USB]{.title-ref} [DEPTHAI_BOOTLOADER_BINARY_ETH]{.title-ref} (both can be set)
  • Updated flash_bootloader example
  • Improved the flash_bootloader example a bit
  • Updated flash_bootloader to be a bit more verbose
  • Added an explicit flag to allow flashing bootloader
  • Moved operator<< overloads to global namespace
  • Warn when firmware or bootloader binaries are overriden
    • to confirm it\'s picked up, or to notice when forgotten exported
  • Optional env var DEPTHAI_BOOTLOADER_BINARY to override bootloader FW path, mostly for development
  • Update bootloader: support for more NOR flash chips, fixes issues with flash erasing
  • Revert \"Removed flash_bootloader\" This reverts commit f1f03bcefde92b518fe5a1534b83c3fa919e30e6.
  • Revert \"Removed flash_bootloader example temporarily\" This reverts commit ee2a04e58b995e1bfa0cb03b91f83a45d446ca7f.
  • Updated FW and a catch clause
  • Merge branch \'develop\' into device_config
  • Fixed patching
  • Modified watchdog to use a separate stream
  • Updated preboot and added watchdog configuration
  • Merge branch \'develop\' into device_config
  • Removed deprecated OpenVINO versions
  • Merge branch \'develop\' into device_config
  • Updated example
  • Merge branch \'develop\' into device_config
  • Refactored and added preboot config
  • WIP: Device configuration
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, Otto Seiskari, Sachin Guruswamy, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.10.0 (2021-08-24)

  • Release v2.10.0
  • Merge pull request #201 from luxonis/develop Release v2.10.0
  • Bump version to 2.10.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #199 from luxonis/xlink_chunk_size Configure XLink chunk size
  • Update FW and shared after merge
  • DeviceBase/Device: add {set/get}XLinkChunkSize RPC calls
  • Merge pull request #195 from luxonis/update_readme Update README.md instructions with OpenCV troubleshooting
  • Fix naming [setXlinkChunkSize]{.title-ref} -> [setXLinkChunkSize]{.title-ref}
  • Pipeline: add [setXlinkChunkSize]{.title-ref}
  • Update FW with bilateral fix
  • Update README.md
  • Merge branch \'main\' into develop
  • Merge branch \'deviceBase\' into develop
  • Address review comments
  • Merge pull request #197 from luxonis/sysinfo_docs Fixed display names
  • Fixed display names
  • update code template
  • Merge pull request #196 from luxonis/stereo_crash_workaround Stereo crash workaround
  • Add workaround for stereo subpixel/extended mode crash at the expense of system performance
  • Update README.md instructions with OpenCV troubleshooting
  • Merge pull request #181 from luxonis/feature_tracker Feature tracking support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'main\' into develop
  • Added default constructor as these are not inherited
  • Update FW
  • Applied style
  • Fixes for MSVC ambiguity with overloaded constructors
  • Handle dtor and close without bugs
  • Merge branch \'develop\' into deviceBase
  • Fix build issue
  • Rename function arguments to their alias
  • Fix docs about feature tracking
  • Update shared with type fixes in docs; update FW to latest develop
  • Keep same behavior in DeviceBase as Device wrt starting pipeline
  • Make ctor API simpler for [DeviceBase]{.title-ref} and [Device]{.title-ref}
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Refactor FeatureTrackerConfig
  • Rename feature tracker config fields
  • Shutdown gracefully in case of exception in ctor
  • Add support for hardware accelerated motion estimation
  • Make [connection]{.title-ref} as protected
  • Move startPipeline from DeviceBase to Device
  • Update shared
  • Rename FeatureTrackerData to TrackedFeatures
  • Sync python-cpp examples
  • Add configurable shave/memory resources to feature tracker
  • Update FW with memory optimizations
  • Update FW and shared
  • Add overloaded functions to disable optical flow
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Extend feature tracker configuration
  • Add config fields to feature tracker node
  • Update FW
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Synchronize python-cpp examples
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Update names, make serialize a public function
  • Add note in the documentation of the virtual functions
  • Fix reference to base class function in [dai::Device]{.title-ref}
  • Give more love to StreamPacketParser
  • Make the virtual functios protected and public functions non-virtual
  • Move items around in startPipeline
  • Separate Device and DeviceBase, expose StreamPacketParser
  • Separate Queue handling from core API
  • Update FW with multi instance support
  • Remove leftover code
  • Update trackbar naming
  • Add FeatureTracker node; add cpp example
  • POC: Feature tracker node
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis,

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged depthai at Robotics Stack Exchange

depthai package from depthai repo

depthai

Package Summary

Tags No category tags.
Version 2.24.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/luxonis/depthai-core.git
VCS Type git
VCS Version ros-release
Last Updated 2024-03-06
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

DepthAI core is a C++ library which comes with firmware and an API to interact with OAK Platform

Additional Links

Maintainers

  • Sachin Guruswamy

Authors

  • Martin Peterlin

DepthAI C++ Library

Forum Docs License: MIT

Core C++ library

Documentation

Documentation is available over at Luxonis DepthAI API

Disclaimer

DepthAI library doesn't yet provide API stability guarantees. While we take care to properly deprecate old functions, some changes might still be breaking. We expect to provide API stability from version 3.0.0 onwards.

Dependencies

  • CMake >= 3.10
  • C/C++14 compiler
  • [optional] OpenCV 4 (required if building examples)

MacOS: Optional brew install opencv

Linux: Optional sudo apt install libopencv-dev

Building

Make sure submodules are updated

git submodule update --init --recursive

Then configure and build

cmake -S. -Bbuild
cmake --build build

ℹ️ To speed up build times, use cmake --build build --parallel [num CPU cores] (CMake >= 3.12). For older versions use: Linux/macOS: cmake --build build -- -j[num CPU cores], MSVC: cmake --build build -- /MP[num CPU cores]

⚠️ If any CMake commands error with CMake Error: The source directory "" does not exist. replace argument -S with -H

Dynamic library

To build dynamic version of library configure with following option added

cmake -S. -Bbuild -D'BUILD_SHARED_LIBS=ON'
cmake --build build

Android

Android is supported to some extent but not actively pursued nor tested. PRs with any improvements are welcome.

Steps:

  • Install Android NDK (for example via Android Studio).
  • Set the NDK path:
export ANDROID_HOME=$HOME/.local/lib/Android
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
export NDK=$ANDROID_HOME/ndk/23.1.7779620/ # Check version

  • Ensure a recent version of cmake (apt version is outdated, install snap install cmake --classic)
  • Run cmake, set your ABI and Platform as needed:
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-25
cmake --build build

Running examples

To build the examples configure with following option added

cmake -S. -Bbuild -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build/examples folder and run a preferred example

cd build/examples
./MobileNet/rgb_mobilenet

ℹ️ Multi-Config generators (like Visual Studio on Windows) will have the examples built in build/examples/MobileNet/[Debug/Release/...]/rgb_mobilenet

Integration

Under releases you may find prebuilt library for Windows, for use in either integration method. See Releases

CMake

Targets available to link to are: - depthai::core - Core library, without using opencv internally - depthai::opencv - Core + support for opencv related helper functions (requires OpenCV4)

Using find_package

Build static or dynamic version of library (See: Building and optionally Installing)

Add find_package and target_link_libraries to your project

find_package(depthai CONFIG REQUIRED)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

And point CMake to either build directory or install directory:

-D'depthai_DIR=depthai-core/build'

or

-D'depthai_DIR=depthai-core/build/install/lib/cmake/depthai'

If library was installed to default search path like /usr/local on Linux, specifying depthai_DIR isn't necessary as CMake will find it automatically.

Using add_subdirectory

This method is more intrusive but simpler as it doesn't require building the library separately.

Add add_subdirectory which points to depthai-core folder before project command. Then link to any required targets.

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/depthai-core EXCLUDE_FROM_ALL)
...
project(my-app)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

Non-CMake integration (Visual Studio, Xcode, CodeBlocks, ...)

To integrate into a different build system than CMake, prefered way is compiling as dynamic library and setting correct build options. 1. First build as dynamic library: Building Dynamic library 2. Then install: Installing

In your non-CMake project (new Visual Studio project, ...) 1. Set needed library directories: - build/install/lib (for linking to either depthai-core or depthai-opencv) - build/install/bin (for .dll's) 2. And include directories - build/install/include (library headers) - build/install/include/depthai-shared/3rdparty (shared 3rdparty headers) - build/install/lib/cmake/depthai/dependencies/include (dependency headers)

ℹ️ Threading library might need to be linked to explicitly.

ℹ️ Check build/depthai-core-integration.txt or build/depthai-opencv-integration.txt for up to date define options. The generated integration file also specifies include paths without requiring installation.

Installing

To install specify optional prefix and build target install

cmake -S. -Bbuild -D'CMAKE_INSTALL_PREFIX=[path/to/install/dir]'
cmake --build build --target install

If CMAKE_INSTALL_PREFIX isn't specified, the library is installed under build folder install.

Environment variables

The following environment variables can be set to alter default behavior of the library without having to recompile

Environment variable Description
DEPTHAI_LEVEL Sets logging verbosity, 'trace', 'debug', 'warn', 'error' and 'off'
XLINK_LEVEL Sets logging verbosity of XLink library, 'debug'. 'info', 'warn', 'error', 'fatal' and 'off'
DEPTHAI_INSTALL_SIGNAL_HANDLER Set to 0 to disable installing Backward signal handler for stack trace printing
DEPTHAI_WATCHDOG Sets device watchdog timeout. Useful for debugging (DEPTHAI_WATCHDOG=0), to prevent device reset while the process is paused.
DEPTHAI_WATCHDOG_INITIAL_DELAY Specifies delay after which the device watchdog starts.
DEPTHAI_SEARCH_TIMEOUT Specifies timeout in milliseconds for device searching in blocking functions.
DEPTHAI_CONNECT_TIMEOUT Specifies timeout in milliseconds for establishing a connection to a given device.
DEPTHAI_BOOTUP_TIMEOUT Specifies timeout in milliseconds for waiting the device to boot after sending the binary.
DEPTHAI_PROTOCOL Restricts default search to the specified protocol. Options: any, usb, tcpip.
DEPTHAI_DEVICE_MXID_LIST Restricts default search to the specified MXIDs. Accepts comma separated list of MXIDs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_ID_LIST Alias to MXID list. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_NAME_LIST Restricts default search to the specified NAMEs. Accepts comma separated list of NAMEs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_BINARY Overrides device Firmware binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_USB Overrides device USB Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_ETH Overrides device Network Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_ALLOW_FACTORY_FLASHING Internal use only
DEPTHAI_LIBUSB_ANDROID_JAVAVM JavaVM pointer that is passed to libusb for rootless Android interaction with devices. Interpreted as decimal value of uintptr_t
DEPTHAI_CRASHDUMP Directory in which to save the crash dump.
DEPTHAI_CRASHDUMP_TIMEOUT Specifies the duration in seconds to wait for device reboot when obtaining a crash dump. Crash dump retrieval disabled if 0.

Running tests

To run the tests build the library with the following options

cmake -S. -Bbuild -D'DEPTHAI_TEST_EXAMPLES=ON' -D'DEPTHAI_BUILD_TESTS=ON' -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build folder and run ctest with specified labels that denote device type to test on. Currently available labels: - usb - poe

cd build
# Run tests on USB devices
ctest -L usb
# Run tests on PoE devices
ctest -L poe

Style check

The library uses clang format to enforce a certain coding style. If a style check is failing, run the clangformat target, check the output and push changes.

To use this target clang format must be installed, preferably clang-format-10

sudo apt install clang-format-10

And to apply formatting

cmake --build build --target clangformat

Documentation generation

Doxygen is used to generate documentation. Follow doxygen download and install the required binaries for your platform.

After that specify CMake define -D'DEPTHAI_BUILD_DOCS=ON' and build the target doxygen

Debugging tips

Debugging can be done using Visual Studio Code and either GDB or LLDB (extension 'CodeLLDB'). LLDB in some cases was much faster to step with and resolved more incomplete_type variables than GDB. Your mileage may vary though.

If there is a need to step into Hunter libraries, that can be achieved by removing previous built artifacts

rm -r ~/.hunter

And configuring the project with the following CMake option set to ON

cmake . -D'HUNTER_KEEP_PACKAGE_SOURCES=ON'

This retains the libraries source code, so that debugger can step through it (the paths are already set up correctly)

Troubleshooting

Build fails with missing OpenCV dependency

If your build process happen to fail due to OpenCV library not being found, but you have the OpenCV installed, please run build with additional -D'OpenCV_DIR=...' flag (replacing default Ubuntu path /usr/lib/x86_64-linux-gnu/cmake/opencv4 with yours)

cmake -S. -Bbuild -D'OpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4'

Now the build process should correctly discover your OpenCV installation

Hunter

Hunter is a CMake-only dependency manager for C/C++ projects.

If you are stuck with error message which mentions external libraries (subdirectory of .hunter) like the following:

/usr/bin/ld: /home/[user]/.hunter/_Base/062a19a/ccfed35/a84a713/Install/lib/liblzma.a(stream_flags_decoder.c.o): warning: relocation against `lzma_footer_magic' in read-only section `.text'

Try erasing the Hunter cache folder.

Linux/MacOS:

rm -r ~/.hunter

Windows:

del C:/.hunter

or

del C:/[user]/.hunter

CHANGELOG

Changelog for package depthai

2.24.0 (2024-02-02) -----------* New nodes and messages: * Sync node - syncs multiple inputs based on the timestamp, outputs a message group message * Demux node - demultiplexes message group in multiple messages * Message group message - a new message that can contain a map of arbitrary depthai messages, it\'s the output of the sync node and input to the demux node * Encoded frame message - a new message specialized for encoded frames * New output for the VideoEncoder node (out) for the encoded frame message * Automatic crash dump retrieval for firmware crashes * Added setIrFloodLightIntensity and setIrLaserDotProjectorIntensity methods for setting the intensity normalized between 0 and 1 * Added getConnectionInterfaces method to retrieve the list of available interfaces on a device * Added an option to cap maximum time for exposure when using auto exposure with setAutoExposureLimit * Initial integration for IMX283 and IMX462 * Improve time-syncing between the host and device to achieve sub 300 us offset * Improved max FPS and image quality under low light for OV9282 and OV9782 #926 ,new ranges per resolution of: * THE_800_P: 1.687 .. 129.6 fps * THE_720_P: 1.687 .. 143.1 fps * THE_400_P: 1.687 .. 255.7 fps * Avoid overflow for XLink profiling #933 * Improve XLink stability when using multiple devices luxonis/XLink#73 * Fix a rare bug where the device would hand in the constructor #922 * Fix a bug where XLinkIn didn\'t work correctly for very small and very large buffers * Fix a bug for running multiple stereo nodes with a shared input * On multi-input NeuralNetworks set the output NNData to the newest input timestamp (previously undefined) * Add NOC DDR usage reporting on DEPTHAI_LEVEL=info * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.23.0 (2023-11-14) -----------* ImageManip - configurable interpolation type * Script - added missing bindings for reading device releated data (on device calibration, etc...) * Added Device::getDeviceName and Device::getProductName that target a user name and a \"SKU\" name * Timesync - improved synchronization with tweaks to XLink * Calibration - added housingExtrinsics * Fix CAM_D enumeration on OAK-FFC-4P R7 * BMI270 IMU - fix latency when slow reading * Device related logging * OAK-D-SR-POE - new revision bugfixes * Fix 4 cameras crash on PoE due to memory allocation * Fixed incorrect warp in issue #882 * XLink - updated number of devices to 64 * ToF - median filter and Z map support (still not the final decoding pipeline) * hasAutofocus value fixed and introduced hasAutofocusIC * Added timestamps and sequence numbers to all Message types * Added DEPTHAI_ENABLE_LIBUSB for potentially disabling USB protocol (to not require libusb library) * OV9782 and AR0234 improvements: * OV9782 FPS improvements * AR0234 max exposure time bump to 33ms and improved FSync INPUT mode * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.22.0 (2023-06-15) -----------* UVC Node - Capability to create a pipeline that sends data over UVC (or flash it) * ToF Node - Capability to decode ToF data into a depth map * New devices: OAK-D-SR (fixes), OAK-D-LR R1, OAK-D SR PoE * Reorganized CameraBoardSocket naming * Logging improvements * Added data throughput profiling, per device and globally * Added DEPTHAI_DEVICE_NAME_LIST env var to filter devices by name * Bootloader v0.0.26 - Fix for bootloader crash (USB variant) * Fix for 4 cameras via ETH * Device constructor bugfixes (when taking pipeline, or pipeline with config preapplied, etc...) * XLink - Bugfix for wrongly discovered usb path on Windows * OV9782 startup stream issue fix * #779 - Fixes a parsing issue * #469 - Fixes a stuck case if same stream names are used * Deprecated RGB/LEFT/RIGHT/... CamerBoardSocket naming. Rely on CAM[A-H] or setName API * Add option to clear crash dump * XLink - Added 255.255.255.255 discovery and increased PoE search time * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.2 (2023-04-05) -----------* UPDATE: Use v2.21.2 due to issues this version carries * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.0 (2023-04-03) -----------* Improved x/y accuracy for SpatialLocationCalculator/SpatialDetectionNetwork * Support for median and mode, default changed to median in SpatialLocationCalculator/SpatialDetectionNetwork * Multi stereo support, ability to run stereo between any 2 calibrated cameras * Support for LEFT/RIGHT alignment in stereo node * Support to invalidate edge pixels: setNumInvalidateEdgePixels in Stereo Node * BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated in Stereo Node * Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage in Stereo Node * Fix for RGB-depth alignment when RGB is configured to 12 MP * Crash dump support - support to retrieve crash context from the device which can be shared with developers * Configurable 3A fps - setIsp3aFps * IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API * BMI270 - enable interrupt mode, timestamps are more consistent now * BNO086* - fix for sequence number * AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog), * OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light, * OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure * HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS * FW: fix for UART0 / \'/dev/ttyS0\' init failure in Script node * POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle * [XLink] Increased max number of links from 32 to 64 * Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled * Handle EEPROM boardOptions bit 7 for separate I2C on L/R cameras * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.2 (2023-01-31) -----------* Fix for ColorCamera at high resolution while using isp scaling * Fix for OV9282 SW sync on devices with OV9782 RGB camera * Fix for IMX378/477/577 on sockets other than CAM_A (RGB) * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.1 (2023-01-29) -----------* Modified OpenVINO::VERSION_UNIVERSAL API improvements / backward compatibility * Bootloader version 0.0.24 (fixes for standalone / flashed usecases) * [FW] Status LEDs on some additional devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.1 (2022-11-28) -----------* Added Device getDeviceName API * OAK-FFC 4P (R5M1E5) IR/Dot support * Additional Stability bugfixes to go along with 2.19.0 for PoE devices * Protected productName field in EEPROM * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.0 (2022-09-20) -----------* Stability improvements #616 * isUserBootloaderSupported API * Device.setTimesync(true/false) convenience function to enable or disable subsequent timesyncing * Windows improvements with listing BOOTED devices (\"udev permissions\" issue) * Fix OV9282 as MonoCamera on RGB socket (issue was black image) * Fix crash under high load (regression with camera events streaming) * Fix YOLOv5/7 decoding in case of a single class * Fix image size when decimation filter is enabled * Fix for certain OV9782 and OV9282 permutations/configs * Reset Device timestamp on boot to zero * Reworded \"No available devices\" error message when there are other connected devices connected. * Update CI to Node16 compatible actions

2.17.4 (2022-09-20) -----------* DEPTHAI_WATCHDOG=0 bugfix (245fb57) * V5 Calibration flashing fix * FW log level bugfix (#587) * Updated DeviceBootloader::Config to retain existing values * PoE watchdog issues addressed (74b699c) * XLink - kernel driver detach (fixes some USB connectivity issues) (ba9bd8b) * Added EEPROM clear capability * Added missing installation of DLL files (#550) * Asset RPC refactor * Exposed Device::getAllConnectedDevices() * Exposed FW & BL versions * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.17.3 (2022-08-05) -----------* Updated FW - BMI270 IMU improvements * Added seq & timestamps for more messages * New boards support * Windows DLL improvements (install libusb dll alongside libdepthai-core.dll) * XLink - improved connecting directly to given IP * StereoDepth ImgFrame metadata w/h when decimation filter is enabled * Intrinsic read fix #379 * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.17.0 (2022-07-11) -----------* Support for new S2/Pro devices * FW: support for OAK-D-S2 / OAK-D-Pro using the latest board DM9098 R6M2E6 * Handle new resolutions THE_720_P and THE_800_P for ColorCamera, applicable to OV9782 on RGB/center socket * StereoDepth: Add option for disparity shift to reduce minimum depth * StereoDepth: extended and subpixel mode can be enabled simultaneously * YoloV6 support * Refactor ImageManip node * macOS / Linux shared library and CI improvements * Bootloader improvements * Flash boot improvements * Bootloader improvements (capability to flash and boot from eMMC) * Flashed application information * Memory querying * XLink device search race fix * Capability to flash BoardConfig along with the Pipeline * Added host monitor thread to disconnect offline PoE devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.16.0 (2022-06-15) -----------* OpenVINO 2022.1 support * XLink device search improvements * cross subnets for PoE devices * drastically reduced discovery time * Separated name / IP and MXID, to be able to query both USB path / IP and MXID * Android support * libusb dependency is now managed by Hunter * IMU FW update for BNO sensor * Added DetectionParser node as a standalone component of DetectionNetwork * StereoDepth - subpixel fractional bits API * VideoEncoder - lifted 16 frame pool limitation * Contributors: Sachin, Sachin Guruswamy

2.15.5 (2022-06-02) -----------* EEPROM FIX * Json fix (#478) * Fixed nlohmann json < v3.9.0 compat and toolchain generation * turn off clang format Co-authored-by: Martin Peterlin <martin.peterlin7@gmail.com> Co-authored-by: TheMarpe <martin@luxonis.com> * Empty-Commit * Update package.xml * Contributors: Sachin, Sachin Guruswamy

2.15.4 (2022-05-09)

  • Release 2.15.4
  • Update docs; removed unsupported AprilTag families
  • FW: VideoEncoder: fix keyframe rate config, fix resource computations for JPEG (e.g: MJPEG for 4K video 30fps + MJPEG for still 12MP ~1fps) properly set resources used to allow
  • Update FW
  • Update FW; change behavior of stereo rectification based on stereo camera FOV
  • Merge \'origin/poe_mtu_sysctl\' into develop - #428 Improve PoE throughput and latency for some usecases
  • Update XLink to set TCP_NODELAY, reducing latency
  • Merge \'origin/develop\' into poe_mtu_sysctl
  • Merge branch \'eeprom_version_v7\' into develop
  • Merge branch \'develop\' into eeprom_version_v7
  • Merge branch \'json_compat\' into develop
  • Lowered minimum required nlohmann json version to 3.6.0
  • Set RGB aligned depth output to match mono camera
  • Merge \'ov7251_configurable_fps\' into develop - #455
  • Update FW: fix overriding useHomographyRectification behaviour specified in docs when custom mesh is provided
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #459 from diablodale/fix458-cmaketest-flags reduce num conforming tests; add missing _conforming test suffix
  • reduce tests for MSVC conforming preprocessor - drastically reduce number of tests run for MSVC conforming preprocessor https://github.com/luxonis/depthai-core/pull/459#issuecomment-1108649206 - add option to test harness that indicates when a test is run with the MSVC conforming preprocessor

  • Updated flashing permissions

  • Fix RGB alignment remapping when configured color camera resolution is different from calibration one

  • Updated Bootloader to v0.0.18

  • Updated FW with device EEPROM handling fixes

  • strengthen test for device construct+q+frame

  • Updated bootloader with PCIe internal clock fixes

  • Added capability to create CalibrationHandler from json

  • Fixed factory reset functionality and exposed more functions

  • Updated BL with more build information and new EEPROM data support

  • Updated EEPROM and added another level of permissions

  • add missing _conforming suffix to tests cmake

  • Merge pull request #457 from luxonis/rgb_alignment Enable RGB alignment for spatial detection examples

  • Enable RGB alignment for spatial detection examples

  • Merge pull request #454 from diablodale/test-device-queues1 test case for Device constructor not calling tryStartPipeline()

  • test case for Device constructor not tryStartPipeline() - catch bug and prevent regression as discussed https://github.com/luxonis/depthai-core/commit/7257b95ecfb8dcb77c075e196ac774cc05cb8bc6#commitcomment-71730879

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Update FW: configurable FPS for OV7251: max 99 for 480p, 117 for 400p

  • Added bindings and support for new EEPROM version

  • WIP - modify behavior to be backwards compatible and add checks if calibration is available

  • Added additional EEPROM functionality

  • Applied formatting

  • Merge branch \'main\' into develop

  • Update FW: improve PoE throughput and latency (set net.inet.tcp.delayed_ack=0), add config for MTU (not advised to change for now) and other sysctl params

  • Contributors: Dale Phurrough, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.3 (2022-04-22)

  • Add explicit documentation about loadMesh behavior; specify that only the first 8 distortion coefficients are used
  • Merge pull request #456 from luxonis/macos_ci_test Fix failing CI for MacOS
  • Extend useHomographyRectification documentation with more details
  • Remove brew update
  • Bump version to 2.15.3
  • Merge branch \'release_2.15.3\' into main
  • Clarify docs for homography rectification default behavior
  • Merge pull request #437 from luxonis/warp_mesh_on_device Add on-device mesh generator for Stereo
  • Disable mesh rectification by default; fix error reporting when RGB alignment is enabled and left-right check disabled
  • Fix styling
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'serialization_type\' into develop
  • Fixed incorrect Device constructors not starting the pipeline and creating queues
  • Fixed device Clock.now in Script node to match messages timestamps
  • Modifed serializeToJson to create a json object instead
  • Added Clock.now bindings on device
  • Added capability to serialize pipeline to json
  • Merge pull request #424 from luxonis/bmi270_support IMU: Bmi270 support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #449 from luxonis/openvino_no_blob Openvino: Fix error reporting when blob is not set
  • Removed DEPTHAI_NODISCARD for docs generation
  • Updated libnop (#448)
    • Updated libnop with C++20 fixes and added fs test targeting C++20
    • Added a guard for non-existent tests
    • Modified tests to not require higher CMake version
  • Fix openvino get version
  • Openvino: Fix error reporting when blob is not set
  • Removed deprecated StereoDepth API
  • new class [dai::Path]{.title-ref} for APIs that accept path/filenames (#384)

    • initial dai::Path and test cases
    • fixes luxonis/depthai-core#352
    • move codecvt from header -> cpp
    • add Path::string() and u8string()
    • to enable display/log of Path
    • fmt for dai::Path; NN::setBlobPath(dai::Path)
    • dia::path throws like std::fs::path
    • c++17, pub/pvt header, test cmake c++ std level
    • enable c++17 std::filesystem support and test cases
    • split header into public/private parts

    - cmake for test cases now supports optional c++ standard level param - verify c++ std compiler support for tests

    - add COMPILER_SUPPORTS_CXX{14,17,20,23} vars to Flags.cmake and can be used everywhere - add dai::Path::empty() - add dai::Path to Device, DeviceBase, Resources - simplify Device, DeviceBase constructors by delegating

    - add is_same<> template on constructors with bool param to prevent implicit convert of almost everything to bool - make two DeviceInfo constructors explicit to prevent their use in implicit conversion - relevant test cases - fix minor throw text bugs - fix Device usb2Mode sigs, add test case - add dai::Path to CalibrationHandler - minor refactor dai::Path - enable 2 Calibration+1 Bootloader example - add dai::Path to DeviceBootloader, XLinkConnection - plus test cases - add dai::Path to Pipeline, StereoDepth, AssetManager - plus test cases - add dai::Path to dai::Script + test cases - linux fixes for test cases, and c++14 type_traits - add doxygen to dai::Path - detect compiler c++ std level and update cmake - fix preprocessor flag for tests on MSVC - fixes luxonis/depthai-core/issues#408 - partial dai::Path support for c++20 utf-8 - unable to fully test due to bug #407 - add windows header define WIN32_LEAN_AND_MEAN - rename macro to DEPTHAI_NODISCARD - review feedback

  • Apply style

  • Add on-device mesh generator

  • Initial BMI270 support

  • Contributors: Dale Phurrough, Martin Peterlin, SzabolcsGergely, TheMarpe, szabi-luxonis

2.15.2 (2022-03-30)

  • Release v2.15.2
  • Merge pull request #439 from 0xMihir/main Bump Hunter version
  • chore: bump Hunter version Adds support for MSVC 1931 Using 0.24.0 doesn\'t work because there\'s a duplication error in the nlohmann/json library hunter config file
  • std::exchange needs <utility> to be included (#435) * std::exchange needs <utility> to be included Without <utility> it is gives \"error: 'exchange' is not a member of 'std'\" errors. Ref : https://en.cppreference.com/w/cpp/utility/exchange

    • clang format fix
  • Merge branch \'main\' into develop

  • Fixes #436 - removes temporary warning log in StereoDepth

  • Updated XLink - removed dependency on pthread_getname_np

  • Merge branch \'device_is_closed_fix\' into develop

  • Fixed XLink issue with not erroring on write failures

  • Openvino: improve error logging for out of memory cases

  • Modified to store fisheye Camera model

    • Add getter for distortion model in CalibrationHandler
    • Pad distortion coefficients with 0\'s if there\'s less than 14
    • Only return first four distortion coefficients for Fisheye distortion
  • Merge pull request #430 from luxonis/custom_depth_unit Customizable depth unit

  • Change metre to meter

  • Change millimetre to depth unit where it\'s applicable in docs

  • Add setter/getter utility function for depth unit

  • Add customizable depth unit

  • Merge pull request #427 from luxonis/warp_improvements Warp engine improvements for RGB alignment/stereo rectification

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Warp engine improvements for RGB alignment/stereo rectification

  • Contributors: Mihir Patil, Onuralp Sezer, SzabolcsGergely, TheMarpe, slitcch, szabi-luxonis

2.15.1 (2022-03-16)

  • Merge branch \'release_2.15.1\' into main
  • Merge pull request #426 from luxonis/focal_length_from_calib Use focal length from calibration by default for Stereo node
  • Merge pull request #422 from luxonis/fix_calib_rgb_translation Calib data RGB spec translation fix for some CM3/CM4 boards
  • Set focal length from calibration as default for stereo node
  • Update FW: fix StereoDepth crash with missing EEPROM, report error if missing, do not rotate RGB (AUTO orientation) on OAK-D(-Lite) if EEPROM is missing
  • Merge \'origin/develop\' into fix_calib_rgb_translation
  • Bump version to 2.15.1
  • Merge pull request #421 from luxonis/confidence_map_alignment_opt Optimizing the confidence map alignment
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk: Merge confidence_map_alignment_opt into develop
  • Merge branch \'xlink_race_improvements\' into develop
  • Update FW: patch EEPROM data for incorrectly programmed RGB spec translation, for manually ran calibration on CM3/CM4 boards. Was leading to wrong RGB-depth alignment
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp - remove global variables)
  • Adding a new StereoDepth example rgb_depth_confidence_aligned.cpp for aligning the rgb, depth and confidence frames
  • Updated XLink with only required changes
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp logs)
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Updated XLink with some race fixes and other improvements
  • Updated FW with thermal protection mechanism
  • Merge pull request #398 from diablodale/fix390-callback-moves move semantics with DataOutputQueue::addCallback()
  • Merge pull request #417 from ibaiGorordo/patch-1 Fix Readme links
  • Fix Readme links
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Fix default temporal/spatial filter values when subpixel is enabled
  • Merge pull request #403 from diablodale/fix314-cmpjson verify device json in example script_json_comm
  • Merge pull request #409 from diablodale/fix408-conformflag correct test cmake to add preproc conform flag
  • correct test cmake to add preproc conform flag
  • Updated release template
  • Merge branch \'main\' into develop
  • verify device json in example script_json_comm
  • move semantics in DataOutputQueue::addCallback()
  • Contributors: Dale Phurrough, Ibai Gorordo, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.0 (2022-02-23)

  • Merge branch \'release_2.15.0\' into main
  • Bump version to 2.15.0
  • Merge pull request #287 from luxonis/oak-d-pro_develop Support for OAK-D Pro
  • Merge \'origin/develop\' into oak-d-pro_develop
  • [getIrDrivers]{.title-ref} -> vector of tuples (driverName, i2cBus, i2cAddr). Return if setIrDot/Flood succeeded
  • Merge pull request #401 from luxonis/openvino_version_deprecation Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2021.3
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Merge pull request #405 from luxonis/cfg_fps_lite Configurable RGB FPS on Lite devices, fix RGB orientation
  • Updated test suite for new env var naming
  • Renamed env variable and updated README regarding testing
  • Update FW: RGB orientation fix for OAK-1 (new versions) and OAK-1-Lite
  • Merge \'origin/develop\' into cfg_fps_lite
  • Merge \'origin/develop\' into oak-d-pro_develop
  • IR driver: remove raw register access API
  • IR driver RPC: add [getIrDrivers()]{.title-ref}, update description with limits
  • Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2022.3
  • Merge pull request #389 from luxonis/imu_device_ts Add device monotonic timestamp to IMU reports
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add dot-projector/flood-illuminator brightness control
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Revert \"USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)\" This reverts commit 96691b9a8295c54bea1c04c20bc4ad60091ca536.
  • Update FW: ColorCamera memory optimization when [still]{.title-ref} is not connected, properly handle width-multiple-of-32 (only needed for VideoEncoder), don\'t enforce it on [video]{.title-ref} by default, allow [still]{.title-ref} size smaller than [video]{.title-ref}
  • Modify IMU example: GYRO at 400 hz to avoid spikes
  • Update shared
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #387 from luxonis/subpixel_after_lr_check Do subpixel interpolation once when LR-check is enabled
  • Fix formatting
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Updated shared
  • Fixed crash when device watchdog is disabled
  • Merge pull request #394 from luxonis/skip_invalid_devices Invalid device warnings suppression
  • Suppressed redundant warnings for invalid devices
  • Merge pull request #382 from diablodale/fix300-errorname skip devices named \"<error>\" in device search
  • Merge branch \'testing_ci\' into develop
  • Merge branch \'fw_stability_fix\' into develop
  • Fixes a stability issue bug that affected PoE devices mostly
  • Added testing CI
  • Add on-device python bindings
  • Add device monotonic timestamp to IMU reports
  • Update FW, fix for custom alinment subpixel interpolation
  • Do subpixel interpolation after LR-check; improves performance to 30fps@800p
  • Merge pull request #378 from diablodale/fix366-qsize0 enable queues of size=0 which only do callbacks
  • Merge branch \'fix334-interopt-dll\' into develop
  • Merge pull request #361 from luxonis/rgbd_depth_align_optimize Rgbd-depth alignment optimization
  • Update mdk - RGB-depth alignment
  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize
  • enable queues of size=0 which only do callbacks
  • Modified env variable logging verbosity
  • log envvar values at TRACE level only (#381)
  • Update FW - adding the RGB scaling factor for the RGB-depth center alignment
  • skip devices named \"<error>\" in device search
  • minor cleanup examples and tests
    • most fixes are signed/unsigned comparison corrections
  • fix Win MSVC cmake INTERPROCEDURAL_OPTIMIZATION - workaround MSVC incompat BUILD_SHARED_LIBS + WINDOWS_EXPORT_ALL_SYMBOLS + INTERPROCEDURAL_OPTIMIZATION

  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize

  • Merge pull request #375 from luxonis/swap_imu_raw_accelerometer_axis Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #374 from luxonis/reenable_feature_tracker_metadata Reenable feature tracker metadata; change default CPU to CSS for Script node

  • Update shared to match FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed non-cv support ImgFrame header

  • Added initial setter chaining for messages

  • Merge branch \'nndata_sequence_num\'

  • Updated style

  • Merge branch \'openvino_blob\' into develop

  • Change bootloader shared submodule to match develop

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Modified docs and type of exception being thrown

  • Documented Blob fields and added blob file size check

  • Merge remote-tracking branch \'jdavidberger/develop\'

  • Updated libnop with renamed Nil enum

  • Merge branch \'msvc_traditional\' into develop

  • Removed the need for conforming MSVC preprocessor

  • Added capability to read blob information

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed env var usage

  • Fixed typo

  • Added search time env variable and moved querying of env variables to happen once

  • Reverted back search timings in USB protocol case

  • Added means of downselecting protocol used by XLink

  • Merge branch \'watchdog_protection\' into develop

  • Merge remote-tracking branch \'origin/poe_improvements\' into develop

  • Update FW with clock related tweaks for feature tracker

  • Updated flash_bootloader example

  • Update shared/FW w/ build fix

  • Improved PoE interaction

  • Merge pull request #359 from luxonis/subpixel_docs_fix Fix subpixel fractional bits documentation

  • Update FW with stereo fixes for instance number; RGB depth alignment

  • Change the resolution to 720p for the RGB-depth alignment example

  • Update FW: optimized RGB-depth alignment

  • Fix subpixel fractional bits documentation

  • Rename AprilTagData to AprilTags

  • Merge pull request #166 from luxonis/gen2_apriltag Add apriltag support

  • Update FW to latest develop

  • Add example for advanced settings

  • Update FW/shared/examples

  • Update docs/FW

  • Expose all config options for april tag detection algorithm

  • Update FW/shared with fixes for TAG_CIR49H12 TAG_CUST48H12 TAG_STAND41H12 TAG_STAND52H13

  • Update FW/shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Apply formatting

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #353 from luxonis/depth_docs Added some clarifications to depth docs

  • Added some clarifications to depth docs

  • Update FW with object tracker KCF fixes

  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop

  • Specify minimum nlohmann version

  • Merge pull request #350 from luxonis/focal_from_intrinsics Use focal length from calibration intrinsics for fisheye cameras

  • Update FW with fisheye lens detection and override option: setFocalLengthFromCalibration

  • Get focal length from calibration intrinsics

  • workaround bootloader-shared var init bug (#347) - manually init class vars as workaround for https://github.com/luxonis/depthai-bootloader-shared/issues/4

  • Update XLink

  • Updated .gitmodules

  • Update FW/XLink to latest

  • Add openvino 2021.4.2 support

  • Revert XLink to latest develop

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated .gitmodules

  • Merge branch \'board_config\' into develop

  • Updated tidy and shared

  • Updated libnop library (#344)

  • Updated XLink library

  • Added watchdog protection in core and XLink

  • Merge pull request #335 from luxonis/confidence_map_rgb_alignment Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • PipelineImpl::create() use make_shared, not raw new() (#341)

  • Updated FW to sync with shared changes

  • Updated shared

  • Fix StereoDepth::setDefaultProfilePreset

  • Added NN examples to tests, added utility conversion from fp16

  • Added NN examples

  • Re-enable feature tracker metadata

  • Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Merge pull request #333 from diablodale/fix284-unreachable Remove unreachable code in DataQueue

  • remove unreachable code in DataQueue

  • add const ADatatype::getRaw(), Buffer::getData(); add copy+move Buffer::setData() (#331)

  • Merge pull request #332 from luxonis/typos_fix Updated depthai-core with typo fixes

  • Updated depthai-shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated multiple devices test

  • XLink library fixes for multiple devices case (#329)

  • Merge branch \'resources_lazy_load_tsan\' into develop

  • Optimized condition_variable usage

  • Configurable FPS for IMX214: 0.735 .. 35 for 1080p, 1.4 .. 30 (28.5 actually, TODO) for 4K/12MP/13MP

  • Update FW with latest apriltag

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Moved over to a condition variable to signify end of lazy loading

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Fix regression for ColorCamera, StereoDepth

  • StereoDepth: check if input/output messages are connected

  • Fix compilation error w/ clang 13

  • Updated XLink

  • Merge remote-tracking branch \'diablodale/fix257-move-owner-threads\' into develop

  • Added initial BoardConfig

  • fix stream+packet ownership/move; fix thread crashes

    • fix many thread/ownership issues for start/stop scenarios
    • XLinkStream::readMove() for moving packet ownership
    • fix XLinkStream move semantics

    - removed all use of XLinkStream::readRaw as often leads to memory violations and/or memory leaks - deprecate all XLinkStream::readRaw...() APIs - fixes luxonis/depthai-core#257

  • Added missing throw statements

  • Add spatialLocationCalculator output message to spatial detection network

  • USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)

  • Merge \'origin/develop\' into oak-d-pro_develop

  • Update FW with ipv6 disabled

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Add RPC for LM3644 IR projector registers read/write on OAK-D-Pro

  • Update FW with xlink thread priority changes

  • Update FW: openvino 2021.4.2 support

  • Update firmware SDK to r17.5

  • Update linking

  • Update bootloader and fixing errors

  • Update shared

  • Merge remote-tracking branch \'origin/develop\' into gen2_apriltag

  • Add apriltag_rgb example

  • Rename, update shared

  • Update FW

  • Update apriltag example

  • Add initial working version

  • Contributors: CsabaGergely, Dale Phurrough, Erik, Erol444, Martin Peterlin, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.14.1 (2022-01-11)

  • Release v2.14.1
  • Fix regression for ColorCamera, StereoDepth
  • StereoDepth: check if input/output messages are connected
  • Contributors: SzabolcsGergely

2.14.0 (2022-01-05)

  • Release v2.14.0
  • Fixed script json communication example
  • Updated libnop
  • Fixed updated Hunter usage
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Bump Hunter to add support for VS2022
  • Update shared/FW
  • Merge pull request #312 from luxonis/connect_timeout_override Override watchdog initial delay and connect/bootup timeout
  • Rename env var DEPTHAI_INIT_WATCHDOG -> DEPTHAI_WATCHDOG_INITIAL_DELAY
  • clangformat changes, <> changed to \"\" as it was suggesting a new-line between <> and \"\" includes, and then alphabetically ordered
  • [DEPTHAI_INIT_WATCHDOG]{.title-ref} env var to set initial delay [ms] for the device watchdog, mainly to be set to larger values for Ethernet case with network equipment that takes long to establish the link. Default: 8s for USB, 15s for ETH
  • Merge \'origin/develop\' into connect_timeout_override
  • Fix serialization of spatial img data
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #308 from luxonis/json_comm_example Added json communication example
  • Updated XLink
  • Update FW; wakeup driven high
  • Set pullup for IMU wakeup pin
  • Added json communication example
  • FeatureTracker: Add support for 4k/12MP inputs
  • Fix typo: assigment -> assignment
  • FW fix for Stereo HW desync when extended is enabled
  • Adds rgb/depth weight slider to rgb_depth_aligned example
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Bump Windows SDK to 10.0.18362.0 with conforming preprocessor support (#306)
  • Updated FW to match shared
  • Added MSVC preprocessor conformance flag
  • Merge pull request #303 from luxonis/typos_fix Typos fix
  • NNData serialize fix (#305)
    • Adds proper TensorInfo to serialized layer
  • Merge branch \'develop_refactor\' into develop
  • Typos fix
  • Updated shared
  • Updated shared
  • Merge branch \'develop\' into develop_refactor
  • Added incoming message parse timing to trace level debugging
  • Merge pull request #301 from diablodale/fix-xlink-local-install-v2 fix 2 for xlink local cmake
  • fix 2 for xlink local cmake
  • Exposed max serialized metadata size
  • Merge branch \'develop\' into develop_refactor
  • Merge pull request #274 from luxonis/stereo_post_processing Added stereo post processing filters
  • Update FW to latest develop
  • Update FW with improved resource allocation for RGB aligment; improved error handling when out of resources
  • Update shared w/ stubgen fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'stubs_improvements\' into develop
  • Fix broken Windows CI
  • Fixed XLink dependency in config mode
  • Fixed exporting XLink when not using a local version
  • Merge pull request #298 from diablodale/fix-xlink-local-install fix xlink cmake install for local, shared, and static
  • FW: Edge case fix for RGB aligment
  • FW update: don\'t apply threshold filtering on confidence map
  • Add depth post processing example
  • Change all examples to use setDefaultProfilePreset
  • Add default preset mode to StereoDepth constructor
  • Add support for runtiem depth aligment mode; improve API
  • fix xlink cmake install for local, shared, and static
  • Merge pull request #297 from luxonis/tracker_docs Added possible tracker types to comment
  • Updated shared
  • Update FW, fix docs build
  • Update FW; add default stereo presets; add configurable HW resources
  • Added possible tracker types to comment
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #296 from diablodale/fix-264-cmake-shared-vars add cmake vars for local depthai-bootloader/shared
  • add cmake vars for local depthai-bootloader/shared
  • Merge pull request #295 from luxonis/fw_yolov5_and_stability FW YoloV5 support and stability updates
  • Updated FW with YoloV5 support and stability improvements
  • Apply thresholding filter on disparity map if depth is not enabled
  • Add configurable decimation filter modes: pixel skipping/non zero median/non zero mean
  • Merge branch \'depthai_clock\' into develop
  • Merge branch \'xlink_mingw_fix\' into develop
  • Add decimation filter
  • Updated XLink with MinGW fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add configurable number of shaves for stereo postprocessing
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Added clock
  • Add spatial filter
  • Clangformat bootloader example
  • Add specle filter
  • Initial version of temporal + thresholding filter
  • Warn if watchdog is disabled, or value overriden. Reason for change: env vars might get forgotten set, and not easy to spot with DEPTHAI_LEVEL=debug
  • Fix strncpy build warning: specified bound 48 equals destination size [-Wstringop-truncation]
  • Override XLink wait for bootup/connect timeouts with env vars: DEPTHAI_CONNECT_TIMEOUT DEPTHAI_BOOTUP_TIMEOUT (in ms) TODO: add in bootBootloader as well
  • Fixed setNumFramesPool for VideoEncoder node
  • Fixed a node crtp issue
  • Merge branch \'node_crtp\' into develop_refactor
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Added CRTP to Nodes
  • Merge branch \'develop\' into libnop_serialization
  • Refactored Nodes to allow for arbitrary properties and removed issues with multiple copies
  • Added libnop dependency and unified serialization
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Removed deprecated usage and added correct output for DetectionNetwork back
  • Updated waitForMessage API and applied across nodes
  • Added IO groups and refactored IO references
  • Added Node Input options and some tests
  • Contributors: Dale Phurrough, Erik, Erol444, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.13.3 (2021-12-01)

  • Release v2.13.3
  • Update FW: zero out uninitialized DDR memory
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Update FW: fix VideoEncoder potential crash (after power-cycle), instability introduced in 2.13.0
  • Merge pull request #281 from luxonis/manual_white_balance Add manual white balance / color temperature camera control
  • Updated XLink with a couple of fixes
  • Update shared/FW: manual_white_balance merged, other fixes:
    • fixes a crash with more than 4x VideoEncoder instances, now up to around 8 should work
    • StereoDepth fix crash with RGB-depth align and missing RGB calib (calibrated with -drgb)
    • StereoDepth fix RGB alignment when running at calib resolution (OAK-D with 800_P or OAK-D-Lite)
    • an error is thrown if multiple cameras have the same socket assigned
  • rgb_camera_control: add manual white balance controls: [[]{.title-ref} []]{.title-ref} [B]{.title-ref}
  • setManualFocus: no need to set OFF mode, auto-handled
  • CameraControl: add [setManualWhiteBalance(colorTemperatureK)]{.title-ref}
  • Contributors: TheMarpe, alex-luxonis

2.13.2 (2021-11-26)

  • Release v2.13.2
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • FW fix for resource allocation issues when setRuntimeModeSwitch is used
  • Contributors: SzabolcsGergely

2.13.1 (2021-11-24)

  • Applied style
  • Merge branch \'develop\' into main
  • Merge branch \'xlink_regression_fix\' into develop
  • Updated XLink to fix SIGPIPE regression
  • fix initialize() thread/except safety (#277)
  • Contributors: Dale Phurrough, TheMarpe

2.13.0 (2021-11-22)

  • Release v2.13.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Update shared/FW
  • Merge pull request #262 from luxonis/oak-d-lite Support for OAK-D-Lite
  • Remove deprecated VideoEncoder frame size config in examples
  • Merge \'origin/develop\' into oak-d-lite
  • VideoEncoder: maxBitrate following bitrate setting in FW, when 0 (default)
  • VideoEncoder: deprecated setting width/height, auto-computed bitrate by default
  • Update FW: VideoEncoder source size configured when receiving 1st frame, allows to run OAK-D examples (e.g configuring mono cameras to 720_P) on OAK-D-Lite without code changes
  • Merge pull request #268 from diablodale/fix248-trunc-2 Correct float literals, 32/64 trunc, unref vars
  • fix errant printf params in examples (#267)
  • enable build in vscode, custom toolchain+include (#258)
    • enable build in vscode, custom toolchain+include
    • fixes luxonis/depthai-core#246
    • self doc dependency options with set(cache)
  • Merge pull request #269 from luxonis/set_ip_example Added Poe set IP example
  • Added poe_set_ip example
  • Updated FW with scripting improvements
  • correct float literals, 32/64 trunc, unref vars
  • Fix styling
  • Update FW/shared
  • Merge branch \'main\' into develop
  • Merge commit \'18c5f8c3d4b4bb3498b515f2cb7a6a61f22db91a\' into develop
  • Fixed style
  • Merge branch \'xlink_macos_fix\' into develop
  • Adds a timeout for closing an XLink connection
  • Add device.getCameraSensorNames RPC call, can be used to differentiate between OAK-D and OAK-D-Lite. Should return: OAK-D : RGB: IMX378, LEFT: OV9282, RIGHT: OV9282 OAK-D-Lite: RGB: IMX214, LEFT: OV7251, RIGHT: OV7251
  • Color/MonoCamera: handle more resolutions for OAK-D-Lite cameras: IMX214 (13MP) and OV7251 (480P)
  • Updated XLink with macOS fix
  • Contributors: Dale Phurrough, Erik, Erol444, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.12.1 (2021-11-17)

  • Merge branch \'win_prebuilt_fix\' into main
  • Cherry picked XLink macos fix
  • Bump version to 2.12.1
  • Fixed Windows prebuilt library
  • Contributors: TheMarpe

2.12.0 (2021-11-13)

  • Merge pull request #261 from luxonis/develop Release v2.12.0
  • Release v2.12.0
  • Merge pull request #256 from luxonis/object_tracker_update Object tracker fixes, updates: 2 new tracking modes: KCF, short-term imageless.
  • Update FW with latest improvements
  • Fixes for object tracker; support for KCF and imageless short term tracking algorithms
  • Merge pull request #245 from luxonis/non_square_yolo_output Add support for non-square YOLO output
  • Update FW before merge
  • Update FW with error reporting for DetectionNetwork
  • Add support for non-square YOLO output
  • Update FW with Script node (DynamicPool) related fixes
  • Merge pull request #216 from luxonis/stereo_depth_fine_tuning Fine tune stereo depth settings
  • Increase LR-check threshold to 10; disparity confidence threshold to 245 by default
  • Add fine tuned stereo settings, configurable P1/P2 cost aggregation parameters
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Revert \"Set fine tuned stereo settings\" This reverts commit 8af5641c0e0d91d89d84bd4de8daa5aceaebc658.
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #240 from luxonis/extended_disparity Add extended disparity mode
  • Update FW before merge
  • Add addtional outputs to output list
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • FW - fixed OpenVINO layer issue
  • Spdlog version change (#239)
    • added spdlog fix
  • Add extended mode debug outputs
  • Merge remote-tracking branch \'origin/develop\' into extended_disparity
  • StereoDepth: Add extended disparity mode
  • Merge pull request #238 from luxonis/disparity_enc Added disparity encoding example
  • Added disparity encoding example
  • Added CMake version into CI and Ubuntu 18.04 fix (#237)
    • Added CMake version into CI
    • Updated ZLIB with fixed ALIAS on imported target
    • CI - Concatenated -D arguments for old CMake version
    • Updated README instructions for CMake version 3.10
    • Fixed Windows build and ZLIB target
    • Removed old CMake build for MSVC
    • Updated -D CMake usage
  • Merge pull request #234 from luxonis/script_forward_frames Added script forward (demux) example
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'main\' into develop
  • Merge pull request #236 from luxonis/catch_dependency_fix_new_glibc Update catch2 package to 2.13.7
  • Update catch2 package to 2.13.7
  • Added script forward (demux) example
  • Restructured README.md (#232)
    • Restructured README
    • Update README.md
    • Update README.md
  • Set fine tuned stereo settings
  • Contributors: Erik, Erol444, Sachin Guruswamy, SzabolcsGergely, TheMarpe, szabi-luxonis

2.11.1 (2021-10-19)

  • Merge pull request #230 from luxonis/develop Release v2.11.1
  • Bump version to 2.11.1
  • Update to latest firmware/depthai-shared
  • Change warning to info
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #229 from luxonis/fix_build_visual_studio_m_pi Fix build with older Visual Studio - M_PI undeclared
  • [#define _USE_MATH_DEFINES]{.title-ref} at the top of the file attempting to fix building with Visual Studio 15 2017: [error C2065: \'M_PI\': undeclared identifier]{.title-ref} https://discord.com/channels/790680891252932659/798284448323731456/899110756413489212
  • Merge pull request #227 from luxonis/examples_sorting Examples sorting
  • Merge pull request #228 from luxonis/sipp_fw_bugfixes Firmware sdk fixes: for ISP/Sipp filter crashes #395
  • Update FW before merge
  • Renamed two examples
  • Internal firmware sdk fixes: for ISP/Stereo/Sipp filter crashes
  • Fixed CMakeLists that should have worked before as well but ok
  • Moved examples out of /src folder
  • Removed fromPlanarFp16() as it\'s not needed
  • Style fix
  • Added script node CPP examples
  • Added examples in their corresponding folders
  • Grouped tiny yolo3/4 together
  • Contributors: Erik, Erol444, SzabolcsGergely, alex-luxonis, szabi-luxonis

2.11.0 (2021-10-13)

  • Merge branch \'develop\' into main
  • Updated formatting
  • Fixed double promotion warning
  • Bumped to v2.11.0
  • Merge branch \'backward_issue_fix\' into develop
  • Backward - Disables use of additional stack unwinding libs
  • Update FW: increase ImageManip warp max out height: 1520 -> 2560
  • Windows prebuilt libraries (#220)
    • Added CI to build Win64 & Win32 prebuilt libraries and upload along the release
  • Merge branch \'spi_improvements\' into develop
  • Merge branch \'develop\' into spi_improvements
  • Hotfix for FW message cache coherency
  • Merge pull request #206 from luxonis/calib_fov_calculated Added getting calculated FOV from intrinsics
  • Merge pull request #212 from SpectacularAI/fix-extrinsic-inversions-in-calibration-handler Fix the inversion formula for extrinsic matrices in CalibrationHandler
  • Fixed for Windows
  • Fix inversion formula for extrinsic matrices in CalibrationHandler
  • Fix styling
  • Merge pull request #218 from luxonis/stereo_confidence_map Add confidence map output to stereo node
  • Update FW to latest develop
  • Update confidence map output docs
  • Add confidence map output to stereo node
  • Merge pull request #217 from luxonis/ppenc_fixes Fix still image output in RGB postprocessing
  • Updated FW with SPI improvements
  • Update FW to latest develop
  • Fix still image output in RGB postprocessing
  • Fix bootloader version example
  • Merge pull request #200 from luxonis/stereo_fixes Stereo improvements, fixes for subpixel, LR-check
  • Sync stereo_depth_video example
  • Update FW/shared to latest develop
  • Replace deprecated getMaxDisparity() function
  • Handle disparity companding in getMaxDisparity
  • Update FW with runtime disparity range fix
  • Add getMaxDisparity() based on subpixel bits
  • Add stereo node output config
  • Update calibration_reader.cpp
  • Add debug outputs to stereo node; expose number of frame pools
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #213 from luxonis/spatial_calc_algo_choice Add option to pick spatial calculation algorithm : average,min,max of...
  • Update FW/shared to latest develop
  • Merge pull request #214 from luxonis/flash_bl_example_fix flash_bootloader example fix
  • Update shared w/ CI fixes
  • flash_bootloader: improve user prompts, when booted over USB / recovery mode: don\'t ask for confirmations, as if flashing is interrupted, recovery mode should still be accessible. Also it was a bit confusing asking to replace USB bootloader (booted as a flasher helper) with NETWORK
  • Update FW to match depthai-shared
  • flash_bootloader: fix flashing NETWORK bootloader (when booted over USB), or flashing a different bootloader type
  • Set bytes per pixel for ImgFrame
  • Add option to pick spatial calculation algorithm : average,min,max of selected ROI
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with subpixel fix
  • Refactor stereo depth config structure
  • Update FW, enable runtime configuration of Stereo node
  • Imu extrinsics (#211)
    • Updated IMU extrinsics
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with stereo confidence runtime config fix
  • Updated Bootloader to 0.0.15
  • Update FW with stereo performance improvements
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • FW - Updated ColorCamera 1080P resolution config
  • Fixed integration issues
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'develop_embedded\' into develop
  • Remove rectification flipping on host, it was resolved in firmware
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Updated FW - fixed cache coherency issue
  • Update FW, for depthai-shared to match with depthai-core
  • Update FW: fix default camera orientation for OAK-1-PoE, was rotated
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Pipeline - number of connections improvement
  • Fixed exception rethrow in DeviceBase
  • Merge pull request #207 from luxonis/imagemanipcfg_helper_functions Add ImageManipConfig helper functions
  • Fixed style checks, added FormatConfig
  • Added alias
  • Add ImageManipConfig helper functions
  • Fixed issues for the PR
  • Added capability to not install signal handlers
  • Added option to calculate FOV based on camera intrinsics. Added this function to calibration_reader and also refactored it so matricies are more readable
  • Merge pull request #205 from luxonis/calib_helper_functions Calib helper functions
  • Fixed typo
  • Style check fix
  • Updated FW to allow for graceful resets
  • Added helper functions to get translation vector and baseline distance
  • Merge pull request #204 from luxonis/extrinsics_translation_cm Specified that translation is in centimeters
  • Specified that translation is in centimeters
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #203 from luxonis/overloading_functions Added some function overloads
  • fix compiling error
  • Added some function overloads
  • Fixed style
  • Added Backward library to print stacktraces on crash
  • Updated FW with GPIO and SPI improvements
  • Merge branch \'throw.nice\' into develop
  • Added flash booted state and handling
  • Merge branch \'device_config\' into develop_embedded
  • Merge branch \'bootloader_updates\' into develop_embedded
  • Fixed incorrect exception message
  • Fixed Windows Platform specific code
  • Fixed Super Speed mode and added a test
  • Updated FW for UsbSpeed handling
  • Added versioning to BL requests and refactored
  • Updated flash_bootloader example
  • Added capability to compress FW and additional BL config helper
  • Reduced BL check to 0.0.14 and updated FW and BL
  • Update FW with stereo LR-check, subpixel fixes; extended mode is not available
  • Apply suggestions by clang-tidy
  • Rename vars as requested
  • Bring the 3 variable ctor into visibility
  • Updated bootloader_configuration example
  • Make data members const
  • Add pertinent info to XLinkError struct
  • Throw XLink specific errors for read/write errors
  • WIP: Bootloader configuration
  • Merge branch \'develop\' into bootloader_updates
  • Fixed boot_memory bootloader upgrade routine
  • Merge branch \'develop\' into bootloader_updates
  • Allow to specify which bootloader is overridden by the env var: [DEPTHAI_BOOTLOADER_BINARY_USB]{.title-ref} [DEPTHAI_BOOTLOADER_BINARY_ETH]{.title-ref} (both can be set)
  • Updated flash_bootloader example
  • Improved the flash_bootloader example a bit
  • Updated flash_bootloader to be a bit more verbose
  • Added an explicit flag to allow flashing bootloader
  • Moved operator<< overloads to global namespace
  • Warn when firmware or bootloader binaries are overriden
    • to confirm it\'s picked up, or to notice when forgotten exported
  • Optional env var DEPTHAI_BOOTLOADER_BINARY to override bootloader FW path, mostly for development
  • Update bootloader: support for more NOR flash chips, fixes issues with flash erasing
  • Revert \"Removed flash_bootloader\" This reverts commit f1f03bcefde92b518fe5a1534b83c3fa919e30e6.
  • Revert \"Removed flash_bootloader example temporarily\" This reverts commit ee2a04e58b995e1bfa0cb03b91f83a45d446ca7f.
  • Updated FW and a catch clause
  • Merge branch \'develop\' into device_config
  • Fixed patching
  • Modified watchdog to use a separate stream
  • Updated preboot and added watchdog configuration
  • Merge branch \'develop\' into device_config
  • Removed deprecated OpenVINO versions
  • Merge branch \'develop\' into device_config
  • Updated example
  • Merge branch \'develop\' into device_config
  • Refactored and added preboot config
  • WIP: Device configuration
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, Otto Seiskari, Sachin Guruswamy, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.10.0 (2021-08-24)

  • Release v2.10.0
  • Merge pull request #201 from luxonis/develop Release v2.10.0
  • Bump version to 2.10.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #199 from luxonis/xlink_chunk_size Configure XLink chunk size
  • Update FW and shared after merge
  • DeviceBase/Device: add {set/get}XLinkChunkSize RPC calls
  • Merge pull request #195 from luxonis/update_readme Update README.md instructions with OpenCV troubleshooting
  • Fix naming [setXlinkChunkSize]{.title-ref} -> [setXLinkChunkSize]{.title-ref}
  • Pipeline: add [setXlinkChunkSize]{.title-ref}
  • Update FW with bilateral fix
  • Update README.md
  • Merge branch \'main\' into develop
  • Merge branch \'deviceBase\' into develop
  • Address review comments
  • Merge pull request #197 from luxonis/sysinfo_docs Fixed display names
  • Fixed display names
  • update code template
  • Merge pull request #196 from luxonis/stereo_crash_workaround Stereo crash workaround
  • Add workaround for stereo subpixel/extended mode crash at the expense of system performance
  • Update README.md instructions with OpenCV troubleshooting
  • Merge pull request #181 from luxonis/feature_tracker Feature tracking support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'main\' into develop
  • Added default constructor as these are not inherited
  • Update FW
  • Applied style
  • Fixes for MSVC ambiguity with overloaded constructors
  • Handle dtor and close without bugs
  • Merge branch \'develop\' into deviceBase
  • Fix build issue
  • Rename function arguments to their alias
  • Fix docs about feature tracking
  • Update shared with type fixes in docs; update FW to latest develop
  • Keep same behavior in DeviceBase as Device wrt starting pipeline
  • Make ctor API simpler for [DeviceBase]{.title-ref} and [Device]{.title-ref}
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Refactor FeatureTrackerConfig
  • Rename feature tracker config fields
  • Shutdown gracefully in case of exception in ctor
  • Add support for hardware accelerated motion estimation
  • Make [connection]{.title-ref} as protected
  • Move startPipeline from DeviceBase to Device
  • Update shared
  • Rename FeatureTrackerData to TrackedFeatures
  • Sync python-cpp examples
  • Add configurable shave/memory resources to feature tracker
  • Update FW with memory optimizations
  • Update FW and shared
  • Add overloaded functions to disable optical flow
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Extend feature tracker configuration
  • Add config fields to feature tracker node
  • Update FW
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Synchronize python-cpp examples
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Update names, make serialize a public function
  • Add note in the documentation of the virtual functions
  • Fix reference to base class function in [dai::Device]{.title-ref}
  • Give more love to StreamPacketParser
  • Make the virtual functios protected and public functions non-virtual
  • Move items around in startPipeline
  • Separate Device and DeviceBase, expose StreamPacketParser
  • Separate Queue handling from core API
  • Update FW with multi instance support
  • Remove leftover code
  • Update trackbar naming
  • Add FeatureTracker node; add cpp example
  • POC: Feature tracker node
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis,

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged depthai at Robotics Stack Exchange

depthai package from depthai repo

depthai

Package Summary

Tags No category tags.
Version 2.24.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/luxonis/depthai-core.git
VCS Type git
VCS Version ros-release
Last Updated 2024-03-06
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

DepthAI core is a C++ library which comes with firmware and an API to interact with OAK Platform

Additional Links

Maintainers

  • Sachin Guruswamy

Authors

  • Martin Peterlin

DepthAI C++ Library

Forum Docs License: MIT

Core C++ library

Documentation

Documentation is available over at Luxonis DepthAI API

Disclaimer

DepthAI library doesn't yet provide API stability guarantees. While we take care to properly deprecate old functions, some changes might still be breaking. We expect to provide API stability from version 3.0.0 onwards.

Dependencies

  • CMake >= 3.10
  • C/C++14 compiler
  • [optional] OpenCV 4 (required if building examples)

MacOS: Optional brew install opencv

Linux: Optional sudo apt install libopencv-dev

Building

Make sure submodules are updated

git submodule update --init --recursive

Then configure and build

cmake -S. -Bbuild
cmake --build build

ℹ️ To speed up build times, use cmake --build build --parallel [num CPU cores] (CMake >= 3.12). For older versions use: Linux/macOS: cmake --build build -- -j[num CPU cores], MSVC: cmake --build build -- /MP[num CPU cores]

⚠️ If any CMake commands error with CMake Error: The source directory "" does not exist. replace argument -S with -H

Dynamic library

To build dynamic version of library configure with following option added

cmake -S. -Bbuild -D'BUILD_SHARED_LIBS=ON'
cmake --build build

Android

Android is supported to some extent but not actively pursued nor tested. PRs with any improvements are welcome.

Steps:

  • Install Android NDK (for example via Android Studio).
  • Set the NDK path:
export ANDROID_HOME=$HOME/.local/lib/Android
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
export NDK=$ANDROID_HOME/ndk/23.1.7779620/ # Check version

  • Ensure a recent version of cmake (apt version is outdated, install snap install cmake --classic)
  • Run cmake, set your ABI and Platform as needed:
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-25
cmake --build build

Running examples

To build the examples configure with following option added

cmake -S. -Bbuild -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build/examples folder and run a preferred example

cd build/examples
./MobileNet/rgb_mobilenet

ℹ️ Multi-Config generators (like Visual Studio on Windows) will have the examples built in build/examples/MobileNet/[Debug/Release/...]/rgb_mobilenet

Integration

Under releases you may find prebuilt library for Windows, for use in either integration method. See Releases

CMake

Targets available to link to are: - depthai::core - Core library, without using opencv internally - depthai::opencv - Core + support for opencv related helper functions (requires OpenCV4)

Using find_package

Build static or dynamic version of library (See: Building and optionally Installing)

Add find_package and target_link_libraries to your project

find_package(depthai CONFIG REQUIRED)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

And point CMake to either build directory or install directory:

-D'depthai_DIR=depthai-core/build'

or

-D'depthai_DIR=depthai-core/build/install/lib/cmake/depthai'

If library was installed to default search path like /usr/local on Linux, specifying depthai_DIR isn't necessary as CMake will find it automatically.

Using add_subdirectory

This method is more intrusive but simpler as it doesn't require building the library separately.

Add add_subdirectory which points to depthai-core folder before project command. Then link to any required targets.

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/depthai-core EXCLUDE_FROM_ALL)
...
project(my-app)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

Non-CMake integration (Visual Studio, Xcode, CodeBlocks, ...)

To integrate into a different build system than CMake, prefered way is compiling as dynamic library and setting correct build options. 1. First build as dynamic library: Building Dynamic library 2. Then install: Installing

In your non-CMake project (new Visual Studio project, ...) 1. Set needed library directories: - build/install/lib (for linking to either depthai-core or depthai-opencv) - build/install/bin (for .dll's) 2. And include directories - build/install/include (library headers) - build/install/include/depthai-shared/3rdparty (shared 3rdparty headers) - build/install/lib/cmake/depthai/dependencies/include (dependency headers)

ℹ️ Threading library might need to be linked to explicitly.

ℹ️ Check build/depthai-core-integration.txt or build/depthai-opencv-integration.txt for up to date define options. The generated integration file also specifies include paths without requiring installation.

Installing

To install specify optional prefix and build target install

cmake -S. -Bbuild -D'CMAKE_INSTALL_PREFIX=[path/to/install/dir]'
cmake --build build --target install

If CMAKE_INSTALL_PREFIX isn't specified, the library is installed under build folder install.

Environment variables

The following environment variables can be set to alter default behavior of the library without having to recompile

Environment variable Description
DEPTHAI_LEVEL Sets logging verbosity, 'trace', 'debug', 'warn', 'error' and 'off'
XLINK_LEVEL Sets logging verbosity of XLink library, 'debug'. 'info', 'warn', 'error', 'fatal' and 'off'
DEPTHAI_INSTALL_SIGNAL_HANDLER Set to 0 to disable installing Backward signal handler for stack trace printing
DEPTHAI_WATCHDOG Sets device watchdog timeout. Useful for debugging (DEPTHAI_WATCHDOG=0), to prevent device reset while the process is paused.
DEPTHAI_WATCHDOG_INITIAL_DELAY Specifies delay after which the device watchdog starts.
DEPTHAI_SEARCH_TIMEOUT Specifies timeout in milliseconds for device searching in blocking functions.
DEPTHAI_CONNECT_TIMEOUT Specifies timeout in milliseconds for establishing a connection to a given device.
DEPTHAI_BOOTUP_TIMEOUT Specifies timeout in milliseconds for waiting the device to boot after sending the binary.
DEPTHAI_PROTOCOL Restricts default search to the specified protocol. Options: any, usb, tcpip.
DEPTHAI_DEVICE_MXID_LIST Restricts default search to the specified MXIDs. Accepts comma separated list of MXIDs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_ID_LIST Alias to MXID list. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_NAME_LIST Restricts default search to the specified NAMEs. Accepts comma separated list of NAMEs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_BINARY Overrides device Firmware binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_USB Overrides device USB Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_ETH Overrides device Network Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_ALLOW_FACTORY_FLASHING Internal use only
DEPTHAI_LIBUSB_ANDROID_JAVAVM JavaVM pointer that is passed to libusb for rootless Android interaction with devices. Interpreted as decimal value of uintptr_t
DEPTHAI_CRASHDUMP Directory in which to save the crash dump.
DEPTHAI_CRASHDUMP_TIMEOUT Specifies the duration in seconds to wait for device reboot when obtaining a crash dump. Crash dump retrieval disabled if 0.

Running tests

To run the tests build the library with the following options

cmake -S. -Bbuild -D'DEPTHAI_TEST_EXAMPLES=ON' -D'DEPTHAI_BUILD_TESTS=ON' -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build folder and run ctest with specified labels that denote device type to test on. Currently available labels: - usb - poe

cd build
# Run tests on USB devices
ctest -L usb
# Run tests on PoE devices
ctest -L poe

Style check

The library uses clang format to enforce a certain coding style. If a style check is failing, run the clangformat target, check the output and push changes.

To use this target clang format must be installed, preferably clang-format-10

sudo apt install clang-format-10

And to apply formatting

cmake --build build --target clangformat

Documentation generation

Doxygen is used to generate documentation. Follow doxygen download and install the required binaries for your platform.

After that specify CMake define -D'DEPTHAI_BUILD_DOCS=ON' and build the target doxygen

Debugging tips

Debugging can be done using Visual Studio Code and either GDB or LLDB (extension 'CodeLLDB'). LLDB in some cases was much faster to step with and resolved more incomplete_type variables than GDB. Your mileage may vary though.

If there is a need to step into Hunter libraries, that can be achieved by removing previous built artifacts

rm -r ~/.hunter

And configuring the project with the following CMake option set to ON

cmake . -D'HUNTER_KEEP_PACKAGE_SOURCES=ON'

This retains the libraries source code, so that debugger can step through it (the paths are already set up correctly)

Troubleshooting

Build fails with missing OpenCV dependency

If your build process happen to fail due to OpenCV library not being found, but you have the OpenCV installed, please run build with additional -D'OpenCV_DIR=...' flag (replacing default Ubuntu path /usr/lib/x86_64-linux-gnu/cmake/opencv4 with yours)

cmake -S. -Bbuild -D'OpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4'

Now the build process should correctly discover your OpenCV installation

Hunter

Hunter is a CMake-only dependency manager for C/C++ projects.

If you are stuck with error message which mentions external libraries (subdirectory of .hunter) like the following:

/usr/bin/ld: /home/[user]/.hunter/_Base/062a19a/ccfed35/a84a713/Install/lib/liblzma.a(stream_flags_decoder.c.o): warning: relocation against `lzma_footer_magic' in read-only section `.text'

Try erasing the Hunter cache folder.

Linux/MacOS:

rm -r ~/.hunter

Windows:

del C:/.hunter

or

del C:/[user]/.hunter

CHANGELOG

Changelog for package depthai

2.24.0 (2024-02-02) -----------* New nodes and messages: * Sync node - syncs multiple inputs based on the timestamp, outputs a message group message * Demux node - demultiplexes message group in multiple messages * Message group message - a new message that can contain a map of arbitrary depthai messages, it\'s the output of the sync node and input to the demux node * Encoded frame message - a new message specialized for encoded frames * New output for the VideoEncoder node (out) for the encoded frame message * Automatic crash dump retrieval for firmware crashes * Added setIrFloodLightIntensity and setIrLaserDotProjectorIntensity methods for setting the intensity normalized between 0 and 1 * Added getConnectionInterfaces method to retrieve the list of available interfaces on a device * Added an option to cap maximum time for exposure when using auto exposure with setAutoExposureLimit * Initial integration for IMX283 and IMX462 * Improve time-syncing between the host and device to achieve sub 300 us offset * Improved max FPS and image quality under low light for OV9282 and OV9782 #926 ,new ranges per resolution of: * THE_800_P: 1.687 .. 129.6 fps * THE_720_P: 1.687 .. 143.1 fps * THE_400_P: 1.687 .. 255.7 fps * Avoid overflow for XLink profiling #933 * Improve XLink stability when using multiple devices luxonis/XLink#73 * Fix a rare bug where the device would hand in the constructor #922 * Fix a bug where XLinkIn didn\'t work correctly for very small and very large buffers * Fix a bug for running multiple stereo nodes with a shared input * On multi-input NeuralNetworks set the output NNData to the newest input timestamp (previously undefined) * Add NOC DDR usage reporting on DEPTHAI_LEVEL=info * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.23.0 (2023-11-14) -----------* ImageManip - configurable interpolation type * Script - added missing bindings for reading device releated data (on device calibration, etc...) * Added Device::getDeviceName and Device::getProductName that target a user name and a \"SKU\" name * Timesync - improved synchronization with tweaks to XLink * Calibration - added housingExtrinsics * Fix CAM_D enumeration on OAK-FFC-4P R7 * BMI270 IMU - fix latency when slow reading * Device related logging * OAK-D-SR-POE - new revision bugfixes * Fix 4 cameras crash on PoE due to memory allocation * Fixed incorrect warp in issue #882 * XLink - updated number of devices to 64 * ToF - median filter and Z map support (still not the final decoding pipeline) * hasAutofocus value fixed and introduced hasAutofocusIC * Added timestamps and sequence numbers to all Message types * Added DEPTHAI_ENABLE_LIBUSB for potentially disabling USB protocol (to not require libusb library) * OV9782 and AR0234 improvements: * OV9782 FPS improvements * AR0234 max exposure time bump to 33ms and improved FSync INPUT mode * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.22.0 (2023-06-15) -----------* UVC Node - Capability to create a pipeline that sends data over UVC (or flash it) * ToF Node - Capability to decode ToF data into a depth map * New devices: OAK-D-SR (fixes), OAK-D-LR R1, OAK-D SR PoE * Reorganized CameraBoardSocket naming * Logging improvements * Added data throughput profiling, per device and globally * Added DEPTHAI_DEVICE_NAME_LIST env var to filter devices by name * Bootloader v0.0.26 - Fix for bootloader crash (USB variant) * Fix for 4 cameras via ETH * Device constructor bugfixes (when taking pipeline, or pipeline with config preapplied, etc...) * XLink - Bugfix for wrongly discovered usb path on Windows * OV9782 startup stream issue fix * #779 - Fixes a parsing issue * #469 - Fixes a stuck case if same stream names are used * Deprecated RGB/LEFT/RIGHT/... CamerBoardSocket naming. Rely on CAM[A-H] or setName API * Add option to clear crash dump * XLink - Added 255.255.255.255 discovery and increased PoE search time * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.2 (2023-04-05) -----------* UPDATE: Use v2.21.2 due to issues this version carries * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.0 (2023-04-03) -----------* Improved x/y accuracy for SpatialLocationCalculator/SpatialDetectionNetwork * Support for median and mode, default changed to median in SpatialLocationCalculator/SpatialDetectionNetwork * Multi stereo support, ability to run stereo between any 2 calibrated cameras * Support for LEFT/RIGHT alignment in stereo node * Support to invalidate edge pixels: setNumInvalidateEdgePixels in Stereo Node * BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated in Stereo Node * Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage in Stereo Node * Fix for RGB-depth alignment when RGB is configured to 12 MP * Crash dump support - support to retrieve crash context from the device which can be shared with developers * Configurable 3A fps - setIsp3aFps * IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API * BMI270 - enable interrupt mode, timestamps are more consistent now * BNO086* - fix for sequence number * AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog), * OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light, * OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure * HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS * FW: fix for UART0 / \'/dev/ttyS0\' init failure in Script node * POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle * [XLink] Increased max number of links from 32 to 64 * Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled * Handle EEPROM boardOptions bit 7 for separate I2C on L/R cameras * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.2 (2023-01-31) -----------* Fix for ColorCamera at high resolution while using isp scaling * Fix for OV9282 SW sync on devices with OV9782 RGB camera * Fix for IMX378/477/577 on sockets other than CAM_A (RGB) * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.1 (2023-01-29) -----------* Modified OpenVINO::VERSION_UNIVERSAL API improvements / backward compatibility * Bootloader version 0.0.24 (fixes for standalone / flashed usecases) * [FW] Status LEDs on some additional devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.1 (2022-11-28) -----------* Added Device getDeviceName API * OAK-FFC 4P (R5M1E5) IR/Dot support * Additional Stability bugfixes to go along with 2.19.0 for PoE devices * Protected productName field in EEPROM * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.0 (2022-09-20) -----------* Stability improvements #616 * isUserBootloaderSupported API * Device.setTimesync(true/false) convenience function to enable or disable subsequent timesyncing * Windows improvements with listing BOOTED devices (\"udev permissions\" issue) * Fix OV9282 as MonoCamera on RGB socket (issue was black image) * Fix crash under high load (regression with camera events streaming) * Fix YOLOv5/7 decoding in case of a single class * Fix image size when decimation filter is enabled * Fix for certain OV9782 and OV9282 permutations/configs * Reset Device timestamp on boot to zero * Reworded \"No available devices\" error message when there are other connected devices connected. * Update CI to Node16 compatible actions

2.17.4 (2022-09-20) -----------* DEPTHAI_WATCHDOG=0 bugfix (245fb57) * V5 Calibration flashing fix * FW log level bugfix (#587) * Updated DeviceBootloader::Config to retain existing values * PoE watchdog issues addressed (74b699c) * XLink - kernel driver detach (fixes some USB connectivity issues) (ba9bd8b) * Added EEPROM clear capability * Added missing installation of DLL files (#550) * Asset RPC refactor * Exposed Device::getAllConnectedDevices() * Exposed FW & BL versions * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.17.3 (2022-08-05) -----------* Updated FW - BMI270 IMU improvements * Added seq & timestamps for more messages * New boards support * Windows DLL improvements (install libusb dll alongside libdepthai-core.dll) * XLink - improved connecting directly to given IP * StereoDepth ImgFrame metadata w/h when decimation filter is enabled * Intrinsic read fix #379 * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.17.0 (2022-07-11) -----------* Support for new S2/Pro devices * FW: support for OAK-D-S2 / OAK-D-Pro using the latest board DM9098 R6M2E6 * Handle new resolutions THE_720_P and THE_800_P for ColorCamera, applicable to OV9782 on RGB/center socket * StereoDepth: Add option for disparity shift to reduce minimum depth * StereoDepth: extended and subpixel mode can be enabled simultaneously * YoloV6 support * Refactor ImageManip node * macOS / Linux shared library and CI improvements * Bootloader improvements * Flash boot improvements * Bootloader improvements (capability to flash and boot from eMMC) * Flashed application information * Memory querying * XLink device search race fix * Capability to flash BoardConfig along with the Pipeline * Added host monitor thread to disconnect offline PoE devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.16.0 (2022-06-15) -----------* OpenVINO 2022.1 support * XLink device search improvements * cross subnets for PoE devices * drastically reduced discovery time * Separated name / IP and MXID, to be able to query both USB path / IP and MXID * Android support * libusb dependency is now managed by Hunter * IMU FW update for BNO sensor * Added DetectionParser node as a standalone component of DetectionNetwork * StereoDepth - subpixel fractional bits API * VideoEncoder - lifted 16 frame pool limitation * Contributors: Sachin, Sachin Guruswamy

2.15.5 (2022-06-02) -----------* EEPROM FIX * Json fix (#478) * Fixed nlohmann json < v3.9.0 compat and toolchain generation * turn off clang format Co-authored-by: Martin Peterlin <martin.peterlin7@gmail.com> Co-authored-by: TheMarpe <martin@luxonis.com> * Empty-Commit * Update package.xml * Contributors: Sachin, Sachin Guruswamy

2.15.4 (2022-05-09)

  • Release 2.15.4
  • Update docs; removed unsupported AprilTag families
  • FW: VideoEncoder: fix keyframe rate config, fix resource computations for JPEG (e.g: MJPEG for 4K video 30fps + MJPEG for still 12MP ~1fps) properly set resources used to allow
  • Update FW
  • Update FW; change behavior of stereo rectification based on stereo camera FOV
  • Merge \'origin/poe_mtu_sysctl\' into develop - #428 Improve PoE throughput and latency for some usecases
  • Update XLink to set TCP_NODELAY, reducing latency
  • Merge \'origin/develop\' into poe_mtu_sysctl
  • Merge branch \'eeprom_version_v7\' into develop
  • Merge branch \'develop\' into eeprom_version_v7
  • Merge branch \'json_compat\' into develop
  • Lowered minimum required nlohmann json version to 3.6.0
  • Set RGB aligned depth output to match mono camera
  • Merge \'ov7251_configurable_fps\' into develop - #455
  • Update FW: fix overriding useHomographyRectification behaviour specified in docs when custom mesh is provided
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #459 from diablodale/fix458-cmaketest-flags reduce num conforming tests; add missing _conforming test suffix
  • reduce tests for MSVC conforming preprocessor - drastically reduce number of tests run for MSVC conforming preprocessor https://github.com/luxonis/depthai-core/pull/459#issuecomment-1108649206 - add option to test harness that indicates when a test is run with the MSVC conforming preprocessor

  • Updated flashing permissions

  • Fix RGB alignment remapping when configured color camera resolution is different from calibration one

  • Updated Bootloader to v0.0.18

  • Updated FW with device EEPROM handling fixes

  • strengthen test for device construct+q+frame

  • Updated bootloader with PCIe internal clock fixes

  • Added capability to create CalibrationHandler from json

  • Fixed factory reset functionality and exposed more functions

  • Updated BL with more build information and new EEPROM data support

  • Updated EEPROM and added another level of permissions

  • add missing _conforming suffix to tests cmake

  • Merge pull request #457 from luxonis/rgb_alignment Enable RGB alignment for spatial detection examples

  • Enable RGB alignment for spatial detection examples

  • Merge pull request #454 from diablodale/test-device-queues1 test case for Device constructor not calling tryStartPipeline()

  • test case for Device constructor not tryStartPipeline() - catch bug and prevent regression as discussed https://github.com/luxonis/depthai-core/commit/7257b95ecfb8dcb77c075e196ac774cc05cb8bc6#commitcomment-71730879

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Update FW: configurable FPS for OV7251: max 99 for 480p, 117 for 400p

  • Added bindings and support for new EEPROM version

  • WIP - modify behavior to be backwards compatible and add checks if calibration is available

  • Added additional EEPROM functionality

  • Applied formatting

  • Merge branch \'main\' into develop

  • Update FW: improve PoE throughput and latency (set net.inet.tcp.delayed_ack=0), add config for MTU (not advised to change for now) and other sysctl params

  • Contributors: Dale Phurrough, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.3 (2022-04-22)

  • Add explicit documentation about loadMesh behavior; specify that only the first 8 distortion coefficients are used
  • Merge pull request #456 from luxonis/macos_ci_test Fix failing CI for MacOS
  • Extend useHomographyRectification documentation with more details
  • Remove brew update
  • Bump version to 2.15.3
  • Merge branch \'release_2.15.3\' into main
  • Clarify docs for homography rectification default behavior
  • Merge pull request #437 from luxonis/warp_mesh_on_device Add on-device mesh generator for Stereo
  • Disable mesh rectification by default; fix error reporting when RGB alignment is enabled and left-right check disabled
  • Fix styling
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'serialization_type\' into develop
  • Fixed incorrect Device constructors not starting the pipeline and creating queues
  • Fixed device Clock.now in Script node to match messages timestamps
  • Modifed serializeToJson to create a json object instead
  • Added Clock.now bindings on device
  • Added capability to serialize pipeline to json
  • Merge pull request #424 from luxonis/bmi270_support IMU: Bmi270 support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #449 from luxonis/openvino_no_blob Openvino: Fix error reporting when blob is not set
  • Removed DEPTHAI_NODISCARD for docs generation
  • Updated libnop (#448)
    • Updated libnop with C++20 fixes and added fs test targeting C++20
    • Added a guard for non-existent tests
    • Modified tests to not require higher CMake version
  • Fix openvino get version
  • Openvino: Fix error reporting when blob is not set
  • Removed deprecated StereoDepth API
  • new class [dai::Path]{.title-ref} for APIs that accept path/filenames (#384)

    • initial dai::Path and test cases
    • fixes luxonis/depthai-core#352
    • move codecvt from header -> cpp
    • add Path::string() and u8string()
    • to enable display/log of Path
    • fmt for dai::Path; NN::setBlobPath(dai::Path)
    • dia::path throws like std::fs::path
    • c++17, pub/pvt header, test cmake c++ std level
    • enable c++17 std::filesystem support and test cases
    • split header into public/private parts

    - cmake for test cases now supports optional c++ standard level param - verify c++ std compiler support for tests

    - add COMPILER_SUPPORTS_CXX{14,17,20,23} vars to Flags.cmake and can be used everywhere - add dai::Path::empty() - add dai::Path to Device, DeviceBase, Resources - simplify Device, DeviceBase constructors by delegating

    - add is_same<> template on constructors with bool param to prevent implicit convert of almost everything to bool - make two DeviceInfo constructors explicit to prevent their use in implicit conversion - relevant test cases - fix minor throw text bugs - fix Device usb2Mode sigs, add test case - add dai::Path to CalibrationHandler - minor refactor dai::Path - enable 2 Calibration+1 Bootloader example - add dai::Path to DeviceBootloader, XLinkConnection - plus test cases - add dai::Path to Pipeline, StereoDepth, AssetManager - plus test cases - add dai::Path to dai::Script + test cases - linux fixes for test cases, and c++14 type_traits - add doxygen to dai::Path - detect compiler c++ std level and update cmake - fix preprocessor flag for tests on MSVC - fixes luxonis/depthai-core/issues#408 - partial dai::Path support for c++20 utf-8 - unable to fully test due to bug #407 - add windows header define WIN32_LEAN_AND_MEAN - rename macro to DEPTHAI_NODISCARD - review feedback

  • Apply style

  • Add on-device mesh generator

  • Initial BMI270 support

  • Contributors: Dale Phurrough, Martin Peterlin, SzabolcsGergely, TheMarpe, szabi-luxonis

2.15.2 (2022-03-30)

  • Release v2.15.2
  • Merge pull request #439 from 0xMihir/main Bump Hunter version
  • chore: bump Hunter version Adds support for MSVC 1931 Using 0.24.0 doesn\'t work because there\'s a duplication error in the nlohmann/json library hunter config file
  • std::exchange needs <utility> to be included (#435) * std::exchange needs <utility> to be included Without <utility> it is gives \"error: 'exchange' is not a member of 'std'\" errors. Ref : https://en.cppreference.com/w/cpp/utility/exchange

    • clang format fix
  • Merge branch \'main\' into develop

  • Fixes #436 - removes temporary warning log in StereoDepth

  • Updated XLink - removed dependency on pthread_getname_np

  • Merge branch \'device_is_closed_fix\' into develop

  • Fixed XLink issue with not erroring on write failures

  • Openvino: improve error logging for out of memory cases

  • Modified to store fisheye Camera model

    • Add getter for distortion model in CalibrationHandler
    • Pad distortion coefficients with 0\'s if there\'s less than 14
    • Only return first four distortion coefficients for Fisheye distortion
  • Merge pull request #430 from luxonis/custom_depth_unit Customizable depth unit

  • Change metre to meter

  • Change millimetre to depth unit where it\'s applicable in docs

  • Add setter/getter utility function for depth unit

  • Add customizable depth unit

  • Merge pull request #427 from luxonis/warp_improvements Warp engine improvements for RGB alignment/stereo rectification

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Warp engine improvements for RGB alignment/stereo rectification

  • Contributors: Mihir Patil, Onuralp Sezer, SzabolcsGergely, TheMarpe, slitcch, szabi-luxonis

2.15.1 (2022-03-16)

  • Merge branch \'release_2.15.1\' into main
  • Merge pull request #426 from luxonis/focal_length_from_calib Use focal length from calibration by default for Stereo node
  • Merge pull request #422 from luxonis/fix_calib_rgb_translation Calib data RGB spec translation fix for some CM3/CM4 boards
  • Set focal length from calibration as default for stereo node
  • Update FW: fix StereoDepth crash with missing EEPROM, report error if missing, do not rotate RGB (AUTO orientation) on OAK-D(-Lite) if EEPROM is missing
  • Merge \'origin/develop\' into fix_calib_rgb_translation
  • Bump version to 2.15.1
  • Merge pull request #421 from luxonis/confidence_map_alignment_opt Optimizing the confidence map alignment
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk: Merge confidence_map_alignment_opt into develop
  • Merge branch \'xlink_race_improvements\' into develop
  • Update FW: patch EEPROM data for incorrectly programmed RGB spec translation, for manually ran calibration on CM3/CM4 boards. Was leading to wrong RGB-depth alignment
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp - remove global variables)
  • Adding a new StereoDepth example rgb_depth_confidence_aligned.cpp for aligning the rgb, depth and confidence frames
  • Updated XLink with only required changes
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp logs)
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Updated XLink with some race fixes and other improvements
  • Updated FW with thermal protection mechanism
  • Merge pull request #398 from diablodale/fix390-callback-moves move semantics with DataOutputQueue::addCallback()
  • Merge pull request #417 from ibaiGorordo/patch-1 Fix Readme links
  • Fix Readme links
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Fix default temporal/spatial filter values when subpixel is enabled
  • Merge pull request #403 from diablodale/fix314-cmpjson verify device json in example script_json_comm
  • Merge pull request #409 from diablodale/fix408-conformflag correct test cmake to add preproc conform flag
  • correct test cmake to add preproc conform flag
  • Updated release template
  • Merge branch \'main\' into develop
  • verify device json in example script_json_comm
  • move semantics in DataOutputQueue::addCallback()
  • Contributors: Dale Phurrough, Ibai Gorordo, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.0 (2022-02-23)

  • Merge branch \'release_2.15.0\' into main
  • Bump version to 2.15.0
  • Merge pull request #287 from luxonis/oak-d-pro_develop Support for OAK-D Pro
  • Merge \'origin/develop\' into oak-d-pro_develop
  • [getIrDrivers]{.title-ref} -> vector of tuples (driverName, i2cBus, i2cAddr). Return if setIrDot/Flood succeeded
  • Merge pull request #401 from luxonis/openvino_version_deprecation Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2021.3
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Merge pull request #405 from luxonis/cfg_fps_lite Configurable RGB FPS on Lite devices, fix RGB orientation
  • Updated test suite for new env var naming
  • Renamed env variable and updated README regarding testing
  • Update FW: RGB orientation fix for OAK-1 (new versions) and OAK-1-Lite
  • Merge \'origin/develop\' into cfg_fps_lite
  • Merge \'origin/develop\' into oak-d-pro_develop
  • IR driver: remove raw register access API
  • IR driver RPC: add [getIrDrivers()]{.title-ref}, update description with limits
  • Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2022.3
  • Merge pull request #389 from luxonis/imu_device_ts Add device monotonic timestamp to IMU reports
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add dot-projector/flood-illuminator brightness control
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Revert \"USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)\" This reverts commit 96691b9a8295c54bea1c04c20bc4ad60091ca536.
  • Update FW: ColorCamera memory optimization when [still]{.title-ref} is not connected, properly handle width-multiple-of-32 (only needed for VideoEncoder), don\'t enforce it on [video]{.title-ref} by default, allow [still]{.title-ref} size smaller than [video]{.title-ref}
  • Modify IMU example: GYRO at 400 hz to avoid spikes
  • Update shared
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #387 from luxonis/subpixel_after_lr_check Do subpixel interpolation once when LR-check is enabled
  • Fix formatting
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Updated shared
  • Fixed crash when device watchdog is disabled
  • Merge pull request #394 from luxonis/skip_invalid_devices Invalid device warnings suppression
  • Suppressed redundant warnings for invalid devices
  • Merge pull request #382 from diablodale/fix300-errorname skip devices named \"<error>\" in device search
  • Merge branch \'testing_ci\' into develop
  • Merge branch \'fw_stability_fix\' into develop
  • Fixes a stability issue bug that affected PoE devices mostly
  • Added testing CI
  • Add on-device python bindings
  • Add device monotonic timestamp to IMU reports
  • Update FW, fix for custom alinment subpixel interpolation
  • Do subpixel interpolation after LR-check; improves performance to 30fps@800p
  • Merge pull request #378 from diablodale/fix366-qsize0 enable queues of size=0 which only do callbacks
  • Merge branch \'fix334-interopt-dll\' into develop
  • Merge pull request #361 from luxonis/rgbd_depth_align_optimize Rgbd-depth alignment optimization
  • Update mdk - RGB-depth alignment
  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize
  • enable queues of size=0 which only do callbacks
  • Modified env variable logging verbosity
  • log envvar values at TRACE level only (#381)
  • Update FW - adding the RGB scaling factor for the RGB-depth center alignment
  • skip devices named \"<error>\" in device search
  • minor cleanup examples and tests
    • most fixes are signed/unsigned comparison corrections
  • fix Win MSVC cmake INTERPROCEDURAL_OPTIMIZATION - workaround MSVC incompat BUILD_SHARED_LIBS + WINDOWS_EXPORT_ALL_SYMBOLS + INTERPROCEDURAL_OPTIMIZATION

  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize

  • Merge pull request #375 from luxonis/swap_imu_raw_accelerometer_axis Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #374 from luxonis/reenable_feature_tracker_metadata Reenable feature tracker metadata; change default CPU to CSS for Script node

  • Update shared to match FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed non-cv support ImgFrame header

  • Added initial setter chaining for messages

  • Merge branch \'nndata_sequence_num\'

  • Updated style

  • Merge branch \'openvino_blob\' into develop

  • Change bootloader shared submodule to match develop

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Modified docs and type of exception being thrown

  • Documented Blob fields and added blob file size check

  • Merge remote-tracking branch \'jdavidberger/develop\'

  • Updated libnop with renamed Nil enum

  • Merge branch \'msvc_traditional\' into develop

  • Removed the need for conforming MSVC preprocessor

  • Added capability to read blob information

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed env var usage

  • Fixed typo

  • Added search time env variable and moved querying of env variables to happen once

  • Reverted back search timings in USB protocol case

  • Added means of downselecting protocol used by XLink

  • Merge branch \'watchdog_protection\' into develop

  • Merge remote-tracking branch \'origin/poe_improvements\' into develop

  • Update FW with clock related tweaks for feature tracker

  • Updated flash_bootloader example

  • Update shared/FW w/ build fix

  • Improved PoE interaction

  • Merge pull request #359 from luxonis/subpixel_docs_fix Fix subpixel fractional bits documentation

  • Update FW with stereo fixes for instance number; RGB depth alignment

  • Change the resolution to 720p for the RGB-depth alignment example

  • Update FW: optimized RGB-depth alignment

  • Fix subpixel fractional bits documentation

  • Rename AprilTagData to AprilTags

  • Merge pull request #166 from luxonis/gen2_apriltag Add apriltag support

  • Update FW to latest develop

  • Add example for advanced settings

  • Update FW/shared/examples

  • Update docs/FW

  • Expose all config options for april tag detection algorithm

  • Update FW/shared with fixes for TAG_CIR49H12 TAG_CUST48H12 TAG_STAND41H12 TAG_STAND52H13

  • Update FW/shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Apply formatting

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #353 from luxonis/depth_docs Added some clarifications to depth docs

  • Added some clarifications to depth docs

  • Update FW with object tracker KCF fixes

  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop

  • Specify minimum nlohmann version

  • Merge pull request #350 from luxonis/focal_from_intrinsics Use focal length from calibration intrinsics for fisheye cameras

  • Update FW with fisheye lens detection and override option: setFocalLengthFromCalibration

  • Get focal length from calibration intrinsics

  • workaround bootloader-shared var init bug (#347) - manually init class vars as workaround for https://github.com/luxonis/depthai-bootloader-shared/issues/4

  • Update XLink

  • Updated .gitmodules

  • Update FW/XLink to latest

  • Add openvino 2021.4.2 support

  • Revert XLink to latest develop

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated .gitmodules

  • Merge branch \'board_config\' into develop

  • Updated tidy and shared

  • Updated libnop library (#344)

  • Updated XLink library

  • Added watchdog protection in core and XLink

  • Merge pull request #335 from luxonis/confidence_map_rgb_alignment Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • PipelineImpl::create() use make_shared, not raw new() (#341)

  • Updated FW to sync with shared changes

  • Updated shared

  • Fix StereoDepth::setDefaultProfilePreset

  • Added NN examples to tests, added utility conversion from fp16

  • Added NN examples

  • Re-enable feature tracker metadata

  • Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Merge pull request #333 from diablodale/fix284-unreachable Remove unreachable code in DataQueue

  • remove unreachable code in DataQueue

  • add const ADatatype::getRaw(), Buffer::getData(); add copy+move Buffer::setData() (#331)

  • Merge pull request #332 from luxonis/typos_fix Updated depthai-core with typo fixes

  • Updated depthai-shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated multiple devices test

  • XLink library fixes for multiple devices case (#329)

  • Merge branch \'resources_lazy_load_tsan\' into develop

  • Optimized condition_variable usage

  • Configurable FPS for IMX214: 0.735 .. 35 for 1080p, 1.4 .. 30 (28.5 actually, TODO) for 4K/12MP/13MP

  • Update FW with latest apriltag

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Moved over to a condition variable to signify end of lazy loading

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Fix regression for ColorCamera, StereoDepth

  • StereoDepth: check if input/output messages are connected

  • Fix compilation error w/ clang 13

  • Updated XLink

  • Merge remote-tracking branch \'diablodale/fix257-move-owner-threads\' into develop

  • Added initial BoardConfig

  • fix stream+packet ownership/move; fix thread crashes

    • fix many thread/ownership issues for start/stop scenarios
    • XLinkStream::readMove() for moving packet ownership
    • fix XLinkStream move semantics

    - removed all use of XLinkStream::readRaw as often leads to memory violations and/or memory leaks - deprecate all XLinkStream::readRaw...() APIs - fixes luxonis/depthai-core#257

  • Added missing throw statements

  • Add spatialLocationCalculator output message to spatial detection network

  • USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)

  • Merge \'origin/develop\' into oak-d-pro_develop

  • Update FW with ipv6 disabled

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Add RPC for LM3644 IR projector registers read/write on OAK-D-Pro

  • Update FW with xlink thread priority changes

  • Update FW: openvino 2021.4.2 support

  • Update firmware SDK to r17.5

  • Update linking

  • Update bootloader and fixing errors

  • Update shared

  • Merge remote-tracking branch \'origin/develop\' into gen2_apriltag

  • Add apriltag_rgb example

  • Rename, update shared

  • Update FW

  • Update apriltag example

  • Add initial working version

  • Contributors: CsabaGergely, Dale Phurrough, Erik, Erol444, Martin Peterlin, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.14.1 (2022-01-11)

  • Release v2.14.1
  • Fix regression for ColorCamera, StereoDepth
  • StereoDepth: check if input/output messages are connected
  • Contributors: SzabolcsGergely

2.14.0 (2022-01-05)

  • Release v2.14.0
  • Fixed script json communication example
  • Updated libnop
  • Fixed updated Hunter usage
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Bump Hunter to add support for VS2022
  • Update shared/FW
  • Merge pull request #312 from luxonis/connect_timeout_override Override watchdog initial delay and connect/bootup timeout
  • Rename env var DEPTHAI_INIT_WATCHDOG -> DEPTHAI_WATCHDOG_INITIAL_DELAY
  • clangformat changes, <> changed to \"\" as it was suggesting a new-line between <> and \"\" includes, and then alphabetically ordered
  • [DEPTHAI_INIT_WATCHDOG]{.title-ref} env var to set initial delay [ms] for the device watchdog, mainly to be set to larger values for Ethernet case with network equipment that takes long to establish the link. Default: 8s for USB, 15s for ETH
  • Merge \'origin/develop\' into connect_timeout_override
  • Fix serialization of spatial img data
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #308 from luxonis/json_comm_example Added json communication example
  • Updated XLink
  • Update FW; wakeup driven high
  • Set pullup for IMU wakeup pin
  • Added json communication example
  • FeatureTracker: Add support for 4k/12MP inputs
  • Fix typo: assigment -> assignment
  • FW fix for Stereo HW desync when extended is enabled
  • Adds rgb/depth weight slider to rgb_depth_aligned example
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Bump Windows SDK to 10.0.18362.0 with conforming preprocessor support (#306)
  • Updated FW to match shared
  • Added MSVC preprocessor conformance flag
  • Merge pull request #303 from luxonis/typos_fix Typos fix
  • NNData serialize fix (#305)
    • Adds proper TensorInfo to serialized layer
  • Merge branch \'develop_refactor\' into develop
  • Typos fix
  • Updated shared
  • Updated shared
  • Merge branch \'develop\' into develop_refactor
  • Added incoming message parse timing to trace level debugging
  • Merge pull request #301 from diablodale/fix-xlink-local-install-v2 fix 2 for xlink local cmake
  • fix 2 for xlink local cmake
  • Exposed max serialized metadata size
  • Merge branch \'develop\' into develop_refactor
  • Merge pull request #274 from luxonis/stereo_post_processing Added stereo post processing filters
  • Update FW to latest develop
  • Update FW with improved resource allocation for RGB aligment; improved error handling when out of resources
  • Update shared w/ stubgen fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'stubs_improvements\' into develop
  • Fix broken Windows CI
  • Fixed XLink dependency in config mode
  • Fixed exporting XLink when not using a local version
  • Merge pull request #298 from diablodale/fix-xlink-local-install fix xlink cmake install for local, shared, and static
  • FW: Edge case fix for RGB aligment
  • FW update: don\'t apply threshold filtering on confidence map
  • Add depth post processing example
  • Change all examples to use setDefaultProfilePreset
  • Add default preset mode to StereoDepth constructor
  • Add support for runtiem depth aligment mode; improve API
  • fix xlink cmake install for local, shared, and static
  • Merge pull request #297 from luxonis/tracker_docs Added possible tracker types to comment
  • Updated shared
  • Update FW, fix docs build
  • Update FW; add default stereo presets; add configurable HW resources
  • Added possible tracker types to comment
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #296 from diablodale/fix-264-cmake-shared-vars add cmake vars for local depthai-bootloader/shared
  • add cmake vars for local depthai-bootloader/shared
  • Merge pull request #295 from luxonis/fw_yolov5_and_stability FW YoloV5 support and stability updates
  • Updated FW with YoloV5 support and stability improvements
  • Apply thresholding filter on disparity map if depth is not enabled
  • Add configurable decimation filter modes: pixel skipping/non zero median/non zero mean
  • Merge branch \'depthai_clock\' into develop
  • Merge branch \'xlink_mingw_fix\' into develop
  • Add decimation filter
  • Updated XLink with MinGW fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add configurable number of shaves for stereo postprocessing
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Added clock
  • Add spatial filter
  • Clangformat bootloader example
  • Add specle filter
  • Initial version of temporal + thresholding filter
  • Warn if watchdog is disabled, or value overriden. Reason for change: env vars might get forgotten set, and not easy to spot with DEPTHAI_LEVEL=debug
  • Fix strncpy build warning: specified bound 48 equals destination size [-Wstringop-truncation]
  • Override XLink wait for bootup/connect timeouts with env vars: DEPTHAI_CONNECT_TIMEOUT DEPTHAI_BOOTUP_TIMEOUT (in ms) TODO: add in bootBootloader as well
  • Fixed setNumFramesPool for VideoEncoder node
  • Fixed a node crtp issue
  • Merge branch \'node_crtp\' into develop_refactor
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Added CRTP to Nodes
  • Merge branch \'develop\' into libnop_serialization
  • Refactored Nodes to allow for arbitrary properties and removed issues with multiple copies
  • Added libnop dependency and unified serialization
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Removed deprecated usage and added correct output for DetectionNetwork back
  • Updated waitForMessage API and applied across nodes
  • Added IO groups and refactored IO references
  • Added Node Input options and some tests
  • Contributors: Dale Phurrough, Erik, Erol444, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.13.3 (2021-12-01)

  • Release v2.13.3
  • Update FW: zero out uninitialized DDR memory
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Update FW: fix VideoEncoder potential crash (after power-cycle), instability introduced in 2.13.0
  • Merge pull request #281 from luxonis/manual_white_balance Add manual white balance / color temperature camera control
  • Updated XLink with a couple of fixes
  • Update shared/FW: manual_white_balance merged, other fixes:
    • fixes a crash with more than 4x VideoEncoder instances, now up to around 8 should work
    • StereoDepth fix crash with RGB-depth align and missing RGB calib (calibrated with -drgb)
    • StereoDepth fix RGB alignment when running at calib resolution (OAK-D with 800_P or OAK-D-Lite)
    • an error is thrown if multiple cameras have the same socket assigned
  • rgb_camera_control: add manual white balance controls: [[]{.title-ref} []]{.title-ref} [B]{.title-ref}
  • setManualFocus: no need to set OFF mode, auto-handled
  • CameraControl: add [setManualWhiteBalance(colorTemperatureK)]{.title-ref}
  • Contributors: TheMarpe, alex-luxonis

2.13.2 (2021-11-26)

  • Release v2.13.2
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • FW fix for resource allocation issues when setRuntimeModeSwitch is used
  • Contributors: SzabolcsGergely

2.13.1 (2021-11-24)

  • Applied style
  • Merge branch \'develop\' into main
  • Merge branch \'xlink_regression_fix\' into develop
  • Updated XLink to fix SIGPIPE regression
  • fix initialize() thread/except safety (#277)
  • Contributors: Dale Phurrough, TheMarpe

2.13.0 (2021-11-22)

  • Release v2.13.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Update shared/FW
  • Merge pull request #262 from luxonis/oak-d-lite Support for OAK-D-Lite
  • Remove deprecated VideoEncoder frame size config in examples
  • Merge \'origin/develop\' into oak-d-lite
  • VideoEncoder: maxBitrate following bitrate setting in FW, when 0 (default)
  • VideoEncoder: deprecated setting width/height, auto-computed bitrate by default
  • Update FW: VideoEncoder source size configured when receiving 1st frame, allows to run OAK-D examples (e.g configuring mono cameras to 720_P) on OAK-D-Lite without code changes
  • Merge pull request #268 from diablodale/fix248-trunc-2 Correct float literals, 32/64 trunc, unref vars
  • fix errant printf params in examples (#267)
  • enable build in vscode, custom toolchain+include (#258)
    • enable build in vscode, custom toolchain+include
    • fixes luxonis/depthai-core#246
    • self doc dependency options with set(cache)
  • Merge pull request #269 from luxonis/set_ip_example Added Poe set IP example
  • Added poe_set_ip example
  • Updated FW with scripting improvements
  • correct float literals, 32/64 trunc, unref vars
  • Fix styling
  • Update FW/shared
  • Merge branch \'main\' into develop
  • Merge commit \'18c5f8c3d4b4bb3498b515f2cb7a6a61f22db91a\' into develop
  • Fixed style
  • Merge branch \'xlink_macos_fix\' into develop
  • Adds a timeout for closing an XLink connection
  • Add device.getCameraSensorNames RPC call, can be used to differentiate between OAK-D and OAK-D-Lite. Should return: OAK-D : RGB: IMX378, LEFT: OV9282, RIGHT: OV9282 OAK-D-Lite: RGB: IMX214, LEFT: OV7251, RIGHT: OV7251
  • Color/MonoCamera: handle more resolutions for OAK-D-Lite cameras: IMX214 (13MP) and OV7251 (480P)
  • Updated XLink with macOS fix
  • Contributors: Dale Phurrough, Erik, Erol444, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.12.1 (2021-11-17)

  • Merge branch \'win_prebuilt_fix\' into main
  • Cherry picked XLink macos fix
  • Bump version to 2.12.1
  • Fixed Windows prebuilt library
  • Contributors: TheMarpe

2.12.0 (2021-11-13)

  • Merge pull request #261 from luxonis/develop Release v2.12.0
  • Release v2.12.0
  • Merge pull request #256 from luxonis/object_tracker_update Object tracker fixes, updates: 2 new tracking modes: KCF, short-term imageless.
  • Update FW with latest improvements
  • Fixes for object tracker; support for KCF and imageless short term tracking algorithms
  • Merge pull request #245 from luxonis/non_square_yolo_output Add support for non-square YOLO output
  • Update FW before merge
  • Update FW with error reporting for DetectionNetwork
  • Add support for non-square YOLO output
  • Update FW with Script node (DynamicPool) related fixes
  • Merge pull request #216 from luxonis/stereo_depth_fine_tuning Fine tune stereo depth settings
  • Increase LR-check threshold to 10; disparity confidence threshold to 245 by default
  • Add fine tuned stereo settings, configurable P1/P2 cost aggregation parameters
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Revert \"Set fine tuned stereo settings\" This reverts commit 8af5641c0e0d91d89d84bd4de8daa5aceaebc658.
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #240 from luxonis/extended_disparity Add extended disparity mode
  • Update FW before merge
  • Add addtional outputs to output list
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • FW - fixed OpenVINO layer issue
  • Spdlog version change (#239)
    • added spdlog fix
  • Add extended mode debug outputs
  • Merge remote-tracking branch \'origin/develop\' into extended_disparity
  • StereoDepth: Add extended disparity mode
  • Merge pull request #238 from luxonis/disparity_enc Added disparity encoding example
  • Added disparity encoding example
  • Added CMake version into CI and Ubuntu 18.04 fix (#237)
    • Added CMake version into CI
    • Updated ZLIB with fixed ALIAS on imported target
    • CI - Concatenated -D arguments for old CMake version
    • Updated README instructions for CMake version 3.10
    • Fixed Windows build and ZLIB target
    • Removed old CMake build for MSVC
    • Updated -D CMake usage
  • Merge pull request #234 from luxonis/script_forward_frames Added script forward (demux) example
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'main\' into develop
  • Merge pull request #236 from luxonis/catch_dependency_fix_new_glibc Update catch2 package to 2.13.7
  • Update catch2 package to 2.13.7
  • Added script forward (demux) example
  • Restructured README.md (#232)
    • Restructured README
    • Update README.md
    • Update README.md
  • Set fine tuned stereo settings
  • Contributors: Erik, Erol444, Sachin Guruswamy, SzabolcsGergely, TheMarpe, szabi-luxonis

2.11.1 (2021-10-19)

  • Merge pull request #230 from luxonis/develop Release v2.11.1
  • Bump version to 2.11.1
  • Update to latest firmware/depthai-shared
  • Change warning to info
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #229 from luxonis/fix_build_visual_studio_m_pi Fix build with older Visual Studio - M_PI undeclared
  • [#define _USE_MATH_DEFINES]{.title-ref} at the top of the file attempting to fix building with Visual Studio 15 2017: [error C2065: \'M_PI\': undeclared identifier]{.title-ref} https://discord.com/channels/790680891252932659/798284448323731456/899110756413489212
  • Merge pull request #227 from luxonis/examples_sorting Examples sorting
  • Merge pull request #228 from luxonis/sipp_fw_bugfixes Firmware sdk fixes: for ISP/Sipp filter crashes #395
  • Update FW before merge
  • Renamed two examples
  • Internal firmware sdk fixes: for ISP/Stereo/Sipp filter crashes
  • Fixed CMakeLists that should have worked before as well but ok
  • Moved examples out of /src folder
  • Removed fromPlanarFp16() as it\'s not needed
  • Style fix
  • Added script node CPP examples
  • Added examples in their corresponding folders
  • Grouped tiny yolo3/4 together
  • Contributors: Erik, Erol444, SzabolcsGergely, alex-luxonis, szabi-luxonis

2.11.0 (2021-10-13)

  • Merge branch \'develop\' into main
  • Updated formatting
  • Fixed double promotion warning
  • Bumped to v2.11.0
  • Merge branch \'backward_issue_fix\' into develop
  • Backward - Disables use of additional stack unwinding libs
  • Update FW: increase ImageManip warp max out height: 1520 -> 2560
  • Windows prebuilt libraries (#220)
    • Added CI to build Win64 & Win32 prebuilt libraries and upload along the release
  • Merge branch \'spi_improvements\' into develop
  • Merge branch \'develop\' into spi_improvements
  • Hotfix for FW message cache coherency
  • Merge pull request #206 from luxonis/calib_fov_calculated Added getting calculated FOV from intrinsics
  • Merge pull request #212 from SpectacularAI/fix-extrinsic-inversions-in-calibration-handler Fix the inversion formula for extrinsic matrices in CalibrationHandler
  • Fixed for Windows
  • Fix inversion formula for extrinsic matrices in CalibrationHandler
  • Fix styling
  • Merge pull request #218 from luxonis/stereo_confidence_map Add confidence map output to stereo node
  • Update FW to latest develop
  • Update confidence map output docs
  • Add confidence map output to stereo node
  • Merge pull request #217 from luxonis/ppenc_fixes Fix still image output in RGB postprocessing
  • Updated FW with SPI improvements
  • Update FW to latest develop
  • Fix still image output in RGB postprocessing
  • Fix bootloader version example
  • Merge pull request #200 from luxonis/stereo_fixes Stereo improvements, fixes for subpixel, LR-check
  • Sync stereo_depth_video example
  • Update FW/shared to latest develop
  • Replace deprecated getMaxDisparity() function
  • Handle disparity companding in getMaxDisparity
  • Update FW with runtime disparity range fix
  • Add getMaxDisparity() based on subpixel bits
  • Add stereo node output config
  • Update calibration_reader.cpp
  • Add debug outputs to stereo node; expose number of frame pools
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #213 from luxonis/spatial_calc_algo_choice Add option to pick spatial calculation algorithm : average,min,max of...
  • Update FW/shared to latest develop
  • Merge pull request #214 from luxonis/flash_bl_example_fix flash_bootloader example fix
  • Update shared w/ CI fixes
  • flash_bootloader: improve user prompts, when booted over USB / recovery mode: don\'t ask for confirmations, as if flashing is interrupted, recovery mode should still be accessible. Also it was a bit confusing asking to replace USB bootloader (booted as a flasher helper) with NETWORK
  • Update FW to match depthai-shared
  • flash_bootloader: fix flashing NETWORK bootloader (when booted over USB), or flashing a different bootloader type
  • Set bytes per pixel for ImgFrame
  • Add option to pick spatial calculation algorithm : average,min,max of selected ROI
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with subpixel fix
  • Refactor stereo depth config structure
  • Update FW, enable runtime configuration of Stereo node
  • Imu extrinsics (#211)
    • Updated IMU extrinsics
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with stereo confidence runtime config fix
  • Updated Bootloader to 0.0.15
  • Update FW with stereo performance improvements
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • FW - Updated ColorCamera 1080P resolution config
  • Fixed integration issues
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'develop_embedded\' into develop
  • Remove rectification flipping on host, it was resolved in firmware
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Updated FW - fixed cache coherency issue
  • Update FW, for depthai-shared to match with depthai-core
  • Update FW: fix default camera orientation for OAK-1-PoE, was rotated
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Pipeline - number of connections improvement
  • Fixed exception rethrow in DeviceBase
  • Merge pull request #207 from luxonis/imagemanipcfg_helper_functions Add ImageManipConfig helper functions
  • Fixed style checks, added FormatConfig
  • Added alias
  • Add ImageManipConfig helper functions
  • Fixed issues for the PR
  • Added capability to not install signal handlers
  • Added option to calculate FOV based on camera intrinsics. Added this function to calibration_reader and also refactored it so matricies are more readable
  • Merge pull request #205 from luxonis/calib_helper_functions Calib helper functions
  • Fixed typo
  • Style check fix
  • Updated FW to allow for graceful resets
  • Added helper functions to get translation vector and baseline distance
  • Merge pull request #204 from luxonis/extrinsics_translation_cm Specified that translation is in centimeters
  • Specified that translation is in centimeters
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #203 from luxonis/overloading_functions Added some function overloads
  • fix compiling error
  • Added some function overloads
  • Fixed style
  • Added Backward library to print stacktraces on crash
  • Updated FW with GPIO and SPI improvements
  • Merge branch \'throw.nice\' into develop
  • Added flash booted state and handling
  • Merge branch \'device_config\' into develop_embedded
  • Merge branch \'bootloader_updates\' into develop_embedded
  • Fixed incorrect exception message
  • Fixed Windows Platform specific code
  • Fixed Super Speed mode and added a test
  • Updated FW for UsbSpeed handling
  • Added versioning to BL requests and refactored
  • Updated flash_bootloader example
  • Added capability to compress FW and additional BL config helper
  • Reduced BL check to 0.0.14 and updated FW and BL
  • Update FW with stereo LR-check, subpixel fixes; extended mode is not available
  • Apply suggestions by clang-tidy
  • Rename vars as requested
  • Bring the 3 variable ctor into visibility
  • Updated bootloader_configuration example
  • Make data members const
  • Add pertinent info to XLinkError struct
  • Throw XLink specific errors for read/write errors
  • WIP: Bootloader configuration
  • Merge branch \'develop\' into bootloader_updates
  • Fixed boot_memory bootloader upgrade routine
  • Merge branch \'develop\' into bootloader_updates
  • Allow to specify which bootloader is overridden by the env var: [DEPTHAI_BOOTLOADER_BINARY_USB]{.title-ref} [DEPTHAI_BOOTLOADER_BINARY_ETH]{.title-ref} (both can be set)
  • Updated flash_bootloader example
  • Improved the flash_bootloader example a bit
  • Updated flash_bootloader to be a bit more verbose
  • Added an explicit flag to allow flashing bootloader
  • Moved operator<< overloads to global namespace
  • Warn when firmware or bootloader binaries are overriden
    • to confirm it\'s picked up, or to notice when forgotten exported
  • Optional env var DEPTHAI_BOOTLOADER_BINARY to override bootloader FW path, mostly for development
  • Update bootloader: support for more NOR flash chips, fixes issues with flash erasing
  • Revert \"Removed flash_bootloader\" This reverts commit f1f03bcefde92b518fe5a1534b83c3fa919e30e6.
  • Revert \"Removed flash_bootloader example temporarily\" This reverts commit ee2a04e58b995e1bfa0cb03b91f83a45d446ca7f.
  • Updated FW and a catch clause
  • Merge branch \'develop\' into device_config
  • Fixed patching
  • Modified watchdog to use a separate stream
  • Updated preboot and added watchdog configuration
  • Merge branch \'develop\' into device_config
  • Removed deprecated OpenVINO versions
  • Merge branch \'develop\' into device_config
  • Updated example
  • Merge branch \'develop\' into device_config
  • Refactored and added preboot config
  • WIP: Device configuration
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, Otto Seiskari, Sachin Guruswamy, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.10.0 (2021-08-24)

  • Release v2.10.0
  • Merge pull request #201 from luxonis/develop Release v2.10.0
  • Bump version to 2.10.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #199 from luxonis/xlink_chunk_size Configure XLink chunk size
  • Update FW and shared after merge
  • DeviceBase/Device: add {set/get}XLinkChunkSize RPC calls
  • Merge pull request #195 from luxonis/update_readme Update README.md instructions with OpenCV troubleshooting
  • Fix naming [setXlinkChunkSize]{.title-ref} -> [setXLinkChunkSize]{.title-ref}
  • Pipeline: add [setXlinkChunkSize]{.title-ref}
  • Update FW with bilateral fix
  • Update README.md
  • Merge branch \'main\' into develop
  • Merge branch \'deviceBase\' into develop
  • Address review comments
  • Merge pull request #197 from luxonis/sysinfo_docs Fixed display names
  • Fixed display names
  • update code template
  • Merge pull request #196 from luxonis/stereo_crash_workaround Stereo crash workaround
  • Add workaround for stereo subpixel/extended mode crash at the expense of system performance
  • Update README.md instructions with OpenCV troubleshooting
  • Merge pull request #181 from luxonis/feature_tracker Feature tracking support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'main\' into develop
  • Added default constructor as these are not inherited
  • Update FW
  • Applied style
  • Fixes for MSVC ambiguity with overloaded constructors
  • Handle dtor and close without bugs
  • Merge branch \'develop\' into deviceBase
  • Fix build issue
  • Rename function arguments to their alias
  • Fix docs about feature tracking
  • Update shared with type fixes in docs; update FW to latest develop
  • Keep same behavior in DeviceBase as Device wrt starting pipeline
  • Make ctor API simpler for [DeviceBase]{.title-ref} and [Device]{.title-ref}
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Refactor FeatureTrackerConfig
  • Rename feature tracker config fields
  • Shutdown gracefully in case of exception in ctor
  • Add support for hardware accelerated motion estimation
  • Make [connection]{.title-ref} as protected
  • Move startPipeline from DeviceBase to Device
  • Update shared
  • Rename FeatureTrackerData to TrackedFeatures
  • Sync python-cpp examples
  • Add configurable shave/memory resources to feature tracker
  • Update FW with memory optimizations
  • Update FW and shared
  • Add overloaded functions to disable optical flow
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Extend feature tracker configuration
  • Add config fields to feature tracker node
  • Update FW
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Synchronize python-cpp examples
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Update names, make serialize a public function
  • Add note in the documentation of the virtual functions
  • Fix reference to base class function in [dai::Device]{.title-ref}
  • Give more love to StreamPacketParser
  • Make the virtual functios protected and public functions non-virtual
  • Move items around in startPipeline
  • Separate Device and DeviceBase, expose StreamPacketParser
  • Separate Queue handling from core API
  • Update FW with multi instance support
  • Remove leftover code
  • Update trackbar naming
  • Add FeatureTracker node; add cpp example
  • POC: Feature tracker node
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis,

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged depthai at Robotics Stack Exchange

depthai package from depthai repo

depthai

Package Summary

Tags No category tags.
Version 2.24.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/luxonis/depthai-core.git
VCS Type git
VCS Version ros-release
Last Updated 2024-03-06
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

DepthAI core is a C++ library which comes with firmware and an API to interact with OAK Platform

Additional Links

Maintainers

  • Sachin Guruswamy

Authors

  • Martin Peterlin

DepthAI C++ Library

Forum Docs License: MIT

Core C++ library

Documentation

Documentation is available over at Luxonis DepthAI API

Disclaimer

DepthAI library doesn't yet provide API stability guarantees. While we take care to properly deprecate old functions, some changes might still be breaking. We expect to provide API stability from version 3.0.0 onwards.

Dependencies

  • CMake >= 3.10
  • C/C++14 compiler
  • [optional] OpenCV 4 (required if building examples)

MacOS: Optional brew install opencv

Linux: Optional sudo apt install libopencv-dev

Building

Make sure submodules are updated

git submodule update --init --recursive

Then configure and build

cmake -S. -Bbuild
cmake --build build

ℹ️ To speed up build times, use cmake --build build --parallel [num CPU cores] (CMake >= 3.12). For older versions use: Linux/macOS: cmake --build build -- -j[num CPU cores], MSVC: cmake --build build -- /MP[num CPU cores]

⚠️ If any CMake commands error with CMake Error: The source directory "" does not exist. replace argument -S with -H

Dynamic library

To build dynamic version of library configure with following option added

cmake -S. -Bbuild -D'BUILD_SHARED_LIBS=ON'
cmake --build build

Android

Android is supported to some extent but not actively pursued nor tested. PRs with any improvements are welcome.

Steps:

  • Install Android NDK (for example via Android Studio).
  • Set the NDK path:
export ANDROID_HOME=$HOME/.local/lib/Android
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
export NDK=$ANDROID_HOME/ndk/23.1.7779620/ # Check version

  • Ensure a recent version of cmake (apt version is outdated, install snap install cmake --classic)
  • Run cmake, set your ABI and Platform as needed:
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-25
cmake --build build

Running examples

To build the examples configure with following option added

cmake -S. -Bbuild -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build/examples folder and run a preferred example

cd build/examples
./MobileNet/rgb_mobilenet

ℹ️ Multi-Config generators (like Visual Studio on Windows) will have the examples built in build/examples/MobileNet/[Debug/Release/...]/rgb_mobilenet

Integration

Under releases you may find prebuilt library for Windows, for use in either integration method. See Releases

CMake

Targets available to link to are: - depthai::core - Core library, without using opencv internally - depthai::opencv - Core + support for opencv related helper functions (requires OpenCV4)

Using find_package

Build static or dynamic version of library (See: Building and optionally Installing)

Add find_package and target_link_libraries to your project

find_package(depthai CONFIG REQUIRED)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

And point CMake to either build directory or install directory:

-D'depthai_DIR=depthai-core/build'

or

-D'depthai_DIR=depthai-core/build/install/lib/cmake/depthai'

If library was installed to default search path like /usr/local on Linux, specifying depthai_DIR isn't necessary as CMake will find it automatically.

Using add_subdirectory

This method is more intrusive but simpler as it doesn't require building the library separately.

Add add_subdirectory which points to depthai-core folder before project command. Then link to any required targets.

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/depthai-core EXCLUDE_FROM_ALL)
...
project(my-app)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

Non-CMake integration (Visual Studio, Xcode, CodeBlocks, ...)

To integrate into a different build system than CMake, prefered way is compiling as dynamic library and setting correct build options. 1. First build as dynamic library: Building Dynamic library 2. Then install: Installing

In your non-CMake project (new Visual Studio project, ...) 1. Set needed library directories: - build/install/lib (for linking to either depthai-core or depthai-opencv) - build/install/bin (for .dll's) 2. And include directories - build/install/include (library headers) - build/install/include/depthai-shared/3rdparty (shared 3rdparty headers) - build/install/lib/cmake/depthai/dependencies/include (dependency headers)

ℹ️ Threading library might need to be linked to explicitly.

ℹ️ Check build/depthai-core-integration.txt or build/depthai-opencv-integration.txt for up to date define options. The generated integration file also specifies include paths without requiring installation.

Installing

To install specify optional prefix and build target install

cmake -S. -Bbuild -D'CMAKE_INSTALL_PREFIX=[path/to/install/dir]'
cmake --build build --target install

If CMAKE_INSTALL_PREFIX isn't specified, the library is installed under build folder install.

Environment variables

The following environment variables can be set to alter default behavior of the library without having to recompile

Environment variable Description
DEPTHAI_LEVEL Sets logging verbosity, 'trace', 'debug', 'warn', 'error' and 'off'
XLINK_LEVEL Sets logging verbosity of XLink library, 'debug'. 'info', 'warn', 'error', 'fatal' and 'off'
DEPTHAI_INSTALL_SIGNAL_HANDLER Set to 0 to disable installing Backward signal handler for stack trace printing
DEPTHAI_WATCHDOG Sets device watchdog timeout. Useful for debugging (DEPTHAI_WATCHDOG=0), to prevent device reset while the process is paused.
DEPTHAI_WATCHDOG_INITIAL_DELAY Specifies delay after which the device watchdog starts.
DEPTHAI_SEARCH_TIMEOUT Specifies timeout in milliseconds for device searching in blocking functions.
DEPTHAI_CONNECT_TIMEOUT Specifies timeout in milliseconds for establishing a connection to a given device.
DEPTHAI_BOOTUP_TIMEOUT Specifies timeout in milliseconds for waiting the device to boot after sending the binary.
DEPTHAI_PROTOCOL Restricts default search to the specified protocol. Options: any, usb, tcpip.
DEPTHAI_DEVICE_MXID_LIST Restricts default search to the specified MXIDs. Accepts comma separated list of MXIDs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_ID_LIST Alias to MXID list. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_NAME_LIST Restricts default search to the specified NAMEs. Accepts comma separated list of NAMEs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_BINARY Overrides device Firmware binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_USB Overrides device USB Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_ETH Overrides device Network Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_ALLOW_FACTORY_FLASHING Internal use only
DEPTHAI_LIBUSB_ANDROID_JAVAVM JavaVM pointer that is passed to libusb for rootless Android interaction with devices. Interpreted as decimal value of uintptr_t
DEPTHAI_CRASHDUMP Directory in which to save the crash dump.
DEPTHAI_CRASHDUMP_TIMEOUT Specifies the duration in seconds to wait for device reboot when obtaining a crash dump. Crash dump retrieval disabled if 0.

Running tests

To run the tests build the library with the following options

cmake -S. -Bbuild -D'DEPTHAI_TEST_EXAMPLES=ON' -D'DEPTHAI_BUILD_TESTS=ON' -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build folder and run ctest with specified labels that denote device type to test on. Currently available labels: - usb - poe

cd build
# Run tests on USB devices
ctest -L usb
# Run tests on PoE devices
ctest -L poe

Style check

The library uses clang format to enforce a certain coding style. If a style check is failing, run the clangformat target, check the output and push changes.

To use this target clang format must be installed, preferably clang-format-10

sudo apt install clang-format-10

And to apply formatting

cmake --build build --target clangformat

Documentation generation

Doxygen is used to generate documentation. Follow doxygen download and install the required binaries for your platform.

After that specify CMake define -D'DEPTHAI_BUILD_DOCS=ON' and build the target doxygen

Debugging tips

Debugging can be done using Visual Studio Code and either GDB or LLDB (extension 'CodeLLDB'). LLDB in some cases was much faster to step with and resolved more incomplete_type variables than GDB. Your mileage may vary though.

If there is a need to step into Hunter libraries, that can be achieved by removing previous built artifacts

rm -r ~/.hunter

And configuring the project with the following CMake option set to ON

cmake . -D'HUNTER_KEEP_PACKAGE_SOURCES=ON'

This retains the libraries source code, so that debugger can step through it (the paths are already set up correctly)

Troubleshooting

Build fails with missing OpenCV dependency

If your build process happen to fail due to OpenCV library not being found, but you have the OpenCV installed, please run build with additional -D'OpenCV_DIR=...' flag (replacing default Ubuntu path /usr/lib/x86_64-linux-gnu/cmake/opencv4 with yours)

cmake -S. -Bbuild -D'OpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4'

Now the build process should correctly discover your OpenCV installation

Hunter

Hunter is a CMake-only dependency manager for C/C++ projects.

If you are stuck with error message which mentions external libraries (subdirectory of .hunter) like the following:

/usr/bin/ld: /home/[user]/.hunter/_Base/062a19a/ccfed35/a84a713/Install/lib/liblzma.a(stream_flags_decoder.c.o): warning: relocation against `lzma_footer_magic' in read-only section `.text'

Try erasing the Hunter cache folder.

Linux/MacOS:

rm -r ~/.hunter

Windows:

del C:/.hunter

or

del C:/[user]/.hunter

CHANGELOG

Changelog for package depthai

2.24.0 (2024-02-02) -----------* New nodes and messages: * Sync node - syncs multiple inputs based on the timestamp, outputs a message group message * Demux node - demultiplexes message group in multiple messages * Message group message - a new message that can contain a map of arbitrary depthai messages, it\'s the output of the sync node and input to the demux node * Encoded frame message - a new message specialized for encoded frames * New output for the VideoEncoder node (out) for the encoded frame message * Automatic crash dump retrieval for firmware crashes * Added setIrFloodLightIntensity and setIrLaserDotProjectorIntensity methods for setting the intensity normalized between 0 and 1 * Added getConnectionInterfaces method to retrieve the list of available interfaces on a device * Added an option to cap maximum time for exposure when using auto exposure with setAutoExposureLimit * Initial integration for IMX283 and IMX462 * Improve time-syncing between the host and device to achieve sub 300 us offset * Improved max FPS and image quality under low light for OV9282 and OV9782 #926 ,new ranges per resolution of: * THE_800_P: 1.687 .. 129.6 fps * THE_720_P: 1.687 .. 143.1 fps * THE_400_P: 1.687 .. 255.7 fps * Avoid overflow for XLink profiling #933 * Improve XLink stability when using multiple devices luxonis/XLink#73 * Fix a rare bug where the device would hand in the constructor #922 * Fix a bug where XLinkIn didn\'t work correctly for very small and very large buffers * Fix a bug for running multiple stereo nodes with a shared input * On multi-input NeuralNetworks set the output NNData to the newest input timestamp (previously undefined) * Add NOC DDR usage reporting on DEPTHAI_LEVEL=info * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.23.0 (2023-11-14) -----------* ImageManip - configurable interpolation type * Script - added missing bindings for reading device releated data (on device calibration, etc...) * Added Device::getDeviceName and Device::getProductName that target a user name and a \"SKU\" name * Timesync - improved synchronization with tweaks to XLink * Calibration - added housingExtrinsics * Fix CAM_D enumeration on OAK-FFC-4P R7 * BMI270 IMU - fix latency when slow reading * Device related logging * OAK-D-SR-POE - new revision bugfixes * Fix 4 cameras crash on PoE due to memory allocation * Fixed incorrect warp in issue #882 * XLink - updated number of devices to 64 * ToF - median filter and Z map support (still not the final decoding pipeline) * hasAutofocus value fixed and introduced hasAutofocusIC * Added timestamps and sequence numbers to all Message types * Added DEPTHAI_ENABLE_LIBUSB for potentially disabling USB protocol (to not require libusb library) * OV9782 and AR0234 improvements: * OV9782 FPS improvements * AR0234 max exposure time bump to 33ms and improved FSync INPUT mode * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.22.0 (2023-06-15) -----------* UVC Node - Capability to create a pipeline that sends data over UVC (or flash it) * ToF Node - Capability to decode ToF data into a depth map * New devices: OAK-D-SR (fixes), OAK-D-LR R1, OAK-D SR PoE * Reorganized CameraBoardSocket naming * Logging improvements * Added data throughput profiling, per device and globally * Added DEPTHAI_DEVICE_NAME_LIST env var to filter devices by name * Bootloader v0.0.26 - Fix for bootloader crash (USB variant) * Fix for 4 cameras via ETH * Device constructor bugfixes (when taking pipeline, or pipeline with config preapplied, etc...) * XLink - Bugfix for wrongly discovered usb path on Windows * OV9782 startup stream issue fix * #779 - Fixes a parsing issue * #469 - Fixes a stuck case if same stream names are used * Deprecated RGB/LEFT/RIGHT/... CamerBoardSocket naming. Rely on CAM[A-H] or setName API * Add option to clear crash dump * XLink - Added 255.255.255.255 discovery and increased PoE search time * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.2 (2023-04-05) -----------* UPDATE: Use v2.21.2 due to issues this version carries * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.0 (2023-04-03) -----------* Improved x/y accuracy for SpatialLocationCalculator/SpatialDetectionNetwork * Support for median and mode, default changed to median in SpatialLocationCalculator/SpatialDetectionNetwork * Multi stereo support, ability to run stereo between any 2 calibrated cameras * Support for LEFT/RIGHT alignment in stereo node * Support to invalidate edge pixels: setNumInvalidateEdgePixels in Stereo Node * BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated in Stereo Node * Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage in Stereo Node * Fix for RGB-depth alignment when RGB is configured to 12 MP * Crash dump support - support to retrieve crash context from the device which can be shared with developers * Configurable 3A fps - setIsp3aFps * IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API * BMI270 - enable interrupt mode, timestamps are more consistent now * BNO086* - fix for sequence number * AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog), * OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light, * OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure * HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS * FW: fix for UART0 / \'/dev/ttyS0\' init failure in Script node * POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle * [XLink] Increased max number of links from 32 to 64 * Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled * Handle EEPROM boardOptions bit 7 for separate I2C on L/R cameras * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.2 (2023-01-31) -----------* Fix for ColorCamera at high resolution while using isp scaling * Fix for OV9282 SW sync on devices with OV9782 RGB camera * Fix for IMX378/477/577 on sockets other than CAM_A (RGB) * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.1 (2023-01-29) -----------* Modified OpenVINO::VERSION_UNIVERSAL API improvements / backward compatibility * Bootloader version 0.0.24 (fixes for standalone / flashed usecases) * [FW] Status LEDs on some additional devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.1 (2022-11-28) -----------* Added Device getDeviceName API * OAK-FFC 4P (R5M1E5) IR/Dot support * Additional Stability bugfixes to go along with 2.19.0 for PoE devices * Protected productName field in EEPROM * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.0 (2022-09-20) -----------* Stability improvements #616 * isUserBootloaderSupported API * Device.setTimesync(true/false) convenience function to enable or disable subsequent timesyncing * Windows improvements with listing BOOTED devices (\"udev permissions\" issue) * Fix OV9282 as MonoCamera on RGB socket (issue was black image) * Fix crash under high load (regression with camera events streaming) * Fix YOLOv5/7 decoding in case of a single class * Fix image size when decimation filter is enabled * Fix for certain OV9782 and OV9282 permutations/configs * Reset Device timestamp on boot to zero * Reworded \"No available devices\" error message when there are other connected devices connected. * Update CI to Node16 compatible actions

2.17.4 (2022-09-20) -----------* DEPTHAI_WATCHDOG=0 bugfix (245fb57) * V5 Calibration flashing fix * FW log level bugfix (#587) * Updated DeviceBootloader::Config to retain existing values * PoE watchdog issues addressed (74b699c) * XLink - kernel driver detach (fixes some USB connectivity issues) (ba9bd8b) * Added EEPROM clear capability * Added missing installation of DLL files (#550) * Asset RPC refactor * Exposed Device::getAllConnectedDevices() * Exposed FW & BL versions * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.17.3 (2022-08-05) -----------* Updated FW - BMI270 IMU improvements * Added seq & timestamps for more messages * New boards support * Windows DLL improvements (install libusb dll alongside libdepthai-core.dll) * XLink - improved connecting directly to given IP * StereoDepth ImgFrame metadata w/h when decimation filter is enabled * Intrinsic read fix #379 * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.17.0 (2022-07-11) -----------* Support for new S2/Pro devices * FW: support for OAK-D-S2 / OAK-D-Pro using the latest board DM9098 R6M2E6 * Handle new resolutions THE_720_P and THE_800_P for ColorCamera, applicable to OV9782 on RGB/center socket * StereoDepth: Add option for disparity shift to reduce minimum depth * StereoDepth: extended and subpixel mode can be enabled simultaneously * YoloV6 support * Refactor ImageManip node * macOS / Linux shared library and CI improvements * Bootloader improvements * Flash boot improvements * Bootloader improvements (capability to flash and boot from eMMC) * Flashed application information * Memory querying * XLink device search race fix * Capability to flash BoardConfig along with the Pipeline * Added host monitor thread to disconnect offline PoE devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.16.0 (2022-06-15) -----------* OpenVINO 2022.1 support * XLink device search improvements * cross subnets for PoE devices * drastically reduced discovery time * Separated name / IP and MXID, to be able to query both USB path / IP and MXID * Android support * libusb dependency is now managed by Hunter * IMU FW update for BNO sensor * Added DetectionParser node as a standalone component of DetectionNetwork * StereoDepth - subpixel fractional bits API * VideoEncoder - lifted 16 frame pool limitation * Contributors: Sachin, Sachin Guruswamy

2.15.5 (2022-06-02) -----------* EEPROM FIX * Json fix (#478) * Fixed nlohmann json < v3.9.0 compat and toolchain generation * turn off clang format Co-authored-by: Martin Peterlin <martin.peterlin7@gmail.com> Co-authored-by: TheMarpe <martin@luxonis.com> * Empty-Commit * Update package.xml * Contributors: Sachin, Sachin Guruswamy

2.15.4 (2022-05-09)

  • Release 2.15.4
  • Update docs; removed unsupported AprilTag families
  • FW: VideoEncoder: fix keyframe rate config, fix resource computations for JPEG (e.g: MJPEG for 4K video 30fps + MJPEG for still 12MP ~1fps) properly set resources used to allow
  • Update FW
  • Update FW; change behavior of stereo rectification based on stereo camera FOV
  • Merge \'origin/poe_mtu_sysctl\' into develop - #428 Improve PoE throughput and latency for some usecases
  • Update XLink to set TCP_NODELAY, reducing latency
  • Merge \'origin/develop\' into poe_mtu_sysctl
  • Merge branch \'eeprom_version_v7\' into develop
  • Merge branch \'develop\' into eeprom_version_v7
  • Merge branch \'json_compat\' into develop
  • Lowered minimum required nlohmann json version to 3.6.0
  • Set RGB aligned depth output to match mono camera
  • Merge \'ov7251_configurable_fps\' into develop - #455
  • Update FW: fix overriding useHomographyRectification behaviour specified in docs when custom mesh is provided
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #459 from diablodale/fix458-cmaketest-flags reduce num conforming tests; add missing _conforming test suffix
  • reduce tests for MSVC conforming preprocessor - drastically reduce number of tests run for MSVC conforming preprocessor https://github.com/luxonis/depthai-core/pull/459#issuecomment-1108649206 - add option to test harness that indicates when a test is run with the MSVC conforming preprocessor

  • Updated flashing permissions

  • Fix RGB alignment remapping when configured color camera resolution is different from calibration one

  • Updated Bootloader to v0.0.18

  • Updated FW with device EEPROM handling fixes

  • strengthen test for device construct+q+frame

  • Updated bootloader with PCIe internal clock fixes

  • Added capability to create CalibrationHandler from json

  • Fixed factory reset functionality and exposed more functions

  • Updated BL with more build information and new EEPROM data support

  • Updated EEPROM and added another level of permissions

  • add missing _conforming suffix to tests cmake

  • Merge pull request #457 from luxonis/rgb_alignment Enable RGB alignment for spatial detection examples

  • Enable RGB alignment for spatial detection examples

  • Merge pull request #454 from diablodale/test-device-queues1 test case for Device constructor not calling tryStartPipeline()

  • test case for Device constructor not tryStartPipeline() - catch bug and prevent regression as discussed https://github.com/luxonis/depthai-core/commit/7257b95ecfb8dcb77c075e196ac774cc05cb8bc6#commitcomment-71730879

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Update FW: configurable FPS for OV7251: max 99 for 480p, 117 for 400p

  • Added bindings and support for new EEPROM version

  • WIP - modify behavior to be backwards compatible and add checks if calibration is available

  • Added additional EEPROM functionality

  • Applied formatting

  • Merge branch \'main\' into develop

  • Update FW: improve PoE throughput and latency (set net.inet.tcp.delayed_ack=0), add config for MTU (not advised to change for now) and other sysctl params

  • Contributors: Dale Phurrough, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.3 (2022-04-22)

  • Add explicit documentation about loadMesh behavior; specify that only the first 8 distortion coefficients are used
  • Merge pull request #456 from luxonis/macos_ci_test Fix failing CI for MacOS
  • Extend useHomographyRectification documentation with more details
  • Remove brew update
  • Bump version to 2.15.3
  • Merge branch \'release_2.15.3\' into main
  • Clarify docs for homography rectification default behavior
  • Merge pull request #437 from luxonis/warp_mesh_on_device Add on-device mesh generator for Stereo
  • Disable mesh rectification by default; fix error reporting when RGB alignment is enabled and left-right check disabled
  • Fix styling
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'serialization_type\' into develop
  • Fixed incorrect Device constructors not starting the pipeline and creating queues
  • Fixed device Clock.now in Script node to match messages timestamps
  • Modifed serializeToJson to create a json object instead
  • Added Clock.now bindings on device
  • Added capability to serialize pipeline to json
  • Merge pull request #424 from luxonis/bmi270_support IMU: Bmi270 support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #449 from luxonis/openvino_no_blob Openvino: Fix error reporting when blob is not set
  • Removed DEPTHAI_NODISCARD for docs generation
  • Updated libnop (#448)
    • Updated libnop with C++20 fixes and added fs test targeting C++20
    • Added a guard for non-existent tests
    • Modified tests to not require higher CMake version
  • Fix openvino get version
  • Openvino: Fix error reporting when blob is not set
  • Removed deprecated StereoDepth API
  • new class [dai::Path]{.title-ref} for APIs that accept path/filenames (#384)

    • initial dai::Path and test cases
    • fixes luxonis/depthai-core#352
    • move codecvt from header -> cpp
    • add Path::string() and u8string()
    • to enable display/log of Path
    • fmt for dai::Path; NN::setBlobPath(dai::Path)
    • dia::path throws like std::fs::path
    • c++17, pub/pvt header, test cmake c++ std level
    • enable c++17 std::filesystem support and test cases
    • split header into public/private parts

    - cmake for test cases now supports optional c++ standard level param - verify c++ std compiler support for tests

    - add COMPILER_SUPPORTS_CXX{14,17,20,23} vars to Flags.cmake and can be used everywhere - add dai::Path::empty() - add dai::Path to Device, DeviceBase, Resources - simplify Device, DeviceBase constructors by delegating

    - add is_same<> template on constructors with bool param to prevent implicit convert of almost everything to bool - make two DeviceInfo constructors explicit to prevent their use in implicit conversion - relevant test cases - fix minor throw text bugs - fix Device usb2Mode sigs, add test case - add dai::Path to CalibrationHandler - minor refactor dai::Path - enable 2 Calibration+1 Bootloader example - add dai::Path to DeviceBootloader, XLinkConnection - plus test cases - add dai::Path to Pipeline, StereoDepth, AssetManager - plus test cases - add dai::Path to dai::Script + test cases - linux fixes for test cases, and c++14 type_traits - add doxygen to dai::Path - detect compiler c++ std level and update cmake - fix preprocessor flag for tests on MSVC - fixes luxonis/depthai-core/issues#408 - partial dai::Path support for c++20 utf-8 - unable to fully test due to bug #407 - add windows header define WIN32_LEAN_AND_MEAN - rename macro to DEPTHAI_NODISCARD - review feedback

  • Apply style

  • Add on-device mesh generator

  • Initial BMI270 support

  • Contributors: Dale Phurrough, Martin Peterlin, SzabolcsGergely, TheMarpe, szabi-luxonis

2.15.2 (2022-03-30)

  • Release v2.15.2
  • Merge pull request #439 from 0xMihir/main Bump Hunter version
  • chore: bump Hunter version Adds support for MSVC 1931 Using 0.24.0 doesn\'t work because there\'s a duplication error in the nlohmann/json library hunter config file
  • std::exchange needs <utility> to be included (#435) * std::exchange needs <utility> to be included Without <utility> it is gives \"error: 'exchange' is not a member of 'std'\" errors. Ref : https://en.cppreference.com/w/cpp/utility/exchange

    • clang format fix
  • Merge branch \'main\' into develop

  • Fixes #436 - removes temporary warning log in StereoDepth

  • Updated XLink - removed dependency on pthread_getname_np

  • Merge branch \'device_is_closed_fix\' into develop

  • Fixed XLink issue with not erroring on write failures

  • Openvino: improve error logging for out of memory cases

  • Modified to store fisheye Camera model

    • Add getter for distortion model in CalibrationHandler
    • Pad distortion coefficients with 0\'s if there\'s less than 14
    • Only return first four distortion coefficients for Fisheye distortion
  • Merge pull request #430 from luxonis/custom_depth_unit Customizable depth unit

  • Change metre to meter

  • Change millimetre to depth unit where it\'s applicable in docs

  • Add setter/getter utility function for depth unit

  • Add customizable depth unit

  • Merge pull request #427 from luxonis/warp_improvements Warp engine improvements for RGB alignment/stereo rectification

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Warp engine improvements for RGB alignment/stereo rectification

  • Contributors: Mihir Patil, Onuralp Sezer, SzabolcsGergely, TheMarpe, slitcch, szabi-luxonis

2.15.1 (2022-03-16)

  • Merge branch \'release_2.15.1\' into main
  • Merge pull request #426 from luxonis/focal_length_from_calib Use focal length from calibration by default for Stereo node
  • Merge pull request #422 from luxonis/fix_calib_rgb_translation Calib data RGB spec translation fix for some CM3/CM4 boards
  • Set focal length from calibration as default for stereo node
  • Update FW: fix StereoDepth crash with missing EEPROM, report error if missing, do not rotate RGB (AUTO orientation) on OAK-D(-Lite) if EEPROM is missing
  • Merge \'origin/develop\' into fix_calib_rgb_translation
  • Bump version to 2.15.1
  • Merge pull request #421 from luxonis/confidence_map_alignment_opt Optimizing the confidence map alignment
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk: Merge confidence_map_alignment_opt into develop
  • Merge branch \'xlink_race_improvements\' into develop
  • Update FW: patch EEPROM data for incorrectly programmed RGB spec translation, for manually ran calibration on CM3/CM4 boards. Was leading to wrong RGB-depth alignment
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp - remove global variables)
  • Adding a new StereoDepth example rgb_depth_confidence_aligned.cpp for aligning the rgb, depth and confidence frames
  • Updated XLink with only required changes
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp logs)
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Updated XLink with some race fixes and other improvements
  • Updated FW with thermal protection mechanism
  • Merge pull request #398 from diablodale/fix390-callback-moves move semantics with DataOutputQueue::addCallback()
  • Merge pull request #417 from ibaiGorordo/patch-1 Fix Readme links
  • Fix Readme links
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Fix default temporal/spatial filter values when subpixel is enabled
  • Merge pull request #403 from diablodale/fix314-cmpjson verify device json in example script_json_comm
  • Merge pull request #409 from diablodale/fix408-conformflag correct test cmake to add preproc conform flag
  • correct test cmake to add preproc conform flag
  • Updated release template
  • Merge branch \'main\' into develop
  • verify device json in example script_json_comm
  • move semantics in DataOutputQueue::addCallback()
  • Contributors: Dale Phurrough, Ibai Gorordo, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.0 (2022-02-23)

  • Merge branch \'release_2.15.0\' into main
  • Bump version to 2.15.0
  • Merge pull request #287 from luxonis/oak-d-pro_develop Support for OAK-D Pro
  • Merge \'origin/develop\' into oak-d-pro_develop
  • [getIrDrivers]{.title-ref} -> vector of tuples (driverName, i2cBus, i2cAddr). Return if setIrDot/Flood succeeded
  • Merge pull request #401 from luxonis/openvino_version_deprecation Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2021.3
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Merge pull request #405 from luxonis/cfg_fps_lite Configurable RGB FPS on Lite devices, fix RGB orientation
  • Updated test suite for new env var naming
  • Renamed env variable and updated README regarding testing
  • Update FW: RGB orientation fix for OAK-1 (new versions) and OAK-1-Lite
  • Merge \'origin/develop\' into cfg_fps_lite
  • Merge \'origin/develop\' into oak-d-pro_develop
  • IR driver: remove raw register access API
  • IR driver RPC: add [getIrDrivers()]{.title-ref}, update description with limits
  • Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2022.3
  • Merge pull request #389 from luxonis/imu_device_ts Add device monotonic timestamp to IMU reports
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add dot-projector/flood-illuminator brightness control
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Revert \"USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)\" This reverts commit 96691b9a8295c54bea1c04c20bc4ad60091ca536.
  • Update FW: ColorCamera memory optimization when [still]{.title-ref} is not connected, properly handle width-multiple-of-32 (only needed for VideoEncoder), don\'t enforce it on [video]{.title-ref} by default, allow [still]{.title-ref} size smaller than [video]{.title-ref}
  • Modify IMU example: GYRO at 400 hz to avoid spikes
  • Update shared
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #387 from luxonis/subpixel_after_lr_check Do subpixel interpolation once when LR-check is enabled
  • Fix formatting
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Updated shared
  • Fixed crash when device watchdog is disabled
  • Merge pull request #394 from luxonis/skip_invalid_devices Invalid device warnings suppression
  • Suppressed redundant warnings for invalid devices
  • Merge pull request #382 from diablodale/fix300-errorname skip devices named \"<error>\" in device search
  • Merge branch \'testing_ci\' into develop
  • Merge branch \'fw_stability_fix\' into develop
  • Fixes a stability issue bug that affected PoE devices mostly
  • Added testing CI
  • Add on-device python bindings
  • Add device monotonic timestamp to IMU reports
  • Update FW, fix for custom alinment subpixel interpolation
  • Do subpixel interpolation after LR-check; improves performance to 30fps@800p
  • Merge pull request #378 from diablodale/fix366-qsize0 enable queues of size=0 which only do callbacks
  • Merge branch \'fix334-interopt-dll\' into develop
  • Merge pull request #361 from luxonis/rgbd_depth_align_optimize Rgbd-depth alignment optimization
  • Update mdk - RGB-depth alignment
  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize
  • enable queues of size=0 which only do callbacks
  • Modified env variable logging verbosity
  • log envvar values at TRACE level only (#381)
  • Update FW - adding the RGB scaling factor for the RGB-depth center alignment
  • skip devices named \"<error>\" in device search
  • minor cleanup examples and tests
    • most fixes are signed/unsigned comparison corrections
  • fix Win MSVC cmake INTERPROCEDURAL_OPTIMIZATION - workaround MSVC incompat BUILD_SHARED_LIBS + WINDOWS_EXPORT_ALL_SYMBOLS + INTERPROCEDURAL_OPTIMIZATION

  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize

  • Merge pull request #375 from luxonis/swap_imu_raw_accelerometer_axis Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #374 from luxonis/reenable_feature_tracker_metadata Reenable feature tracker metadata; change default CPU to CSS for Script node

  • Update shared to match FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed non-cv support ImgFrame header

  • Added initial setter chaining for messages

  • Merge branch \'nndata_sequence_num\'

  • Updated style

  • Merge branch \'openvino_blob\' into develop

  • Change bootloader shared submodule to match develop

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Modified docs and type of exception being thrown

  • Documented Blob fields and added blob file size check

  • Merge remote-tracking branch \'jdavidberger/develop\'

  • Updated libnop with renamed Nil enum

  • Merge branch \'msvc_traditional\' into develop

  • Removed the need for conforming MSVC preprocessor

  • Added capability to read blob information

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed env var usage

  • Fixed typo

  • Added search time env variable and moved querying of env variables to happen once

  • Reverted back search timings in USB protocol case

  • Added means of downselecting protocol used by XLink

  • Merge branch \'watchdog_protection\' into develop

  • Merge remote-tracking branch \'origin/poe_improvements\' into develop

  • Update FW with clock related tweaks for feature tracker

  • Updated flash_bootloader example

  • Update shared/FW w/ build fix

  • Improved PoE interaction

  • Merge pull request #359 from luxonis/subpixel_docs_fix Fix subpixel fractional bits documentation

  • Update FW with stereo fixes for instance number; RGB depth alignment

  • Change the resolution to 720p for the RGB-depth alignment example

  • Update FW: optimized RGB-depth alignment

  • Fix subpixel fractional bits documentation

  • Rename AprilTagData to AprilTags

  • Merge pull request #166 from luxonis/gen2_apriltag Add apriltag support

  • Update FW to latest develop

  • Add example for advanced settings

  • Update FW/shared/examples

  • Update docs/FW

  • Expose all config options for april tag detection algorithm

  • Update FW/shared with fixes for TAG_CIR49H12 TAG_CUST48H12 TAG_STAND41H12 TAG_STAND52H13

  • Update FW/shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Apply formatting

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #353 from luxonis/depth_docs Added some clarifications to depth docs

  • Added some clarifications to depth docs

  • Update FW with object tracker KCF fixes

  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop

  • Specify minimum nlohmann version

  • Merge pull request #350 from luxonis/focal_from_intrinsics Use focal length from calibration intrinsics for fisheye cameras

  • Update FW with fisheye lens detection and override option: setFocalLengthFromCalibration

  • Get focal length from calibration intrinsics

  • workaround bootloader-shared var init bug (#347) - manually init class vars as workaround for https://github.com/luxonis/depthai-bootloader-shared/issues/4

  • Update XLink

  • Updated .gitmodules

  • Update FW/XLink to latest

  • Add openvino 2021.4.2 support

  • Revert XLink to latest develop

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated .gitmodules

  • Merge branch \'board_config\' into develop

  • Updated tidy and shared

  • Updated libnop library (#344)

  • Updated XLink library

  • Added watchdog protection in core and XLink

  • Merge pull request #335 from luxonis/confidence_map_rgb_alignment Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • PipelineImpl::create() use make_shared, not raw new() (#341)

  • Updated FW to sync with shared changes

  • Updated shared

  • Fix StereoDepth::setDefaultProfilePreset

  • Added NN examples to tests, added utility conversion from fp16

  • Added NN examples

  • Re-enable feature tracker metadata

  • Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Merge pull request #333 from diablodale/fix284-unreachable Remove unreachable code in DataQueue

  • remove unreachable code in DataQueue

  • add const ADatatype::getRaw(), Buffer::getData(); add copy+move Buffer::setData() (#331)

  • Merge pull request #332 from luxonis/typos_fix Updated depthai-core with typo fixes

  • Updated depthai-shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated multiple devices test

  • XLink library fixes for multiple devices case (#329)

  • Merge branch \'resources_lazy_load_tsan\' into develop

  • Optimized condition_variable usage

  • Configurable FPS for IMX214: 0.735 .. 35 for 1080p, 1.4 .. 30 (28.5 actually, TODO) for 4K/12MP/13MP

  • Update FW with latest apriltag

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Moved over to a condition variable to signify end of lazy loading

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Fix regression for ColorCamera, StereoDepth

  • StereoDepth: check if input/output messages are connected

  • Fix compilation error w/ clang 13

  • Updated XLink

  • Merge remote-tracking branch \'diablodale/fix257-move-owner-threads\' into develop

  • Added initial BoardConfig

  • fix stream+packet ownership/move; fix thread crashes

    • fix many thread/ownership issues for start/stop scenarios
    • XLinkStream::readMove() for moving packet ownership
    • fix XLinkStream move semantics

    - removed all use of XLinkStream::readRaw as often leads to memory violations and/or memory leaks - deprecate all XLinkStream::readRaw...() APIs - fixes luxonis/depthai-core#257

  • Added missing throw statements

  • Add spatialLocationCalculator output message to spatial detection network

  • USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)

  • Merge \'origin/develop\' into oak-d-pro_develop

  • Update FW with ipv6 disabled

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Add RPC for LM3644 IR projector registers read/write on OAK-D-Pro

  • Update FW with xlink thread priority changes

  • Update FW: openvino 2021.4.2 support

  • Update firmware SDK to r17.5

  • Update linking

  • Update bootloader and fixing errors

  • Update shared

  • Merge remote-tracking branch \'origin/develop\' into gen2_apriltag

  • Add apriltag_rgb example

  • Rename, update shared

  • Update FW

  • Update apriltag example

  • Add initial working version

  • Contributors: CsabaGergely, Dale Phurrough, Erik, Erol444, Martin Peterlin, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.14.1 (2022-01-11)

  • Release v2.14.1
  • Fix regression for ColorCamera, StereoDepth
  • StereoDepth: check if input/output messages are connected
  • Contributors: SzabolcsGergely

2.14.0 (2022-01-05)

  • Release v2.14.0
  • Fixed script json communication example
  • Updated libnop
  • Fixed updated Hunter usage
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Bump Hunter to add support for VS2022
  • Update shared/FW
  • Merge pull request #312 from luxonis/connect_timeout_override Override watchdog initial delay and connect/bootup timeout
  • Rename env var DEPTHAI_INIT_WATCHDOG -> DEPTHAI_WATCHDOG_INITIAL_DELAY
  • clangformat changes, <> changed to \"\" as it was suggesting a new-line between <> and \"\" includes, and then alphabetically ordered
  • [DEPTHAI_INIT_WATCHDOG]{.title-ref} env var to set initial delay [ms] for the device watchdog, mainly to be set to larger values for Ethernet case with network equipment that takes long to establish the link. Default: 8s for USB, 15s for ETH
  • Merge \'origin/develop\' into connect_timeout_override
  • Fix serialization of spatial img data
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #308 from luxonis/json_comm_example Added json communication example
  • Updated XLink
  • Update FW; wakeup driven high
  • Set pullup for IMU wakeup pin
  • Added json communication example
  • FeatureTracker: Add support for 4k/12MP inputs
  • Fix typo: assigment -> assignment
  • FW fix for Stereo HW desync when extended is enabled
  • Adds rgb/depth weight slider to rgb_depth_aligned example
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Bump Windows SDK to 10.0.18362.0 with conforming preprocessor support (#306)
  • Updated FW to match shared
  • Added MSVC preprocessor conformance flag
  • Merge pull request #303 from luxonis/typos_fix Typos fix
  • NNData serialize fix (#305)
    • Adds proper TensorInfo to serialized layer
  • Merge branch \'develop_refactor\' into develop
  • Typos fix
  • Updated shared
  • Updated shared
  • Merge branch \'develop\' into develop_refactor
  • Added incoming message parse timing to trace level debugging
  • Merge pull request #301 from diablodale/fix-xlink-local-install-v2 fix 2 for xlink local cmake
  • fix 2 for xlink local cmake
  • Exposed max serialized metadata size
  • Merge branch \'develop\' into develop_refactor
  • Merge pull request #274 from luxonis/stereo_post_processing Added stereo post processing filters
  • Update FW to latest develop
  • Update FW with improved resource allocation for RGB aligment; improved error handling when out of resources
  • Update shared w/ stubgen fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'stubs_improvements\' into develop
  • Fix broken Windows CI
  • Fixed XLink dependency in config mode
  • Fixed exporting XLink when not using a local version
  • Merge pull request #298 from diablodale/fix-xlink-local-install fix xlink cmake install for local, shared, and static
  • FW: Edge case fix for RGB aligment
  • FW update: don\'t apply threshold filtering on confidence map
  • Add depth post processing example
  • Change all examples to use setDefaultProfilePreset
  • Add default preset mode to StereoDepth constructor
  • Add support for runtiem depth aligment mode; improve API
  • fix xlink cmake install for local, shared, and static
  • Merge pull request #297 from luxonis/tracker_docs Added possible tracker types to comment
  • Updated shared
  • Update FW, fix docs build
  • Update FW; add default stereo presets; add configurable HW resources
  • Added possible tracker types to comment
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #296 from diablodale/fix-264-cmake-shared-vars add cmake vars for local depthai-bootloader/shared
  • add cmake vars for local depthai-bootloader/shared
  • Merge pull request #295 from luxonis/fw_yolov5_and_stability FW YoloV5 support and stability updates
  • Updated FW with YoloV5 support and stability improvements
  • Apply thresholding filter on disparity map if depth is not enabled
  • Add configurable decimation filter modes: pixel skipping/non zero median/non zero mean
  • Merge branch \'depthai_clock\' into develop
  • Merge branch \'xlink_mingw_fix\' into develop
  • Add decimation filter
  • Updated XLink with MinGW fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add configurable number of shaves for stereo postprocessing
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Added clock
  • Add spatial filter
  • Clangformat bootloader example
  • Add specle filter
  • Initial version of temporal + thresholding filter
  • Warn if watchdog is disabled, or value overriden. Reason for change: env vars might get forgotten set, and not easy to spot with DEPTHAI_LEVEL=debug
  • Fix strncpy build warning: specified bound 48 equals destination size [-Wstringop-truncation]
  • Override XLink wait for bootup/connect timeouts with env vars: DEPTHAI_CONNECT_TIMEOUT DEPTHAI_BOOTUP_TIMEOUT (in ms) TODO: add in bootBootloader as well
  • Fixed setNumFramesPool for VideoEncoder node
  • Fixed a node crtp issue
  • Merge branch \'node_crtp\' into develop_refactor
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Added CRTP to Nodes
  • Merge branch \'develop\' into libnop_serialization
  • Refactored Nodes to allow for arbitrary properties and removed issues with multiple copies
  • Added libnop dependency and unified serialization
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Removed deprecated usage and added correct output for DetectionNetwork back
  • Updated waitForMessage API and applied across nodes
  • Added IO groups and refactored IO references
  • Added Node Input options and some tests
  • Contributors: Dale Phurrough, Erik, Erol444, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.13.3 (2021-12-01)

  • Release v2.13.3
  • Update FW: zero out uninitialized DDR memory
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Update FW: fix VideoEncoder potential crash (after power-cycle), instability introduced in 2.13.0
  • Merge pull request #281 from luxonis/manual_white_balance Add manual white balance / color temperature camera control
  • Updated XLink with a couple of fixes
  • Update shared/FW: manual_white_balance merged, other fixes:
    • fixes a crash with more than 4x VideoEncoder instances, now up to around 8 should work
    • StereoDepth fix crash with RGB-depth align and missing RGB calib (calibrated with -drgb)
    • StereoDepth fix RGB alignment when running at calib resolution (OAK-D with 800_P or OAK-D-Lite)
    • an error is thrown if multiple cameras have the same socket assigned
  • rgb_camera_control: add manual white balance controls: [[]{.title-ref} []]{.title-ref} [B]{.title-ref}
  • setManualFocus: no need to set OFF mode, auto-handled
  • CameraControl: add [setManualWhiteBalance(colorTemperatureK)]{.title-ref}
  • Contributors: TheMarpe, alex-luxonis

2.13.2 (2021-11-26)

  • Release v2.13.2
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • FW fix for resource allocation issues when setRuntimeModeSwitch is used
  • Contributors: SzabolcsGergely

2.13.1 (2021-11-24)

  • Applied style
  • Merge branch \'develop\' into main
  • Merge branch \'xlink_regression_fix\' into develop
  • Updated XLink to fix SIGPIPE regression
  • fix initialize() thread/except safety (#277)
  • Contributors: Dale Phurrough, TheMarpe

2.13.0 (2021-11-22)

  • Release v2.13.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Update shared/FW
  • Merge pull request #262 from luxonis/oak-d-lite Support for OAK-D-Lite
  • Remove deprecated VideoEncoder frame size config in examples
  • Merge \'origin/develop\' into oak-d-lite
  • VideoEncoder: maxBitrate following bitrate setting in FW, when 0 (default)
  • VideoEncoder: deprecated setting width/height, auto-computed bitrate by default
  • Update FW: VideoEncoder source size configured when receiving 1st frame, allows to run OAK-D examples (e.g configuring mono cameras to 720_P) on OAK-D-Lite without code changes
  • Merge pull request #268 from diablodale/fix248-trunc-2 Correct float literals, 32/64 trunc, unref vars
  • fix errant printf params in examples (#267)
  • enable build in vscode, custom toolchain+include (#258)
    • enable build in vscode, custom toolchain+include
    • fixes luxonis/depthai-core#246
    • self doc dependency options with set(cache)
  • Merge pull request #269 from luxonis/set_ip_example Added Poe set IP example
  • Added poe_set_ip example
  • Updated FW with scripting improvements
  • correct float literals, 32/64 trunc, unref vars
  • Fix styling
  • Update FW/shared
  • Merge branch \'main\' into develop
  • Merge commit \'18c5f8c3d4b4bb3498b515f2cb7a6a61f22db91a\' into develop
  • Fixed style
  • Merge branch \'xlink_macos_fix\' into develop
  • Adds a timeout for closing an XLink connection
  • Add device.getCameraSensorNames RPC call, can be used to differentiate between OAK-D and OAK-D-Lite. Should return: OAK-D : RGB: IMX378, LEFT: OV9282, RIGHT: OV9282 OAK-D-Lite: RGB: IMX214, LEFT: OV7251, RIGHT: OV7251
  • Color/MonoCamera: handle more resolutions for OAK-D-Lite cameras: IMX214 (13MP) and OV7251 (480P)
  • Updated XLink with macOS fix
  • Contributors: Dale Phurrough, Erik, Erol444, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.12.1 (2021-11-17)

  • Merge branch \'win_prebuilt_fix\' into main
  • Cherry picked XLink macos fix
  • Bump version to 2.12.1
  • Fixed Windows prebuilt library
  • Contributors: TheMarpe

2.12.0 (2021-11-13)

  • Merge pull request #261 from luxonis/develop Release v2.12.0
  • Release v2.12.0
  • Merge pull request #256 from luxonis/object_tracker_update Object tracker fixes, updates: 2 new tracking modes: KCF, short-term imageless.
  • Update FW with latest improvements
  • Fixes for object tracker; support for KCF and imageless short term tracking algorithms
  • Merge pull request #245 from luxonis/non_square_yolo_output Add support for non-square YOLO output
  • Update FW before merge
  • Update FW with error reporting for DetectionNetwork
  • Add support for non-square YOLO output
  • Update FW with Script node (DynamicPool) related fixes
  • Merge pull request #216 from luxonis/stereo_depth_fine_tuning Fine tune stereo depth settings
  • Increase LR-check threshold to 10; disparity confidence threshold to 245 by default
  • Add fine tuned stereo settings, configurable P1/P2 cost aggregation parameters
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Revert \"Set fine tuned stereo settings\" This reverts commit 8af5641c0e0d91d89d84bd4de8daa5aceaebc658.
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #240 from luxonis/extended_disparity Add extended disparity mode
  • Update FW before merge
  • Add addtional outputs to output list
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • FW - fixed OpenVINO layer issue
  • Spdlog version change (#239)
    • added spdlog fix
  • Add extended mode debug outputs
  • Merge remote-tracking branch \'origin/develop\' into extended_disparity
  • StereoDepth: Add extended disparity mode
  • Merge pull request #238 from luxonis/disparity_enc Added disparity encoding example
  • Added disparity encoding example
  • Added CMake version into CI and Ubuntu 18.04 fix (#237)
    • Added CMake version into CI
    • Updated ZLIB with fixed ALIAS on imported target
    • CI - Concatenated -D arguments for old CMake version
    • Updated README instructions for CMake version 3.10
    • Fixed Windows build and ZLIB target
    • Removed old CMake build for MSVC
    • Updated -D CMake usage
  • Merge pull request #234 from luxonis/script_forward_frames Added script forward (demux) example
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'main\' into develop
  • Merge pull request #236 from luxonis/catch_dependency_fix_new_glibc Update catch2 package to 2.13.7
  • Update catch2 package to 2.13.7
  • Added script forward (demux) example
  • Restructured README.md (#232)
    • Restructured README
    • Update README.md
    • Update README.md
  • Set fine tuned stereo settings
  • Contributors: Erik, Erol444, Sachin Guruswamy, SzabolcsGergely, TheMarpe, szabi-luxonis

2.11.1 (2021-10-19)

  • Merge pull request #230 from luxonis/develop Release v2.11.1
  • Bump version to 2.11.1
  • Update to latest firmware/depthai-shared
  • Change warning to info
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #229 from luxonis/fix_build_visual_studio_m_pi Fix build with older Visual Studio - M_PI undeclared
  • [#define _USE_MATH_DEFINES]{.title-ref} at the top of the file attempting to fix building with Visual Studio 15 2017: [error C2065: \'M_PI\': undeclared identifier]{.title-ref} https://discord.com/channels/790680891252932659/798284448323731456/899110756413489212
  • Merge pull request #227 from luxonis/examples_sorting Examples sorting
  • Merge pull request #228 from luxonis/sipp_fw_bugfixes Firmware sdk fixes: for ISP/Sipp filter crashes #395
  • Update FW before merge
  • Renamed two examples
  • Internal firmware sdk fixes: for ISP/Stereo/Sipp filter crashes
  • Fixed CMakeLists that should have worked before as well but ok
  • Moved examples out of /src folder
  • Removed fromPlanarFp16() as it\'s not needed
  • Style fix
  • Added script node CPP examples
  • Added examples in their corresponding folders
  • Grouped tiny yolo3/4 together
  • Contributors: Erik, Erol444, SzabolcsGergely, alex-luxonis, szabi-luxonis

2.11.0 (2021-10-13)

  • Merge branch \'develop\' into main
  • Updated formatting
  • Fixed double promotion warning
  • Bumped to v2.11.0
  • Merge branch \'backward_issue_fix\' into develop
  • Backward - Disables use of additional stack unwinding libs
  • Update FW: increase ImageManip warp max out height: 1520 -> 2560
  • Windows prebuilt libraries (#220)
    • Added CI to build Win64 & Win32 prebuilt libraries and upload along the release
  • Merge branch \'spi_improvements\' into develop
  • Merge branch \'develop\' into spi_improvements
  • Hotfix for FW message cache coherency
  • Merge pull request #206 from luxonis/calib_fov_calculated Added getting calculated FOV from intrinsics
  • Merge pull request #212 from SpectacularAI/fix-extrinsic-inversions-in-calibration-handler Fix the inversion formula for extrinsic matrices in CalibrationHandler
  • Fixed for Windows
  • Fix inversion formula for extrinsic matrices in CalibrationHandler
  • Fix styling
  • Merge pull request #218 from luxonis/stereo_confidence_map Add confidence map output to stereo node
  • Update FW to latest develop
  • Update confidence map output docs
  • Add confidence map output to stereo node
  • Merge pull request #217 from luxonis/ppenc_fixes Fix still image output in RGB postprocessing
  • Updated FW with SPI improvements
  • Update FW to latest develop
  • Fix still image output in RGB postprocessing
  • Fix bootloader version example
  • Merge pull request #200 from luxonis/stereo_fixes Stereo improvements, fixes for subpixel, LR-check
  • Sync stereo_depth_video example
  • Update FW/shared to latest develop
  • Replace deprecated getMaxDisparity() function
  • Handle disparity companding in getMaxDisparity
  • Update FW with runtime disparity range fix
  • Add getMaxDisparity() based on subpixel bits
  • Add stereo node output config
  • Update calibration_reader.cpp
  • Add debug outputs to stereo node; expose number of frame pools
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #213 from luxonis/spatial_calc_algo_choice Add option to pick spatial calculation algorithm : average,min,max of...
  • Update FW/shared to latest develop
  • Merge pull request #214 from luxonis/flash_bl_example_fix flash_bootloader example fix
  • Update shared w/ CI fixes
  • flash_bootloader: improve user prompts, when booted over USB / recovery mode: don\'t ask for confirmations, as if flashing is interrupted, recovery mode should still be accessible. Also it was a bit confusing asking to replace USB bootloader (booted as a flasher helper) with NETWORK
  • Update FW to match depthai-shared
  • flash_bootloader: fix flashing NETWORK bootloader (when booted over USB), or flashing a different bootloader type
  • Set bytes per pixel for ImgFrame
  • Add option to pick spatial calculation algorithm : average,min,max of selected ROI
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with subpixel fix
  • Refactor stereo depth config structure
  • Update FW, enable runtime configuration of Stereo node
  • Imu extrinsics (#211)
    • Updated IMU extrinsics
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with stereo confidence runtime config fix
  • Updated Bootloader to 0.0.15
  • Update FW with stereo performance improvements
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • FW - Updated ColorCamera 1080P resolution config
  • Fixed integration issues
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'develop_embedded\' into develop
  • Remove rectification flipping on host, it was resolved in firmware
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Updated FW - fixed cache coherency issue
  • Update FW, for depthai-shared to match with depthai-core
  • Update FW: fix default camera orientation for OAK-1-PoE, was rotated
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Pipeline - number of connections improvement
  • Fixed exception rethrow in DeviceBase
  • Merge pull request #207 from luxonis/imagemanipcfg_helper_functions Add ImageManipConfig helper functions
  • Fixed style checks, added FormatConfig
  • Added alias
  • Add ImageManipConfig helper functions
  • Fixed issues for the PR
  • Added capability to not install signal handlers
  • Added option to calculate FOV based on camera intrinsics. Added this function to calibration_reader and also refactored it so matricies are more readable
  • Merge pull request #205 from luxonis/calib_helper_functions Calib helper functions
  • Fixed typo
  • Style check fix
  • Updated FW to allow for graceful resets
  • Added helper functions to get translation vector and baseline distance
  • Merge pull request #204 from luxonis/extrinsics_translation_cm Specified that translation is in centimeters
  • Specified that translation is in centimeters
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #203 from luxonis/overloading_functions Added some function overloads
  • fix compiling error
  • Added some function overloads
  • Fixed style
  • Added Backward library to print stacktraces on crash
  • Updated FW with GPIO and SPI improvements
  • Merge branch \'throw.nice\' into develop
  • Added flash booted state and handling
  • Merge branch \'device_config\' into develop_embedded
  • Merge branch \'bootloader_updates\' into develop_embedded
  • Fixed incorrect exception message
  • Fixed Windows Platform specific code
  • Fixed Super Speed mode and added a test
  • Updated FW for UsbSpeed handling
  • Added versioning to BL requests and refactored
  • Updated flash_bootloader example
  • Added capability to compress FW and additional BL config helper
  • Reduced BL check to 0.0.14 and updated FW and BL
  • Update FW with stereo LR-check, subpixel fixes; extended mode is not available
  • Apply suggestions by clang-tidy
  • Rename vars as requested
  • Bring the 3 variable ctor into visibility
  • Updated bootloader_configuration example
  • Make data members const
  • Add pertinent info to XLinkError struct
  • Throw XLink specific errors for read/write errors
  • WIP: Bootloader configuration
  • Merge branch \'develop\' into bootloader_updates
  • Fixed boot_memory bootloader upgrade routine
  • Merge branch \'develop\' into bootloader_updates
  • Allow to specify which bootloader is overridden by the env var: [DEPTHAI_BOOTLOADER_BINARY_USB]{.title-ref} [DEPTHAI_BOOTLOADER_BINARY_ETH]{.title-ref} (both can be set)
  • Updated flash_bootloader example
  • Improved the flash_bootloader example a bit
  • Updated flash_bootloader to be a bit more verbose
  • Added an explicit flag to allow flashing bootloader
  • Moved operator<< overloads to global namespace
  • Warn when firmware or bootloader binaries are overriden
    • to confirm it\'s picked up, or to notice when forgotten exported
  • Optional env var DEPTHAI_BOOTLOADER_BINARY to override bootloader FW path, mostly for development
  • Update bootloader: support for more NOR flash chips, fixes issues with flash erasing
  • Revert \"Removed flash_bootloader\" This reverts commit f1f03bcefde92b518fe5a1534b83c3fa919e30e6.
  • Revert \"Removed flash_bootloader example temporarily\" This reverts commit ee2a04e58b995e1bfa0cb03b91f83a45d446ca7f.
  • Updated FW and a catch clause
  • Merge branch \'develop\' into device_config
  • Fixed patching
  • Modified watchdog to use a separate stream
  • Updated preboot and added watchdog configuration
  • Merge branch \'develop\' into device_config
  • Removed deprecated OpenVINO versions
  • Merge branch \'develop\' into device_config
  • Updated example
  • Merge branch \'develop\' into device_config
  • Refactored and added preboot config
  • WIP: Device configuration
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, Otto Seiskari, Sachin Guruswamy, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.10.0 (2021-08-24)

  • Release v2.10.0
  • Merge pull request #201 from luxonis/develop Release v2.10.0
  • Bump version to 2.10.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #199 from luxonis/xlink_chunk_size Configure XLink chunk size
  • Update FW and shared after merge
  • DeviceBase/Device: add {set/get}XLinkChunkSize RPC calls
  • Merge pull request #195 from luxonis/update_readme Update README.md instructions with OpenCV troubleshooting
  • Fix naming [setXlinkChunkSize]{.title-ref} -> [setXLinkChunkSize]{.title-ref}
  • Pipeline: add [setXlinkChunkSize]{.title-ref}
  • Update FW with bilateral fix
  • Update README.md
  • Merge branch \'main\' into develop
  • Merge branch \'deviceBase\' into develop
  • Address review comments
  • Merge pull request #197 from luxonis/sysinfo_docs Fixed display names
  • Fixed display names
  • update code template
  • Merge pull request #196 from luxonis/stereo_crash_workaround Stereo crash workaround
  • Add workaround for stereo subpixel/extended mode crash at the expense of system performance
  • Update README.md instructions with OpenCV troubleshooting
  • Merge pull request #181 from luxonis/feature_tracker Feature tracking support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'main\' into develop
  • Added default constructor as these are not inherited
  • Update FW
  • Applied style
  • Fixes for MSVC ambiguity with overloaded constructors
  • Handle dtor and close without bugs
  • Merge branch \'develop\' into deviceBase
  • Fix build issue
  • Rename function arguments to their alias
  • Fix docs about feature tracking
  • Update shared with type fixes in docs; update FW to latest develop
  • Keep same behavior in DeviceBase as Device wrt starting pipeline
  • Make ctor API simpler for [DeviceBase]{.title-ref} and [Device]{.title-ref}
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Refactor FeatureTrackerConfig
  • Rename feature tracker config fields
  • Shutdown gracefully in case of exception in ctor
  • Add support for hardware accelerated motion estimation
  • Make [connection]{.title-ref} as protected
  • Move startPipeline from DeviceBase to Device
  • Update shared
  • Rename FeatureTrackerData to TrackedFeatures
  • Sync python-cpp examples
  • Add configurable shave/memory resources to feature tracker
  • Update FW with memory optimizations
  • Update FW and shared
  • Add overloaded functions to disable optical flow
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Extend feature tracker configuration
  • Add config fields to feature tracker node
  • Update FW
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Synchronize python-cpp examples
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Update names, make serialize a public function
  • Add note in the documentation of the virtual functions
  • Fix reference to base class function in [dai::Device]{.title-ref}
  • Give more love to StreamPacketParser
  • Make the virtual functios protected and public functions non-virtual
  • Move items around in startPipeline
  • Separate Device and DeviceBase, expose StreamPacketParser
  • Separate Queue handling from core API
  • Update FW with multi instance support
  • Remove leftover code
  • Update trackbar naming
  • Add FeatureTracker node; add cpp example
  • POC: Feature tracker node
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis,

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged depthai at Robotics Stack Exchange

depthai package from depthai repo

depthai

Package Summary

Tags No category tags.
Version 2.24.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/luxonis/depthai-core.git
VCS Type git
VCS Version ros-release
Last Updated 2024-03-06
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

DepthAI core is a C++ library which comes with firmware and an API to interact with OAK Platform

Additional Links

Maintainers

  • Sachin Guruswamy

Authors

  • Martin Peterlin

DepthAI C++ Library

Forum Docs License: MIT

Core C++ library

Documentation

Documentation is available over at Luxonis DepthAI API

Disclaimer

DepthAI library doesn't yet provide API stability guarantees. While we take care to properly deprecate old functions, some changes might still be breaking. We expect to provide API stability from version 3.0.0 onwards.

Dependencies

  • CMake >= 3.10
  • C/C++14 compiler
  • [optional] OpenCV 4 (required if building examples)

MacOS: Optional brew install opencv

Linux: Optional sudo apt install libopencv-dev

Building

Make sure submodules are updated

git submodule update --init --recursive

Then configure and build

cmake -S. -Bbuild
cmake --build build

ℹ️ To speed up build times, use cmake --build build --parallel [num CPU cores] (CMake >= 3.12). For older versions use: Linux/macOS: cmake --build build -- -j[num CPU cores], MSVC: cmake --build build -- /MP[num CPU cores]

⚠️ If any CMake commands error with CMake Error: The source directory "" does not exist. replace argument -S with -H

Dynamic library

To build dynamic version of library configure with following option added

cmake -S. -Bbuild -D'BUILD_SHARED_LIBS=ON'
cmake --build build

Android

Android is supported to some extent but not actively pursued nor tested. PRs with any improvements are welcome.

Steps:

  • Install Android NDK (for example via Android Studio).
  • Set the NDK path:
export ANDROID_HOME=$HOME/.local/lib/Android
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
export NDK=$ANDROID_HOME/ndk/23.1.7779620/ # Check version

  • Ensure a recent version of cmake (apt version is outdated, install snap install cmake --classic)
  • Run cmake, set your ABI and Platform as needed:
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-25
cmake --build build

Running examples

To build the examples configure with following option added

cmake -S. -Bbuild -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build/examples folder and run a preferred example

cd build/examples
./MobileNet/rgb_mobilenet

ℹ️ Multi-Config generators (like Visual Studio on Windows) will have the examples built in build/examples/MobileNet/[Debug/Release/...]/rgb_mobilenet

Integration

Under releases you may find prebuilt library for Windows, for use in either integration method. See Releases

CMake

Targets available to link to are: - depthai::core - Core library, without using opencv internally - depthai::opencv - Core + support for opencv related helper functions (requires OpenCV4)

Using find_package

Build static or dynamic version of library (See: Building and optionally Installing)

Add find_package and target_link_libraries to your project

find_package(depthai CONFIG REQUIRED)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

And point CMake to either build directory or install directory:

-D'depthai_DIR=depthai-core/build'

or

-D'depthai_DIR=depthai-core/build/install/lib/cmake/depthai'

If library was installed to default search path like /usr/local on Linux, specifying depthai_DIR isn't necessary as CMake will find it automatically.

Using add_subdirectory

This method is more intrusive but simpler as it doesn't require building the library separately.

Add add_subdirectory which points to depthai-core folder before project command. Then link to any required targets.

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/depthai-core EXCLUDE_FROM_ALL)
...
project(my-app)
...
target_link_libraries([my-app] PRIVATE depthai::opencv)

Non-CMake integration (Visual Studio, Xcode, CodeBlocks, ...)

To integrate into a different build system than CMake, prefered way is compiling as dynamic library and setting correct build options. 1. First build as dynamic library: Building Dynamic library 2. Then install: Installing

In your non-CMake project (new Visual Studio project, ...) 1. Set needed library directories: - build/install/lib (for linking to either depthai-core or depthai-opencv) - build/install/bin (for .dll's) 2. And include directories - build/install/include (library headers) - build/install/include/depthai-shared/3rdparty (shared 3rdparty headers) - build/install/lib/cmake/depthai/dependencies/include (dependency headers)

ℹ️ Threading library might need to be linked to explicitly.

ℹ️ Check build/depthai-core-integration.txt or build/depthai-opencv-integration.txt for up to date define options. The generated integration file also specifies include paths without requiring installation.

Installing

To install specify optional prefix and build target install

cmake -S. -Bbuild -D'CMAKE_INSTALL_PREFIX=[path/to/install/dir]'
cmake --build build --target install

If CMAKE_INSTALL_PREFIX isn't specified, the library is installed under build folder install.

Environment variables

The following environment variables can be set to alter default behavior of the library without having to recompile

Environment variable Description
DEPTHAI_LEVEL Sets logging verbosity, 'trace', 'debug', 'warn', 'error' and 'off'
XLINK_LEVEL Sets logging verbosity of XLink library, 'debug'. 'info', 'warn', 'error', 'fatal' and 'off'
DEPTHAI_INSTALL_SIGNAL_HANDLER Set to 0 to disable installing Backward signal handler for stack trace printing
DEPTHAI_WATCHDOG Sets device watchdog timeout. Useful for debugging (DEPTHAI_WATCHDOG=0), to prevent device reset while the process is paused.
DEPTHAI_WATCHDOG_INITIAL_DELAY Specifies delay after which the device watchdog starts.
DEPTHAI_SEARCH_TIMEOUT Specifies timeout in milliseconds for device searching in blocking functions.
DEPTHAI_CONNECT_TIMEOUT Specifies timeout in milliseconds for establishing a connection to a given device.
DEPTHAI_BOOTUP_TIMEOUT Specifies timeout in milliseconds for waiting the device to boot after sending the binary.
DEPTHAI_PROTOCOL Restricts default search to the specified protocol. Options: any, usb, tcpip.
DEPTHAI_DEVICE_MXID_LIST Restricts default search to the specified MXIDs. Accepts comma separated list of MXIDs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_ID_LIST Alias to MXID list. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_NAME_LIST Restricts default search to the specified NAMEs. Accepts comma separated list of NAMEs. Lists filter results in an "AND" manner and not "OR"
DEPTHAI_DEVICE_BINARY Overrides device Firmware binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_USB Overrides device USB Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_BOOTLOADER_BINARY_ETH Overrides device Network Bootloader binary. Mostly for internal debugging purposes.
DEPTHAI_ALLOW_FACTORY_FLASHING Internal use only
DEPTHAI_LIBUSB_ANDROID_JAVAVM JavaVM pointer that is passed to libusb for rootless Android interaction with devices. Interpreted as decimal value of uintptr_t
DEPTHAI_CRASHDUMP Directory in which to save the crash dump.
DEPTHAI_CRASHDUMP_TIMEOUT Specifies the duration in seconds to wait for device reboot when obtaining a crash dump. Crash dump retrieval disabled if 0.

Running tests

To run the tests build the library with the following options

cmake -S. -Bbuild -D'DEPTHAI_TEST_EXAMPLES=ON' -D'DEPTHAI_BUILD_TESTS=ON' -D'DEPTHAI_BUILD_EXAMPLES=ON'
cmake --build build

Then navigate to build folder and run ctest with specified labels that denote device type to test on. Currently available labels: - usb - poe

cd build
# Run tests on USB devices
ctest -L usb
# Run tests on PoE devices
ctest -L poe

Style check

The library uses clang format to enforce a certain coding style. If a style check is failing, run the clangformat target, check the output and push changes.

To use this target clang format must be installed, preferably clang-format-10

sudo apt install clang-format-10

And to apply formatting

cmake --build build --target clangformat

Documentation generation

Doxygen is used to generate documentation. Follow doxygen download and install the required binaries for your platform.

After that specify CMake define -D'DEPTHAI_BUILD_DOCS=ON' and build the target doxygen

Debugging tips

Debugging can be done using Visual Studio Code and either GDB or LLDB (extension 'CodeLLDB'). LLDB in some cases was much faster to step with and resolved more incomplete_type variables than GDB. Your mileage may vary though.

If there is a need to step into Hunter libraries, that can be achieved by removing previous built artifacts

rm -r ~/.hunter

And configuring the project with the following CMake option set to ON

cmake . -D'HUNTER_KEEP_PACKAGE_SOURCES=ON'

This retains the libraries source code, so that debugger can step through it (the paths are already set up correctly)

Troubleshooting

Build fails with missing OpenCV dependency

If your build process happen to fail due to OpenCV library not being found, but you have the OpenCV installed, please run build with additional -D'OpenCV_DIR=...' flag (replacing default Ubuntu path /usr/lib/x86_64-linux-gnu/cmake/opencv4 with yours)

cmake -S. -Bbuild -D'OpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4'

Now the build process should correctly discover your OpenCV installation

Hunter

Hunter is a CMake-only dependency manager for C/C++ projects.

If you are stuck with error message which mentions external libraries (subdirectory of .hunter) like the following:

/usr/bin/ld: /home/[user]/.hunter/_Base/062a19a/ccfed35/a84a713/Install/lib/liblzma.a(stream_flags_decoder.c.o): warning: relocation against `lzma_footer_magic' in read-only section `.text'

Try erasing the Hunter cache folder.

Linux/MacOS:

rm -r ~/.hunter

Windows:

del C:/.hunter

or

del C:/[user]/.hunter

CHANGELOG

Changelog for package depthai

2.24.0 (2024-02-02) -----------* New nodes and messages: * Sync node - syncs multiple inputs based on the timestamp, outputs a message group message * Demux node - demultiplexes message group in multiple messages * Message group message - a new message that can contain a map of arbitrary depthai messages, it\'s the output of the sync node and input to the demux node * Encoded frame message - a new message specialized for encoded frames * New output for the VideoEncoder node (out) for the encoded frame message * Automatic crash dump retrieval for firmware crashes * Added setIrFloodLightIntensity and setIrLaserDotProjectorIntensity methods for setting the intensity normalized between 0 and 1 * Added getConnectionInterfaces method to retrieve the list of available interfaces on a device * Added an option to cap maximum time for exposure when using auto exposure with setAutoExposureLimit * Initial integration for IMX283 and IMX462 * Improve time-syncing between the host and device to achieve sub 300 us offset * Improved max FPS and image quality under low light for OV9282 and OV9782 #926 ,new ranges per resolution of: * THE_800_P: 1.687 .. 129.6 fps * THE_720_P: 1.687 .. 143.1 fps * THE_400_P: 1.687 .. 255.7 fps * Avoid overflow for XLink profiling #933 * Improve XLink stability when using multiple devices luxonis/XLink#73 * Fix a rare bug where the device would hand in the constructor #922 * Fix a bug where XLinkIn didn\'t work correctly for very small and very large buffers * Fix a bug for running multiple stereo nodes with a shared input * On multi-input NeuralNetworks set the output NNData to the newest input timestamp (previously undefined) * Add NOC DDR usage reporting on DEPTHAI_LEVEL=info * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.23.0 (2023-11-14) -----------* ImageManip - configurable interpolation type * Script - added missing bindings for reading device releated data (on device calibration, etc...) * Added Device::getDeviceName and Device::getProductName that target a user name and a \"SKU\" name * Timesync - improved synchronization with tweaks to XLink * Calibration - added housingExtrinsics * Fix CAM_D enumeration on OAK-FFC-4P R7 * BMI270 IMU - fix latency when slow reading * Device related logging * OAK-D-SR-POE - new revision bugfixes * Fix 4 cameras crash on PoE due to memory allocation * Fixed incorrect warp in issue #882 * XLink - updated number of devices to 64 * ToF - median filter and Z map support (still not the final decoding pipeline) * hasAutofocus value fixed and introduced hasAutofocusIC * Added timestamps and sequence numbers to all Message types * Added DEPTHAI_ENABLE_LIBUSB for potentially disabling USB protocol (to not require libusb library) * OV9782 and AR0234 improvements: * OV9782 FPS improvements * AR0234 max exposure time bump to 33ms and improved FSync INPUT mode * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.22.0 (2023-06-15) -----------* UVC Node - Capability to create a pipeline that sends data over UVC (or flash it) * ToF Node - Capability to decode ToF data into a depth map * New devices: OAK-D-SR (fixes), OAK-D-LR R1, OAK-D SR PoE * Reorganized CameraBoardSocket naming * Logging improvements * Added data throughput profiling, per device and globally * Added DEPTHAI_DEVICE_NAME_LIST env var to filter devices by name * Bootloader v0.0.26 - Fix for bootloader crash (USB variant) * Fix for 4 cameras via ETH * Device constructor bugfixes (when taking pipeline, or pipeline with config preapplied, etc...) * XLink - Bugfix for wrongly discovered usb path on Windows * OV9782 startup stream issue fix * #779 - Fixes a parsing issue * #469 - Fixes a stuck case if same stream names are used * Deprecated RGB/LEFT/RIGHT/... CamerBoardSocket naming. Rely on CAM[A-H] or setName API * Add option to clear crash dump * XLink - Added 255.255.255.255 discovery and increased PoE search time * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.2 (2023-04-05) -----------* UPDATE: Use v2.21.2 due to issues this version carries * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.21.0 (2023-04-03) -----------* Improved x/y accuracy for SpatialLocationCalculator/SpatialDetectionNetwork * Support for median and mode, default changed to median in SpatialLocationCalculator/SpatialDetectionNetwork * Multi stereo support, ability to run stereo between any 2 calibrated cameras * Support for LEFT/RIGHT alignment in stereo node * Support to invalidate edge pixels: setNumInvalidateEdgePixels in Stereo Node * BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated in Stereo Node * Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage in Stereo Node * Fix for RGB-depth alignment when RGB is configured to 12 MP * Crash dump support - support to retrieve crash context from the device which can be shared with developers * Configurable 3A fps - setIsp3aFps * IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API * BMI270 - enable interrupt mode, timestamps are more consistent now * BNO086* - fix for sequence number * AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog), * OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light, * OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure * HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS * FW: fix for UART0 / \'/dev/ttyS0\' init failure in Script node * POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle * [XLink] Increased max number of links from 32 to 64 * Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled * Handle EEPROM boardOptions bit 7 for separate I2C on L/R cameras * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.2 (2023-01-31) -----------* Fix for ColorCamera at high resolution while using isp scaling * Fix for OV9282 SW sync on devices with OV9782 RGB camera * Fix for IMX378/477/577 on sockets other than CAM_A (RGB) * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.20.1 (2023-01-29) -----------* Modified OpenVINO::VERSION_UNIVERSAL API improvements / backward compatibility * Bootloader version 0.0.24 (fixes for standalone / flashed usecases) * [FW] Status LEDs on some additional devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.1 (2022-11-28) -----------* Added Device getDeviceName API * OAK-FFC 4P (R5M1E5) IR/Dot support * Additional Stability bugfixes to go along with 2.19.0 for PoE devices * Protected productName field in EEPROM * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.19.0 (2022-09-20) -----------* Stability improvements #616 * isUserBootloaderSupported API * Device.setTimesync(true/false) convenience function to enable or disable subsequent timesyncing * Windows improvements with listing BOOTED devices (\"udev permissions\" issue) * Fix OV9282 as MonoCamera on RGB socket (issue was black image) * Fix crash under high load (regression with camera events streaming) * Fix YOLOv5/7 decoding in case of a single class * Fix image size when decimation filter is enabled * Fix for certain OV9782 and OV9282 permutations/configs * Reset Device timestamp on boot to zero * Reworded \"No available devices\" error message when there are other connected devices connected. * Update CI to Node16 compatible actions

2.17.4 (2022-09-20) -----------* DEPTHAI_WATCHDOG=0 bugfix (245fb57) * V5 Calibration flashing fix * FW log level bugfix (#587) * Updated DeviceBootloader::Config to retain existing values * PoE watchdog issues addressed (74b699c) * XLink - kernel driver detach (fixes some USB connectivity issues) (ba9bd8b) * Added EEPROM clear capability * Added missing installation of DLL files (#550) * Asset RPC refactor * Exposed Device::getAllConnectedDevices() * Exposed FW & BL versions * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

2.17.3 (2022-08-05) -----------* Updated FW - BMI270 IMU improvements * Added seq & timestamps for more messages * New boards support * Windows DLL improvements (install libusb dll alongside libdepthai-core.dll) * XLink - improved connecting directly to given IP * StereoDepth ImgFrame metadata w/h when decimation filter is enabled * Intrinsic read fix #379 * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.17.0 (2022-07-11) -----------* Support for new S2/Pro devices * FW: support for OAK-D-S2 / OAK-D-Pro using the latest board DM9098 R6M2E6 * Handle new resolutions THE_720_P and THE_800_P for ColorCamera, applicable to OV9782 on RGB/center socket * StereoDepth: Add option for disparity shift to reduce minimum depth * StereoDepth: extended and subpixel mode can be enabled simultaneously * YoloV6 support * Refactor ImageManip node * macOS / Linux shared library and CI improvements * Bootloader improvements * Flash boot improvements * Bootloader improvements (capability to flash and boot from eMMC) * Flashed application information * Memory querying * XLink device search race fix * Capability to flash BoardConfig along with the Pipeline * Added host monitor thread to disconnect offline PoE devices * Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin, Sachin Guruswamy

2.16.0 (2022-06-15) -----------* OpenVINO 2022.1 support * XLink device search improvements * cross subnets for PoE devices * drastically reduced discovery time * Separated name / IP and MXID, to be able to query both USB path / IP and MXID * Android support * libusb dependency is now managed by Hunter * IMU FW update for BNO sensor * Added DetectionParser node as a standalone component of DetectionNetwork * StereoDepth - subpixel fractional bits API * VideoEncoder - lifted 16 frame pool limitation * Contributors: Sachin, Sachin Guruswamy

2.15.5 (2022-06-02) -----------* EEPROM FIX * Json fix (#478) * Fixed nlohmann json < v3.9.0 compat and toolchain generation * turn off clang format Co-authored-by: Martin Peterlin <martin.peterlin7@gmail.com> Co-authored-by: TheMarpe <martin@luxonis.com> * Empty-Commit * Update package.xml * Contributors: Sachin, Sachin Guruswamy

2.15.4 (2022-05-09)

  • Release 2.15.4
  • Update docs; removed unsupported AprilTag families
  • FW: VideoEncoder: fix keyframe rate config, fix resource computations for JPEG (e.g: MJPEG for 4K video 30fps + MJPEG for still 12MP ~1fps) properly set resources used to allow
  • Update FW
  • Update FW; change behavior of stereo rectification based on stereo camera FOV
  • Merge \'origin/poe_mtu_sysctl\' into develop - #428 Improve PoE throughput and latency for some usecases
  • Update XLink to set TCP_NODELAY, reducing latency
  • Merge \'origin/develop\' into poe_mtu_sysctl
  • Merge branch \'eeprom_version_v7\' into develop
  • Merge branch \'develop\' into eeprom_version_v7
  • Merge branch \'json_compat\' into develop
  • Lowered minimum required nlohmann json version to 3.6.0
  • Set RGB aligned depth output to match mono camera
  • Merge \'ov7251_configurable_fps\' into develop - #455
  • Update FW: fix overriding useHomographyRectification behaviour specified in docs when custom mesh is provided
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #459 from diablodale/fix458-cmaketest-flags reduce num conforming tests; add missing _conforming test suffix
  • reduce tests for MSVC conforming preprocessor - drastically reduce number of tests run for MSVC conforming preprocessor https://github.com/luxonis/depthai-core/pull/459#issuecomment-1108649206 - add option to test harness that indicates when a test is run with the MSVC conforming preprocessor

  • Updated flashing permissions

  • Fix RGB alignment remapping when configured color camera resolution is different from calibration one

  • Updated Bootloader to v0.0.18

  • Updated FW with device EEPROM handling fixes

  • strengthen test for device construct+q+frame

  • Updated bootloader with PCIe internal clock fixes

  • Added capability to create CalibrationHandler from json

  • Fixed factory reset functionality and exposed more functions

  • Updated BL with more build information and new EEPROM data support

  • Updated EEPROM and added another level of permissions

  • add missing _conforming suffix to tests cmake

  • Merge pull request #457 from luxonis/rgb_alignment Enable RGB alignment for spatial detection examples

  • Enable RGB alignment for spatial detection examples

  • Merge pull request #454 from diablodale/test-device-queues1 test case for Device constructor not calling tryStartPipeline()

  • test case for Device constructor not tryStartPipeline() - catch bug and prevent regression as discussed https://github.com/luxonis/depthai-core/commit/7257b95ecfb8dcb77c075e196ac774cc05cb8bc6#commitcomment-71730879

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Update FW: configurable FPS for OV7251: max 99 for 480p, 117 for 400p

  • Added bindings and support for new EEPROM version

  • WIP - modify behavior to be backwards compatible and add checks if calibration is available

  • Added additional EEPROM functionality

  • Applied formatting

  • Merge branch \'main\' into develop

  • Update FW: improve PoE throughput and latency (set net.inet.tcp.delayed_ack=0), add config for MTU (not advised to change for now) and other sysctl params

  • Contributors: Dale Phurrough, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.3 (2022-04-22)

  • Add explicit documentation about loadMesh behavior; specify that only the first 8 distortion coefficients are used
  • Merge pull request #456 from luxonis/macos_ci_test Fix failing CI for MacOS
  • Extend useHomographyRectification documentation with more details
  • Remove brew update
  • Bump version to 2.15.3
  • Merge branch \'release_2.15.3\' into main
  • Clarify docs for homography rectification default behavior
  • Merge pull request #437 from luxonis/warp_mesh_on_device Add on-device mesh generator for Stereo
  • Disable mesh rectification by default; fix error reporting when RGB alignment is enabled and left-right check disabled
  • Fix styling
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'serialization_type\' into develop
  • Fixed incorrect Device constructors not starting the pipeline and creating queues
  • Fixed device Clock.now in Script node to match messages timestamps
  • Modifed serializeToJson to create a json object instead
  • Added Clock.now bindings on device
  • Added capability to serialize pipeline to json
  • Merge pull request #424 from luxonis/bmi270_support IMU: Bmi270 support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #449 from luxonis/openvino_no_blob Openvino: Fix error reporting when blob is not set
  • Removed DEPTHAI_NODISCARD for docs generation
  • Updated libnop (#448)
    • Updated libnop with C++20 fixes and added fs test targeting C++20
    • Added a guard for non-existent tests
    • Modified tests to not require higher CMake version
  • Fix openvino get version
  • Openvino: Fix error reporting when blob is not set
  • Removed deprecated StereoDepth API
  • new class [dai::Path]{.title-ref} for APIs that accept path/filenames (#384)

    • initial dai::Path and test cases
    • fixes luxonis/depthai-core#352
    • move codecvt from header -> cpp
    • add Path::string() and u8string()
    • to enable display/log of Path
    • fmt for dai::Path; NN::setBlobPath(dai::Path)
    • dia::path throws like std::fs::path
    • c++17, pub/pvt header, test cmake c++ std level
    • enable c++17 std::filesystem support and test cases
    • split header into public/private parts

    - cmake for test cases now supports optional c++ standard level param - verify c++ std compiler support for tests

    - add COMPILER_SUPPORTS_CXX{14,17,20,23} vars to Flags.cmake and can be used everywhere - add dai::Path::empty() - add dai::Path to Device, DeviceBase, Resources - simplify Device, DeviceBase constructors by delegating

    - add is_same<> template on constructors with bool param to prevent implicit convert of almost everything to bool - make two DeviceInfo constructors explicit to prevent their use in implicit conversion - relevant test cases - fix minor throw text bugs - fix Device usb2Mode sigs, add test case - add dai::Path to CalibrationHandler - minor refactor dai::Path - enable 2 Calibration+1 Bootloader example - add dai::Path to DeviceBootloader, XLinkConnection - plus test cases - add dai::Path to Pipeline, StereoDepth, AssetManager - plus test cases - add dai::Path to dai::Script + test cases - linux fixes for test cases, and c++14 type_traits - add doxygen to dai::Path - detect compiler c++ std level and update cmake - fix preprocessor flag for tests on MSVC - fixes luxonis/depthai-core/issues#408 - partial dai::Path support for c++20 utf-8 - unable to fully test due to bug #407 - add windows header define WIN32_LEAN_AND_MEAN - rename macro to DEPTHAI_NODISCARD - review feedback

  • Apply style

  • Add on-device mesh generator

  • Initial BMI270 support

  • Contributors: Dale Phurrough, Martin Peterlin, SzabolcsGergely, TheMarpe, szabi-luxonis

2.15.2 (2022-03-30)

  • Release v2.15.2
  • Merge pull request #439 from 0xMihir/main Bump Hunter version
  • chore: bump Hunter version Adds support for MSVC 1931 Using 0.24.0 doesn\'t work because there\'s a duplication error in the nlohmann/json library hunter config file
  • std::exchange needs <utility> to be included (#435) * std::exchange needs <utility> to be included Without <utility> it is gives \"error: 'exchange' is not a member of 'std'\" errors. Ref : https://en.cppreference.com/w/cpp/utility/exchange

    • clang format fix
  • Merge branch \'main\' into develop

  • Fixes #436 - removes temporary warning log in StereoDepth

  • Updated XLink - removed dependency on pthread_getname_np

  • Merge branch \'device_is_closed_fix\' into develop

  • Fixed XLink issue with not erroring on write failures

  • Openvino: improve error logging for out of memory cases

  • Modified to store fisheye Camera model

    • Add getter for distortion model in CalibrationHandler
    • Pad distortion coefficients with 0\'s if there\'s less than 14
    • Only return first four distortion coefficients for Fisheye distortion
  • Merge pull request #430 from luxonis/custom_depth_unit Customizable depth unit

  • Change metre to meter

  • Change millimetre to depth unit where it\'s applicable in docs

  • Add setter/getter utility function for depth unit

  • Add customizable depth unit

  • Merge pull request #427 from luxonis/warp_improvements Warp engine improvements for RGB alignment/stereo rectification

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Warp engine improvements for RGB alignment/stereo rectification

  • Contributors: Mihir Patil, Onuralp Sezer, SzabolcsGergely, TheMarpe, slitcch, szabi-luxonis

2.15.1 (2022-03-16)

  • Merge branch \'release_2.15.1\' into main
  • Merge pull request #426 from luxonis/focal_length_from_calib Use focal length from calibration by default for Stereo node
  • Merge pull request #422 from luxonis/fix_calib_rgb_translation Calib data RGB spec translation fix for some CM3/CM4 boards
  • Set focal length from calibration as default for stereo node
  • Update FW: fix StereoDepth crash with missing EEPROM, report error if missing, do not rotate RGB (AUTO orientation) on OAK-D(-Lite) if EEPROM is missing
  • Merge \'origin/develop\' into fix_calib_rgb_translation
  • Bump version to 2.15.1
  • Merge pull request #421 from luxonis/confidence_map_alignment_opt Optimizing the confidence map alignment
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk: Merge confidence_map_alignment_opt into develop
  • Merge branch \'xlink_race_improvements\' into develop
  • Update FW: patch EEPROM data for incorrectly programmed RGB spec translation, for manually ran calibration on CM3/CM4 boards. Was leading to wrong RGB-depth alignment
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp - remove global variables)
  • Adding a new StereoDepth example rgb_depth_confidence_aligned.cpp for aligning the rgb, depth and confidence frames
  • Updated XLink with only required changes
  • Update FW/mdk - Optimizing the confidence map alignment(CleanUp logs)
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Updated XLink with some race fixes and other improvements
  • Updated FW with thermal protection mechanism
  • Merge pull request #398 from diablodale/fix390-callback-moves move semantics with DataOutputQueue::addCallback()
  • Merge pull request #417 from ibaiGorordo/patch-1 Fix Readme links
  • Fix Readme links
  • Merge remote-tracking branch \'origin/develop\' into confidence_map_alignment_opt
  • Update FW/mdk - Optimizing the confidence map alignment
  • Fix default temporal/spatial filter values when subpixel is enabled
  • Merge pull request #403 from diablodale/fix314-cmpjson verify device json in example script_json_comm
  • Merge pull request #409 from diablodale/fix408-conformflag correct test cmake to add preproc conform flag
  • correct test cmake to add preproc conform flag
  • Updated release template
  • Merge branch \'main\' into develop
  • verify device json in example script_json_comm
  • move semantics in DataOutputQueue::addCallback()
  • Contributors: Dale Phurrough, Ibai Gorordo, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.15.0 (2022-02-23)

  • Merge branch \'release_2.15.0\' into main
  • Bump version to 2.15.0
  • Merge pull request #287 from luxonis/oak-d-pro_develop Support for OAK-D Pro
  • Merge \'origin/develop\' into oak-d-pro_develop
  • [getIrDrivers]{.title-ref} -> vector of tuples (driverName, i2cBus, i2cAddr). Return if setIrDot/Flood succeeded
  • Merge pull request #401 from luxonis/openvino_version_deprecation Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2021.3
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Merge pull request #405 from luxonis/cfg_fps_lite Configurable RGB FPS on Lite devices, fix RGB orientation
  • Updated test suite for new env var naming
  • Renamed env variable and updated README regarding testing
  • Update FW: RGB orientation fix for OAK-1 (new versions) and OAK-1-Lite
  • Merge \'origin/develop\' into cfg_fps_lite
  • Merge \'origin/develop\' into oak-d-pro_develop
  • IR driver: remove raw register access API
  • IR driver RPC: add [getIrDrivers()]{.title-ref}, update description with limits
  • Deprecate OpenVINO 2020.4, 2021.1, 2021.2, 2022.3
  • Merge pull request #389 from luxonis/imu_device_ts Add device monotonic timestamp to IMU reports
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add dot-projector/flood-illuminator brightness control
  • Merge \'origin/develop\' into oak-d-pro_develop
  • Revert \"USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)\" This reverts commit 96691b9a8295c54bea1c04c20bc4ad60091ca536.
  • Update FW: ColorCamera memory optimization when [still]{.title-ref} is not connected, properly handle width-multiple-of-32 (only needed for VideoEncoder), don\'t enforce it on [video]{.title-ref} by default, allow [still]{.title-ref} size smaller than [video]{.title-ref}
  • Modify IMU example: GYRO at 400 hz to avoid spikes
  • Update shared
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #387 from luxonis/subpixel_after_lr_check Do subpixel interpolation once when LR-check is enabled
  • Fix formatting
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Updated shared
  • Fixed crash when device watchdog is disabled
  • Merge pull request #394 from luxonis/skip_invalid_devices Invalid device warnings suppression
  • Suppressed redundant warnings for invalid devices
  • Merge pull request #382 from diablodale/fix300-errorname skip devices named \"<error>\" in device search
  • Merge branch \'testing_ci\' into develop
  • Merge branch \'fw_stability_fix\' into develop
  • Fixes a stability issue bug that affected PoE devices mostly
  • Added testing CI
  • Add on-device python bindings
  • Add device monotonic timestamp to IMU reports
  • Update FW, fix for custom alinment subpixel interpolation
  • Do subpixel interpolation after LR-check; improves performance to 30fps@800p
  • Merge pull request #378 from diablodale/fix366-qsize0 enable queues of size=0 which only do callbacks
  • Merge branch \'fix334-interopt-dll\' into develop
  • Merge pull request #361 from luxonis/rgbd_depth_align_optimize Rgbd-depth alignment optimization
  • Update mdk - RGB-depth alignment
  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize
  • enable queues of size=0 which only do callbacks
  • Modified env variable logging verbosity
  • log envvar values at TRACE level only (#381)
  • Update FW - adding the RGB scaling factor for the RGB-depth center alignment
  • skip devices named \"<error>\" in device search
  • minor cleanup examples and tests
    • most fixes are signed/unsigned comparison corrections
  • fix Win MSVC cmake INTERPROCEDURAL_OPTIMIZATION - workaround MSVC incompat BUILD_SHARED_LIBS + WINDOWS_EXPORT_ALL_SYMBOLS + INTERPROCEDURAL_OPTIMIZATION

  • Merge remote-tracking branch \'origin/develop\' into rgbd_depth_align_optimize

  • Merge pull request #375 from luxonis/swap_imu_raw_accelerometer_axis Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Swap ACCELEROMETER_RAW x and y axis to match ACCELEROMETER

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #374 from luxonis/reenable_feature_tracker_metadata Reenable feature tracker metadata; change default CPU to CSS for Script node

  • Update shared to match FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed non-cv support ImgFrame header

  • Added initial setter chaining for messages

  • Merge branch \'nndata_sequence_num\'

  • Updated style

  • Merge branch \'openvino_blob\' into develop

  • Change bootloader shared submodule to match develop

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Modified docs and type of exception being thrown

  • Documented Blob fields and added blob file size check

  • Merge remote-tracking branch \'jdavidberger/develop\'

  • Updated libnop with renamed Nil enum

  • Merge branch \'msvc_traditional\' into develop

  • Removed the need for conforming MSVC preprocessor

  • Added capability to read blob information

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Fixed env var usage

  • Fixed typo

  • Added search time env variable and moved querying of env variables to happen once

  • Reverted back search timings in USB protocol case

  • Added means of downselecting protocol used by XLink

  • Merge branch \'watchdog_protection\' into develop

  • Merge remote-tracking branch \'origin/poe_improvements\' into develop

  • Update FW with clock related tweaks for feature tracker

  • Updated flash_bootloader example

  • Update shared/FW w/ build fix

  • Improved PoE interaction

  • Merge pull request #359 from luxonis/subpixel_docs_fix Fix subpixel fractional bits documentation

  • Update FW with stereo fixes for instance number; RGB depth alignment

  • Change the resolution to 720p for the RGB-depth alignment example

  • Update FW: optimized RGB-depth alignment

  • Fix subpixel fractional bits documentation

  • Rename AprilTagData to AprilTags

  • Merge pull request #166 from luxonis/gen2_apriltag Add apriltag support

  • Update FW to latest develop

  • Add example for advanced settings

  • Update FW/shared/examples

  • Update docs/FW

  • Expose all config options for april tag detection algorithm

  • Update FW/shared with fixes for TAG_CIR49H12 TAG_CUST48H12 TAG_STAND41H12 TAG_STAND52H13

  • Update FW/shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Apply formatting

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Merge pull request #353 from luxonis/depth_docs Added some clarifications to depth docs

  • Added some clarifications to depth docs

  • Update FW with object tracker KCF fixes

  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop

  • Specify minimum nlohmann version

  • Merge pull request #350 from luxonis/focal_from_intrinsics Use focal length from calibration intrinsics for fisheye cameras

  • Update FW with fisheye lens detection and override option: setFocalLengthFromCalibration

  • Get focal length from calibration intrinsics

  • workaround bootloader-shared var init bug (#347) - manually init class vars as workaround for https://github.com/luxonis/depthai-bootloader-shared/issues/4

  • Update XLink

  • Updated .gitmodules

  • Update FW/XLink to latest

  • Add openvino 2021.4.2 support

  • Revert XLink to latest develop

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated .gitmodules

  • Merge branch \'board_config\' into develop

  • Updated tidy and shared

  • Updated libnop library (#344)

  • Updated XLink library

  • Added watchdog protection in core and XLink

  • Merge pull request #335 from luxonis/confidence_map_rgb_alignment Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Update FW

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • PipelineImpl::create() use make_shared, not raw new() (#341)

  • Updated FW to sync with shared changes

  • Updated shared

  • Fix StereoDepth::setDefaultProfilePreset

  • Added NN examples to tests, added utility conversion from fp16

  • Added NN examples

  • Re-enable feature tracker metadata

  • Add support for confidence map RGB alignment; fix bounding box remapping for RGB aligned depth frames

  • Merge pull request #333 from diablodale/fix284-unreachable Remove unreachable code in DataQueue

  • remove unreachable code in DataQueue

  • add const ADatatype::getRaw(), Buffer::getData(); add copy+move Buffer::setData() (#331)

  • Merge pull request #332 from luxonis/typos_fix Updated depthai-core with typo fixes

  • Updated depthai-shared

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Updated multiple devices test

  • XLink library fixes for multiple devices case (#329)

  • Merge branch \'resources_lazy_load_tsan\' into develop

  • Optimized condition_variable usage

  • Configurable FPS for IMX214: 0.735 .. 35 for 1080p, 1.4 .. 30 (28.5 actually, TODO) for 4K/12MP/13MP

  • Update FW with latest apriltag

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Moved over to a condition variable to signify end of lazy loading

  • Merge remote-tracking branch \'origin/main\' into HEAD

  • Fix regression for ColorCamera, StereoDepth

  • StereoDepth: check if input/output messages are connected

  • Fix compilation error w/ clang 13

  • Updated XLink

  • Merge remote-tracking branch \'diablodale/fix257-move-owner-threads\' into develop

  • Added initial BoardConfig

  • fix stream+packet ownership/move; fix thread crashes

    • fix many thread/ownership issues for start/stop scenarios
    • XLinkStream::readMove() for moving packet ownership
    • fix XLinkStream move semantics

    - removed all use of XLinkStream::readRaw as often leads to memory violations and/or memory leaks - deprecate all XLinkStream::readRaw...() APIs - fixes luxonis/depthai-core#257

  • Added missing throw statements

  • Add spatialLocationCalculator output message to spatial detection network

  • USB bootloader with support for missing 24MHz USB osc (OAK-D Pro-PoE initial flashing)

  • Merge \'origin/develop\' into oak-d-pro_develop

  • Update FW with ipv6 disabled

  • Merge remote-tracking branch \'origin/develop\' into HEAD

  • Add RPC for LM3644 IR projector registers read/write on OAK-D-Pro

  • Update FW with xlink thread priority changes

  • Update FW: openvino 2021.4.2 support

  • Update firmware SDK to r17.5

  • Update linking

  • Update bootloader and fixing errors

  • Update shared

  • Merge remote-tracking branch \'origin/develop\' into gen2_apriltag

  • Add apriltag_rgb example

  • Rename, update shared

  • Update FW

  • Update apriltag example

  • Add initial working version

  • Contributors: CsabaGergely, Dale Phurrough, Erik, Erol444, Martin Peterlin, OanaMariaVatavu, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.14.1 (2022-01-11)

  • Release v2.14.1
  • Fix regression for ColorCamera, StereoDepth
  • StereoDepth: check if input/output messages are connected
  • Contributors: SzabolcsGergely

2.14.0 (2022-01-05)

  • Release v2.14.0
  • Fixed script json communication example
  • Updated libnop
  • Fixed updated Hunter usage
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Bump Hunter to add support for VS2022
  • Update shared/FW
  • Merge pull request #312 from luxonis/connect_timeout_override Override watchdog initial delay and connect/bootup timeout
  • Rename env var DEPTHAI_INIT_WATCHDOG -> DEPTHAI_WATCHDOG_INITIAL_DELAY
  • clangformat changes, <> changed to \"\" as it was suggesting a new-line between <> and \"\" includes, and then alphabetically ordered
  • [DEPTHAI_INIT_WATCHDOG]{.title-ref} env var to set initial delay [ms] for the device watchdog, mainly to be set to larger values for Ethernet case with network equipment that takes long to establish the link. Default: 8s for USB, 15s for ETH
  • Merge \'origin/develop\' into connect_timeout_override
  • Fix serialization of spatial img data
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #308 from luxonis/json_comm_example Added json communication example
  • Updated XLink
  • Update FW; wakeup driven high
  • Set pullup for IMU wakeup pin
  • Added json communication example
  • FeatureTracker: Add support for 4k/12MP inputs
  • Fix typo: assigment -> assignment
  • FW fix for Stereo HW desync when extended is enabled
  • Adds rgb/depth weight slider to rgb_depth_aligned example
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Bump Windows SDK to 10.0.18362.0 with conforming preprocessor support (#306)
  • Updated FW to match shared
  • Added MSVC preprocessor conformance flag
  • Merge pull request #303 from luxonis/typos_fix Typos fix
  • NNData serialize fix (#305)
    • Adds proper TensorInfo to serialized layer
  • Merge branch \'develop_refactor\' into develop
  • Typos fix
  • Updated shared
  • Updated shared
  • Merge branch \'develop\' into develop_refactor
  • Added incoming message parse timing to trace level debugging
  • Merge pull request #301 from diablodale/fix-xlink-local-install-v2 fix 2 for xlink local cmake
  • fix 2 for xlink local cmake
  • Exposed max serialized metadata size
  • Merge branch \'develop\' into develop_refactor
  • Merge pull request #274 from luxonis/stereo_post_processing Added stereo post processing filters
  • Update FW to latest develop
  • Update FW with improved resource allocation for RGB aligment; improved error handling when out of resources
  • Update shared w/ stubgen fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'stubs_improvements\' into develop
  • Fix broken Windows CI
  • Fixed XLink dependency in config mode
  • Fixed exporting XLink when not using a local version
  • Merge pull request #298 from diablodale/fix-xlink-local-install fix xlink cmake install for local, shared, and static
  • FW: Edge case fix for RGB aligment
  • FW update: don\'t apply threshold filtering on confidence map
  • Add depth post processing example
  • Change all examples to use setDefaultProfilePreset
  • Add default preset mode to StereoDepth constructor
  • Add support for runtiem depth aligment mode; improve API
  • fix xlink cmake install for local, shared, and static
  • Merge pull request #297 from luxonis/tracker_docs Added possible tracker types to comment
  • Updated shared
  • Update FW, fix docs build
  • Update FW; add default stereo presets; add configurable HW resources
  • Added possible tracker types to comment
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge pull request #296 from diablodale/fix-264-cmake-shared-vars add cmake vars for local depthai-bootloader/shared
  • add cmake vars for local depthai-bootloader/shared
  • Merge pull request #295 from luxonis/fw_yolov5_and_stability FW YoloV5 support and stability updates
  • Updated FW with YoloV5 support and stability improvements
  • Apply thresholding filter on disparity map if depth is not enabled
  • Add configurable decimation filter modes: pixel skipping/non zero median/non zero mean
  • Merge branch \'depthai_clock\' into develop
  • Merge branch \'xlink_mingw_fix\' into develop
  • Add decimation filter
  • Updated XLink with MinGW fixes
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Add configurable number of shaves for stereo postprocessing
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Added clock
  • Add spatial filter
  • Clangformat bootloader example
  • Add specle filter
  • Initial version of temporal + thresholding filter
  • Warn if watchdog is disabled, or value overriden. Reason for change: env vars might get forgotten set, and not easy to spot with DEPTHAI_LEVEL=debug
  • Fix strncpy build warning: specified bound 48 equals destination size [-Wstringop-truncation]
  • Override XLink wait for bootup/connect timeouts with env vars: DEPTHAI_CONNECT_TIMEOUT DEPTHAI_BOOTUP_TIMEOUT (in ms) TODO: add in bootBootloader as well
  • Fixed setNumFramesPool for VideoEncoder node
  • Fixed a node crtp issue
  • Merge branch \'node_crtp\' into develop_refactor
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Added CRTP to Nodes
  • Merge branch \'develop\' into libnop_serialization
  • Refactored Nodes to allow for arbitrary properties and removed issues with multiple copies
  • Added libnop dependency and unified serialization
  • Merge branch \'develop\' into neuralnetwork_multiple_inputs
  • Removed deprecated usage and added correct output for DetectionNetwork back
  • Updated waitForMessage API and applied across nodes
  • Added IO groups and refactored IO references
  • Added Node Input options and some tests
  • Contributors: Dale Phurrough, Erik, Erol444, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.13.3 (2021-12-01)

  • Release v2.13.3
  • Update FW: zero out uninitialized DDR memory
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Update FW: fix VideoEncoder potential crash (after power-cycle), instability introduced in 2.13.0
  • Merge pull request #281 from luxonis/manual_white_balance Add manual white balance / color temperature camera control
  • Updated XLink with a couple of fixes
  • Update shared/FW: manual_white_balance merged, other fixes:
    • fixes a crash with more than 4x VideoEncoder instances, now up to around 8 should work
    • StereoDepth fix crash with RGB-depth align and missing RGB calib (calibrated with -drgb)
    • StereoDepth fix RGB alignment when running at calib resolution (OAK-D with 800_P or OAK-D-Lite)
    • an error is thrown if multiple cameras have the same socket assigned
  • rgb_camera_control: add manual white balance controls: [[]{.title-ref} []]{.title-ref} [B]{.title-ref}
  • setManualFocus: no need to set OFF mode, auto-handled
  • CameraControl: add [setManualWhiteBalance(colorTemperatureK)]{.title-ref}
  • Contributors: TheMarpe, alex-luxonis

2.13.2 (2021-11-26)

  • Release v2.13.2
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • FW fix for resource allocation issues when setRuntimeModeSwitch is used
  • Contributors: SzabolcsGergely

2.13.1 (2021-11-24)

  • Applied style
  • Merge branch \'develop\' into main
  • Merge branch \'xlink_regression_fix\' into develop
  • Updated XLink to fix SIGPIPE regression
  • fix initialize() thread/except safety (#277)
  • Contributors: Dale Phurrough, TheMarpe

2.13.0 (2021-11-22)

  • Release v2.13.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Update shared/FW
  • Merge pull request #262 from luxonis/oak-d-lite Support for OAK-D-Lite
  • Remove deprecated VideoEncoder frame size config in examples
  • Merge \'origin/develop\' into oak-d-lite
  • VideoEncoder: maxBitrate following bitrate setting in FW, when 0 (default)
  • VideoEncoder: deprecated setting width/height, auto-computed bitrate by default
  • Update FW: VideoEncoder source size configured when receiving 1st frame, allows to run OAK-D examples (e.g configuring mono cameras to 720_P) on OAK-D-Lite without code changes
  • Merge pull request #268 from diablodale/fix248-trunc-2 Correct float literals, 32/64 trunc, unref vars
  • fix errant printf params in examples (#267)
  • enable build in vscode, custom toolchain+include (#258)
    • enable build in vscode, custom toolchain+include
    • fixes luxonis/depthai-core#246
    • self doc dependency options with set(cache)
  • Merge pull request #269 from luxonis/set_ip_example Added Poe set IP example
  • Added poe_set_ip example
  • Updated FW with scripting improvements
  • correct float literals, 32/64 trunc, unref vars
  • Fix styling
  • Update FW/shared
  • Merge branch \'main\' into develop
  • Merge commit \'18c5f8c3d4b4bb3498b515f2cb7a6a61f22db91a\' into develop
  • Fixed style
  • Merge branch \'xlink_macos_fix\' into develop
  • Adds a timeout for closing an XLink connection
  • Add device.getCameraSensorNames RPC call, can be used to differentiate between OAK-D and OAK-D-Lite. Should return: OAK-D : RGB: IMX378, LEFT: OV9282, RIGHT: OV9282 OAK-D-Lite: RGB: IMX214, LEFT: OV7251, RIGHT: OV7251
  • Color/MonoCamera: handle more resolutions for OAK-D-Lite cameras: IMX214 (13MP) and OV7251 (480P)
  • Updated XLink with macOS fix
  • Contributors: Dale Phurrough, Erik, Erol444, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.12.1 (2021-11-17)

  • Merge branch \'win_prebuilt_fix\' into main
  • Cherry picked XLink macos fix
  • Bump version to 2.12.1
  • Fixed Windows prebuilt library
  • Contributors: TheMarpe

2.12.0 (2021-11-13)

  • Merge pull request #261 from luxonis/develop Release v2.12.0
  • Release v2.12.0
  • Merge pull request #256 from luxonis/object_tracker_update Object tracker fixes, updates: 2 new tracking modes: KCF, short-term imageless.
  • Update FW with latest improvements
  • Fixes for object tracker; support for KCF and imageless short term tracking algorithms
  • Merge pull request #245 from luxonis/non_square_yolo_output Add support for non-square YOLO output
  • Update FW before merge
  • Update FW with error reporting for DetectionNetwork
  • Add support for non-square YOLO output
  • Update FW with Script node (DynamicPool) related fixes
  • Merge pull request #216 from luxonis/stereo_depth_fine_tuning Fine tune stereo depth settings
  • Increase LR-check threshold to 10; disparity confidence threshold to 245 by default
  • Add fine tuned stereo settings, configurable P1/P2 cost aggregation parameters
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Revert \"Set fine tuned stereo settings\" This reverts commit 8af5641c0e0d91d89d84bd4de8daa5aceaebc658.
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #240 from luxonis/extended_disparity Add extended disparity mode
  • Update FW before merge
  • Add addtional outputs to output list
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • FW - fixed OpenVINO layer issue
  • Spdlog version change (#239)
    • added spdlog fix
  • Add extended mode debug outputs
  • Merge remote-tracking branch \'origin/develop\' into extended_disparity
  • StereoDepth: Add extended disparity mode
  • Merge pull request #238 from luxonis/disparity_enc Added disparity encoding example
  • Added disparity encoding example
  • Added CMake version into CI and Ubuntu 18.04 fix (#237)
    • Added CMake version into CI
    • Updated ZLIB with fixed ALIAS on imported target
    • CI - Concatenated -D arguments for old CMake version
    • Updated README instructions for CMake version 3.10
    • Fixed Windows build and ZLIB target
    • Removed old CMake build for MSVC
    • Updated -D CMake usage
  • Merge pull request #234 from luxonis/script_forward_frames Added script forward (demux) example
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'main\' into develop
  • Merge pull request #236 from luxonis/catch_dependency_fix_new_glibc Update catch2 package to 2.13.7
  • Update catch2 package to 2.13.7
  • Added script forward (demux) example
  • Restructured README.md (#232)
    • Restructured README
    • Update README.md
    • Update README.md
  • Set fine tuned stereo settings
  • Contributors: Erik, Erol444, Sachin Guruswamy, SzabolcsGergely, TheMarpe, szabi-luxonis

2.11.1 (2021-10-19)

  • Merge pull request #230 from luxonis/develop Release v2.11.1
  • Bump version to 2.11.1
  • Update to latest firmware/depthai-shared
  • Change warning to info
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #229 from luxonis/fix_build_visual_studio_m_pi Fix build with older Visual Studio - M_PI undeclared
  • [#define _USE_MATH_DEFINES]{.title-ref} at the top of the file attempting to fix building with Visual Studio 15 2017: [error C2065: \'M_PI\': undeclared identifier]{.title-ref} https://discord.com/channels/790680891252932659/798284448323731456/899110756413489212
  • Merge pull request #227 from luxonis/examples_sorting Examples sorting
  • Merge pull request #228 from luxonis/sipp_fw_bugfixes Firmware sdk fixes: for ISP/Sipp filter crashes #395
  • Update FW before merge
  • Renamed two examples
  • Internal firmware sdk fixes: for ISP/Stereo/Sipp filter crashes
  • Fixed CMakeLists that should have worked before as well but ok
  • Moved examples out of /src folder
  • Removed fromPlanarFp16() as it\'s not needed
  • Style fix
  • Added script node CPP examples
  • Added examples in their corresponding folders
  • Grouped tiny yolo3/4 together
  • Contributors: Erik, Erol444, SzabolcsGergely, alex-luxonis, szabi-luxonis

2.11.0 (2021-10-13)

  • Merge branch \'develop\' into main
  • Updated formatting
  • Fixed double promotion warning
  • Bumped to v2.11.0
  • Merge branch \'backward_issue_fix\' into develop
  • Backward - Disables use of additional stack unwinding libs
  • Update FW: increase ImageManip warp max out height: 1520 -> 2560
  • Windows prebuilt libraries (#220)
    • Added CI to build Win64 & Win32 prebuilt libraries and upload along the release
  • Merge branch \'spi_improvements\' into develop
  • Merge branch \'develop\' into spi_improvements
  • Hotfix for FW message cache coherency
  • Merge pull request #206 from luxonis/calib_fov_calculated Added getting calculated FOV from intrinsics
  • Merge pull request #212 from SpectacularAI/fix-extrinsic-inversions-in-calibration-handler Fix the inversion formula for extrinsic matrices in CalibrationHandler
  • Fixed for Windows
  • Fix inversion formula for extrinsic matrices in CalibrationHandler
  • Fix styling
  • Merge pull request #218 from luxonis/stereo_confidence_map Add confidence map output to stereo node
  • Update FW to latest develop
  • Update confidence map output docs
  • Add confidence map output to stereo node
  • Merge pull request #217 from luxonis/ppenc_fixes Fix still image output in RGB postprocessing
  • Updated FW with SPI improvements
  • Update FW to latest develop
  • Fix still image output in RGB postprocessing
  • Fix bootloader version example
  • Merge pull request #200 from luxonis/stereo_fixes Stereo improvements, fixes for subpixel, LR-check
  • Sync stereo_depth_video example
  • Update FW/shared to latest develop
  • Replace deprecated getMaxDisparity() function
  • Handle disparity companding in getMaxDisparity
  • Update FW with runtime disparity range fix
  • Add getMaxDisparity() based on subpixel bits
  • Add stereo node output config
  • Update calibration_reader.cpp
  • Add debug outputs to stereo node; expose number of frame pools
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #213 from luxonis/spatial_calc_algo_choice Add option to pick spatial calculation algorithm : average,min,max of...
  • Update FW/shared to latest develop
  • Merge pull request #214 from luxonis/flash_bl_example_fix flash_bootloader example fix
  • Update shared w/ CI fixes
  • flash_bootloader: improve user prompts, when booted over USB / recovery mode: don\'t ask for confirmations, as if flashing is interrupted, recovery mode should still be accessible. Also it was a bit confusing asking to replace USB bootloader (booted as a flasher helper) with NETWORK
  • Update FW to match depthai-shared
  • flash_bootloader: fix flashing NETWORK bootloader (when booted over USB), or flashing a different bootloader type
  • Set bytes per pixel for ImgFrame
  • Add option to pick spatial calculation algorithm : average,min,max of selected ROI
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with subpixel fix
  • Refactor stereo depth config structure
  • Update FW, enable runtime configuration of Stereo node
  • Imu extrinsics (#211)
    • Updated IMU extrinsics
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Update FW with stereo confidence runtime config fix
  • Updated Bootloader to 0.0.15
  • Update FW with stereo performance improvements
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • FW - Updated ColorCamera 1080P resolution config
  • Fixed integration issues
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Merge branch \'develop_embedded\' into develop
  • Remove rectification flipping on host, it was resolved in firmware
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Updated FW - fixed cache coherency issue
  • Update FW, for depthai-shared to match with depthai-core
  • Update FW: fix default camera orientation for OAK-1-PoE, was rotated
  • Merge branch \'develop\' of github.com:luxonis/depthai-core into develop
  • Pipeline - number of connections improvement
  • Fixed exception rethrow in DeviceBase
  • Merge pull request #207 from luxonis/imagemanipcfg_helper_functions Add ImageManipConfig helper functions
  • Fixed style checks, added FormatConfig
  • Added alias
  • Add ImageManipConfig helper functions
  • Fixed issues for the PR
  • Added capability to not install signal handlers
  • Added option to calculate FOV based on camera intrinsics. Added this function to calibration_reader and also refactored it so matricies are more readable
  • Merge pull request #205 from luxonis/calib_helper_functions Calib helper functions
  • Fixed typo
  • Style check fix
  • Updated FW to allow for graceful resets
  • Added helper functions to get translation vector and baseline distance
  • Merge pull request #204 from luxonis/extrinsics_translation_cm Specified that translation is in centimeters
  • Specified that translation is in centimeters
  • Merge remote-tracking branch \'origin/develop\' into stereo_fixes
  • Merge pull request #203 from luxonis/overloading_functions Added some function overloads
  • fix compiling error
  • Added some function overloads
  • Fixed style
  • Added Backward library to print stacktraces on crash
  • Updated FW with GPIO and SPI improvements
  • Merge branch \'throw.nice\' into develop
  • Added flash booted state and handling
  • Merge branch \'device_config\' into develop_embedded
  • Merge branch \'bootloader_updates\' into develop_embedded
  • Fixed incorrect exception message
  • Fixed Windows Platform specific code
  • Fixed Super Speed mode and added a test
  • Updated FW for UsbSpeed handling
  • Added versioning to BL requests and refactored
  • Updated flash_bootloader example
  • Added capability to compress FW and additional BL config helper
  • Reduced BL check to 0.0.14 and updated FW and BL
  • Update FW with stereo LR-check, subpixel fixes; extended mode is not available
  • Apply suggestions by clang-tidy
  • Rename vars as requested
  • Bring the 3 variable ctor into visibility
  • Updated bootloader_configuration example
  • Make data members const
  • Add pertinent info to XLinkError struct
  • Throw XLink specific errors for read/write errors
  • WIP: Bootloader configuration
  • Merge branch \'develop\' into bootloader_updates
  • Fixed boot_memory bootloader upgrade routine
  • Merge branch \'develop\' into bootloader_updates
  • Allow to specify which bootloader is overridden by the env var: [DEPTHAI_BOOTLOADER_BINARY_USB]{.title-ref} [DEPTHAI_BOOTLOADER_BINARY_ETH]{.title-ref} (both can be set)
  • Updated flash_bootloader example
  • Improved the flash_bootloader example a bit
  • Updated flash_bootloader to be a bit more verbose
  • Added an explicit flag to allow flashing bootloader
  • Moved operator<< overloads to global namespace
  • Warn when firmware or bootloader binaries are overriden
    • to confirm it\'s picked up, or to notice when forgotten exported
  • Optional env var DEPTHAI_BOOTLOADER_BINARY to override bootloader FW path, mostly for development
  • Update bootloader: support for more NOR flash chips, fixes issues with flash erasing
  • Revert \"Removed flash_bootloader\" This reverts commit f1f03bcefde92b518fe5a1534b83c3fa919e30e6.
  • Revert \"Removed flash_bootloader example temporarily\" This reverts commit ee2a04e58b995e1bfa0cb03b91f83a45d446ca7f.
  • Updated FW and a catch clause
  • Merge branch \'develop\' into device_config
  • Fixed patching
  • Modified watchdog to use a separate stream
  • Updated preboot and added watchdog configuration
  • Merge branch \'develop\' into device_config
  • Removed deprecated OpenVINO versions
  • Merge branch \'develop\' into device_config
  • Updated example
  • Merge branch \'develop\' into device_config
  • Refactored and added preboot config
  • WIP: Device configuration
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, Otto Seiskari, Sachin Guruswamy, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis

2.10.0 (2021-08-24)

  • Release v2.10.0
  • Merge pull request #201 from luxonis/develop Release v2.10.0
  • Bump version to 2.10.0
  • Merge remote-tracking branch \'origin/main\' into HEAD
  • Merge pull request #199 from luxonis/xlink_chunk_size Configure XLink chunk size
  • Update FW and shared after merge
  • DeviceBase/Device: add {set/get}XLinkChunkSize RPC calls
  • Merge pull request #195 from luxonis/update_readme Update README.md instructions with OpenCV troubleshooting
  • Fix naming [setXlinkChunkSize]{.title-ref} -> [setXLinkChunkSize]{.title-ref}
  • Pipeline: add [setXlinkChunkSize]{.title-ref}
  • Update FW with bilateral fix
  • Update README.md
  • Merge branch \'main\' into develop
  • Merge branch \'deviceBase\' into develop
  • Address review comments
  • Merge pull request #197 from luxonis/sysinfo_docs Fixed display names
  • Fixed display names
  • update code template
  • Merge pull request #196 from luxonis/stereo_crash_workaround Stereo crash workaround
  • Add workaround for stereo subpixel/extended mode crash at the expense of system performance
  • Update README.md instructions with OpenCV troubleshooting
  • Merge pull request #181 from luxonis/feature_tracker Feature tracking support
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Merge branch \'main\' into develop
  • Added default constructor as these are not inherited
  • Update FW
  • Applied style
  • Fixes for MSVC ambiguity with overloaded constructors
  • Handle dtor and close without bugs
  • Merge branch \'develop\' into deviceBase
  • Fix build issue
  • Rename function arguments to their alias
  • Fix docs about feature tracking
  • Update shared with type fixes in docs; update FW to latest develop
  • Keep same behavior in DeviceBase as Device wrt starting pipeline
  • Make ctor API simpler for [DeviceBase]{.title-ref} and [Device]{.title-ref}
  • Merge remote-tracking branch \'origin/develop\' into HEAD
  • Refactor FeatureTrackerConfig
  • Rename feature tracker config fields
  • Shutdown gracefully in case of exception in ctor
  • Add support for hardware accelerated motion estimation
  • Make [connection]{.title-ref} as protected
  • Move startPipeline from DeviceBase to Device
  • Update shared
  • Rename FeatureTrackerData to TrackedFeatures
  • Sync python-cpp examples
  • Add configurable shave/memory resources to feature tracker
  • Update FW with memory optimizations
  • Update FW and shared
  • Add overloaded functions to disable optical flow
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Extend feature tracker configuration
  • Add config fields to feature tracker node
  • Update FW
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Synchronize python-cpp examples
  • Merge remote-tracking branch \'origin/develop\' into feature_tracker
  • Update names, make serialize a public function
  • Add note in the documentation of the virtual functions
  • Fix reference to base class function in [dai::Device]{.title-ref}
  • Give more love to StreamPacketParser
  • Make the virtual functios protected and public functions non-virtual
  • Move items around in startPipeline
  • Separate Device and DeviceBase, expose StreamPacketParser
  • Separate Queue handling from core API
  • Update FW with multi instance support
  • Remove leftover code
  • Update trackbar naming
  • Add FeatureTracker node; add cpp example
  • POC: Feature tracker node
  • Contributors: Erik, Erol444, Kunal Tyagi, Martin Peterlin, SzabolcsGergely, TheMarpe, alex-luxonis, szabi-luxonis,

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged depthai at Robotics Stack Exchange