Skip to content

Commit 65cc544

Browse files
saching13alex-luxonisthemarpeSzabolcsGergelySzabolcsGergely
authored
Ros release 2.19 (#629)
* Update FW: allow OV9282/OV9782 on RGB socket TODO: ColorISP * Color/MonoCamera: add extra resolutions for OV9782 and OV7251 support * Update FW: initial ColorCamera support for OV9782 * Update FW: improve OV9782 colors * Update FW: OV9782 on RGB socket, working with OV9282 on L/R * Update FW: fix OV9782 bayer order * Update FW: improve OV9782 color saturation and sharpness * TMP: OV9782(color) working on Left and/or Right sockets * Update FW: initial support for LUX-D-LITE: IMX214 and OV7251 * Update FW: fix some OV7251 flickering, change stereo res to 480p, improve IMX214 focusing * Update FW: improved focus for IMX214, lowered range * CameraControl: add `setExternalTrigger(numFramesBurst)` * ImgFrame: add API to get camera settings: getLensPosition(), getExposureTime(), getSensitivity() Only the first is implemented for now * setManualFocus auto-handles focus mode now, don't set * Update FW: report exposure + iso too in ImgFrame for RGB, (note: lens position may be reported one frame in advance), fix black image when initial manual exposure was set with other controls, fix switching from auto to manual exposure causing the lens to jump to zero (note: the lens is directly set now with manual focus, bypassing 3A) * CameraControl setExternalTrigger: add numFramesDiscard param * CameraControl: add `setManualWhiteBalance(colorTemperatureK)` * Update FW: reduce ColorCamera still pool: 4 -> 1 frame * Update FW: support for up to 3x IMX378/IMX477 or 3x OV9782 color cameras. Note: configs for Left and Right sockets must be identical for now * Fix FW, support for multiple IMX378/477 * Update FW (IMX214 multiple resolutions), add more camera sockets * Update FW: CAM-D (4th socket) tested, AR0234 support. Note: if AR0234 sensors are used, cannot be combined with other types at the moment (due to tuning blobs in use) * Update FW: changes for IMX214/OV7251, other fixes * Update FW: fix ColorCamera `preview`/`video`/`still` when multiple cameras use these outputs * Update FW: change SIPP mem alloc to allow 4x ColorCamera to operate at the same time * Update FW: StereoDepth: fix RGB alignment when running at calib resolution (OAK-D with 800_P or OAK-D-Lite) * Update FW: fix for IMX378 still output at 12MP * Update FW: OV9282/9782 img orientation per camera, fix sync mode * Update FW: - support for camera modules with IMX380 sensor id, reusing IMX378 driver (some Arducam IMX577(?)) - soft-reset the sensor before config, to fix streaming with some Arducam modules * Update FW: IMX577 proper support (0577 sensor ID) * CameraControl: add setAutoFocusLensRange * Add `CameraControl::setFrameSyncMode`, controlling the FSIN pin I/O and camera sync behavior. Implemented for OV9282/OV9782 for now. Note: if one camera sets it to OUTPUT, and other(s) to INPUT, the hardware sync will work, but currently there's one frame de-sync in the sequence numbers (first frame is lost from the 'slave' cameras). This will be fixed * changed spdlog visibility * Add Device::getConnectedCameraProperties * Add new predefined resolutions for ColorCamera: THE_1200_P, THE_13_MP * Update FW: configurable FPS and fix enumeration issues with AR0234 * Added some getters to CameraControl and modified to use chrono where possible * Update FW: populate `CameraProperties::hasAutofocus` * OV5645 and 5MP resolution support * Update FW: fixes for multiple IMX378/477 * Update FW: fixes for OV9282/9782 on CAM-D, fix stereo rectified frame type for color * Update FW: allow `StereoDepth` to work with `ColorCamera`s, without having to call `StereoDepth::setInputResolution` * Add dot-projector/flood-illuminator brightness control for OAK-D-Pro-W, fix OV9782 slow AE due to missing AF * Allow using AR0234/OV5645 (but at degraded image quality) with other sensors enabled at the same time * Update FW with multiple fixes: - properly handle manual/auto focus with multiple cameras - fix potential init failure with same sensors (IMX378/477/214 / AR0234 / OV5645) on Left and Right sockets - fix sensor name reporting for AR0234 / IMX378/380/477/577 * Fix CI build (not matching bootloader-shared commits) * Script: add optional name parameter to `setScriptPath`, might come handy if the path is long, to have a shorter identifier * ColorCamera/MonoCamera: add `frameEvent` output, to be used for IR control, etc. * Update FW: FSYNC for IMX378 * Update FW, add initial support for IMX582/IMX586 * Updates for IMX582 - full 48MP res, temporarily center cropped (5312x6000 out of 8000x6000) * CameraControl: add STROBE MX-GPIO control, applicable for ext trig mode. AR0234 ext trig: - `cam[c].initialControl.setExternalTrigger(1, 0)` for snapshot mode (exposure+readout following immediately after trigger) - `cam[c].initialControl.setFrameSyncMode(dai.CameraControl.FrameSyncMode.INPUT)` for multiple devices sync (frame time is aligned, exposure could be different per device) Note: sensor trigger pin reacts on rising edge signal, and keeping the line high will cause repeated triggering. * Pipeline: add `setImageManipCmxSizeAdjust` * FW: fixes for 48MP camera, FW build for previous commits * Fix ColorCamera::getSensorCrop calculation for AUTO, was returning zero * WIP - flashUserBootloader * Updated Bootloader and added example * Added monitor thread for DeviceBootloader * Added explicit isUserBootloader call * Updated Bootloader for better User Bootloader support * MonoCamera: add frame pool size config API * Removed device_information and multi_roi from tests * Updated FW with ImageManip dynamic memory allocation * Disabled LATEX generation for docs * Added Warp node * Applied style * Set Yolo default iou threshold to 0.5 * Exposed Bootloader version available when booting a device in bootloader state * [Warp] Exposed HW engines used and interpolation * ImgFrame: add `getColorTemperature`. FW: fix exp/iso report for MonoCamera * CameraControl: update API docs, specify some defaults * Rename CameraProperties -> CameraFeatures * Added a sign cast to max user bootloader size check * Revert "Pipeline: add `setImageManipCmxSizeAdjust`" This reverts commit 591a98b. * Fix typo and add calibration_factory_reset example * Don't use the example as a part of the testing suite Co-authored-by: TheMarpe <[email protected]> * DEPTHAI_DEBUG=1 env var to enable `logDevicePrints`, ColorCamera: THE_12P0_MP, THE_5312X6000 * Update FW, shared: clangformat * `make clangformat`: calibration_factory_reset.cpp, depthai-shared, FW: increase an internal queue size for frameEvent * Exposed Timesync configurability * Docs fixes * Add support for yolov6r2 parsing * Expand spatial image detections with original config * Update CPP examples * Add getTimestamp and getTimestampDevice getter to IMU packets * Update IMU examples * Add THE_1200_P for AR0234 MonoCamera * Several FW updates: - !!! For all sockets/cameras to be scanned, the EEPROM calib data boardName/productName should contain "FFC" or an FFC-related board name: 1090/2090/2088. Otherwise the behavior is to scan only for standard OAK devices sockets/cameras - Some more checks for the LCM48 (on MAX) supported resolutions - Fixes for RGB-mono SW-sync for standard OAK-D / OAK-D-Lite camera configs - AR0234 monochrome support, however needs an OV9282 enabled at the same time for now * Color/MonoCamera: handle some more cases for newly added resolutions/sockets * Update shared/FW after merge, fix error log printed for MonoCamera AUTO socket * Closes: #355 * Bump version to 2.18.0 * Updated FW with some Color/MonoCamera fixes * stability test * Update FW: - fix for high system load crash, especially on PoE devices - for for OV9282 as MonoCamera on RGB/CAM_A socket * stability test * Added a convinience setTimesync function * Added isUserBootloaderSupported to DeviceBootloader * Updated XLink with Windows improvements when scanning for already booted USB devices * Updated FW with device time reset on boot * Bump to v2.19.0 * Improved wording on unavailable devices * Fix yolo v5 decoding when there is a single class * FW: fixes for certain OV9782 and OV9282 permutations/configs, fix for OV9782/OV9282 alone failing on RGB/CAM_A socket * Update CI to Node16 compatible actions * Update FW: fix image size when decimation filter is enabled * added changelog and version update in package.xml Co-authored-by: alex-luxonis <[email protected]> Co-authored-by: TheMarpe <[email protected]> Co-authored-by: SzabolcsGergely <[email protected]> Co-authored-by: szabi-luxonis <[email protected]> Co-authored-by: Matevz Morato <[email protected]> Co-authored-by: moratom <[email protected]> Co-authored-by: TheMarpe <[email protected]> Co-authored-by: alex-luxonis <[email protected]> Co-authored-by: sags <[email protected]>
1 parent 490e3b2 commit 65cc544

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1332
-371
lines changed

.github/workflows/main.workflow.yml

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
runs-on: ubuntu-latest
2424

2525
steps:
26-
- uses: actions/checkout@v2
26+
- uses: actions/checkout@v3
2727
with:
2828
submodules: 'recursive'
2929

@@ -42,7 +42,7 @@ jobs:
4242
runs-on: ubuntu-latest
4343

4444
steps:
45-
- uses: actions/checkout@v2
45+
- uses: actions/checkout@v3
4646
with:
4747
submodules: 'recursive'
4848

@@ -71,23 +71,23 @@ jobs:
7171
steps:
7272
- name: Cache .hunter folder
7373
if: matrix.os != 'windows-latest'
74-
uses: actions/cache@v2
74+
uses: actions/cache@v3
7575
with:
7676
path: ~/.hunter/
7777
key: hunter-${{ matrix.os }}-${{ matrix.cmake }}
7878
- name: Cache .hunter folder
7979
if: matrix.os == 'windows-latest'
80-
uses: actions/cache@v2
80+
uses: actions/cache@v3
8181
with:
8282
path: C:/.hunter/
8383
key: hunter-${{ matrix.os }}-${{ matrix.cmake }}
8484

85-
- uses: actions/checkout@v2
85+
- uses: actions/checkout@v3
8686
with:
8787
submodules: 'recursive'
8888

8989
- name: Setup cmake
90-
uses: jwlawson/actions-setup-cmake@v1.9
90+
uses: jwlawson/actions-setup-cmake@v1.13
9191
with:
9292
cmake-version: ${{ matrix.cmake }}
9393

@@ -147,18 +147,18 @@ jobs:
147147
steps:
148148
- name: Cache .hunter folder
149149
if: matrix.os != 'windows-latest'
150-
uses: actions/cache@v2
150+
uses: actions/cache@v3
151151
with:
152152
path: ~/.hunter/
153153
key: hunter-${{ matrix.os }}-shared_${{ matrix.shared }}
154154
- name: Cache .hunter folder
155155
if: matrix.os == 'windows-latest'
156-
uses: actions/cache@v2
156+
uses: actions/cache@v3
157157
with:
158158
path: C:/.hunter/
159159
key: hunter-${{ matrix.os }}-shared_${{ matrix.shared }}
160160

161-
- uses: actions/checkout@v2
161+
- uses: actions/checkout@v3
162162
with:
163163
submodules: 'recursive'
164164

@@ -193,14 +193,14 @@ jobs:
193193

194194
- name: Upload Win64 shared library
195195
if: matrix.os == 'windows-latest' && matrix.shared && matrix.platform == 'x64'
196-
uses: actions/upload-artifact@v2.2.4
196+
uses: actions/upload-artifact@v3
197197
with:
198198
name: windows-prebuilt-win64
199199
path: ${{ env.GITHUB_WORKSPACE }}/depthai_install/
200200

201201
- name: Upload Win32 shared library
202202
if: matrix.os == 'windows-latest' && matrix.shared && matrix.platform == 'Win32'
203-
uses: actions/upload-artifact@v2.2.4
203+
uses: actions/upload-artifact@v3
204204
with:
205205
name: windows-prebuilt-win32-no-opencv
206206
path: ${{ env.GITHUB_WORKSPACE }}/depthai_install/
@@ -234,11 +234,12 @@ jobs:
234234

235235
# Clone repository
236236
steps:
237-
- uses: actions/checkout@v2
237+
- uses: actions/checkout@v3
238238
with:
239239
submodules: 'recursive'
240240

241241
# Get tag version
242+
# TODO(themarpe) - Node12, has to be updated
242243
- name: Get latest release version number
243244
id: tag
244245
uses: battila7/get-version-action@v2
@@ -247,20 +248,20 @@ jobs:
247248
#- name: Check if version matches
248249
# run: |
249250

250-
- uses: actions/setup-python@v2
251+
- uses: actions/setup-python@v3
251252
with:
252253
python-version: '3.8'
253254
- name: Install dependencies
254255
run: python3.8 -m pip install git-archive-all
255256

256257
- name: Download Win64 artifacts
257-
uses: actions/download-artifact@v2
258+
uses: actions/download-artifact@v3
258259
with:
259260
name: 'windows-prebuilt-win64'
260261
path: depthai-core-${{ steps.tag.outputs.version }}-win64
261262

262263
- name: Download Win32 artifacts
263-
uses: actions/download-artifact@v2
264+
uses: actions/download-artifact@v3
264265
with:
265266
name: 'windows-prebuilt-win32-no-opencv'
266267
path: depthai-core-${{ steps.tag.outputs.version }}-win32-no-opencv

.github/workflows/stability.workflow.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ jobs:
2626
timeout-minutes: 1450 # 24h & 10minutes
2727
steps:
2828
- name: Cache .hunter folder
29-
uses: actions/cache@v2
29+
uses: actions/cache@v3
3030
with:
3131
path: $HOME/.hun_vanilla
3232
key: hunter-linux-stability-vanilla
33-
- uses: actions/checkout@v2
33+
- uses: actions/checkout@v3
3434
with:
3535
submodules: 'recursive'
3636

.github/workflows/test.workflow.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ jobs:
3636

3737
steps:
3838
- name: Cache .hunter folder
39-
uses: actions/cache@v2
39+
uses: actions/cache@v3
4040
with:
4141
path: $HOME/.hun2_${{ matrix.flavor }}
4242
key: hunter-${{ matrix.os }}-${{ matrix.cmake }}
43-
- uses: actions/checkout@v2
43+
- uses: actions/checkout@v3
4444
with:
4545
submodules: 'recursive'
4646

CHANGELOG.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22
Changelog for package depthai
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
6+
2.19.0 (2022-09-20)
7+
-----------
8+
* Stability improvements #616
9+
* isUserBootloaderSupported API
10+
* Device.setTimesync(true/false) convenience function to enable or disable subsequent timesyncing
11+
* Windows improvements with listing BOOTED devices ("udev permissions" issue)
12+
* Fix OV9282 as MonoCamera on RGB socket (issue was black image)
13+
* Fix crash under high load (regression with camera events streaming)
14+
* Fix YOLOv5/7 decoding in case of a single class
15+
* Fix image size when decimation filter is enabled
16+
* Fix for certain OV9782 and OV9282 permutations/configs
17+
* Reset Device timestamp on boot to zero
18+
* Reworded "No available devices" error message when there are other connected devices connected.
19+
* Update CI to Node16 compatible actions
20+
21+
522
2.17.4 (2022-09-20)
623
-----------
724
* DEPTHAI_WATCHDOG=0 bugfix (245fb57)

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ if(WIN32)
4343
endif()
4444

4545
# Create depthai project
46-
project(depthai VERSION "2.17.4" LANGUAGES CXX C)
46+
project(depthai VERSION "2.19.0" LANGUAGES CXX C)
4747
get_directory_property(has_parent PARENT_DIRECTORY)
4848
if(has_parent)
4949
set(DEPTHAI_VERSION ${PROJECT_VERSION} PARENT_SCOPE)
@@ -197,6 +197,7 @@ add_library(${TARGET_CORE_NAME}
197197
src/device/DataQueue.cpp
198198
src/device/CallbackHandler.cpp
199199
src/device/CalibrationHandler.cpp
200+
src/device/Version.cpp
200201
src/pipeline/Pipeline.cpp
201202
src/pipeline/AssetManager.cpp
202203
src/pipeline/Node.cpp
@@ -207,6 +208,7 @@ add_library(${TARGET_CORE_NAME}
207208
src/pipeline/node/StereoDepth.cpp
208209
src/pipeline/node/NeuralNetwork.cpp
209210
src/pipeline/node/ImageManip.cpp
211+
src/pipeline/node/Warp.cpp
210212
src/pipeline/node/VideoEncoder.cpp
211213
src/pipeline/node/DetectionNetwork.cpp
212214
src/pipeline/node/Script.cpp

cmake/Depthai/DepthaiBootloaderConfig.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ set(DEPTHAI_BOOTLOADER_MATURITY "release")
33
# set(DEPTHAI_BOOTLOADER_MATURITY "snapshot")
44

55
# "version if applicable"
6-
set(DEPTHAI_BOOTLOADER_VERSION "0.0.20")
7-
# set(DEPTHAI_BOOTLOADER_VERSION "0.0.19+4af3b8fe5c0dc6f9a31dedac17affe2e490f81a0")
6+
set(DEPTHAI_BOOTLOADER_VERSION "0.0.21")
7+
# set(DEPTHAI_BOOTLOADER_VERSION "0.0.21+050d0a19edf9747082ae8c3852e09a1764304f78")

cmake/Depthai/DepthaiDeviceSideConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")
33

44
# "full commit hash of device side binary"
5-
set(DEPTHAI_DEVICE_SIDE_COMMIT "1a59c80266cd7a30ba874aa8d4a8277e0bf161ec")
5+
set(DEPTHAI_DEVICE_SIDE_COMMIT "b3aeaf23ff5857fc8f79d412ceefc08da23e7aad")
66

77
# "version if applicable"
88
set(DEPTHAI_DEVICE_SIDE_VERSION "")

cmake/Hunter/config.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ hunter_config(
88
hunter_config(
99
XLink
1010
VERSION "luxonis-2021.4.2-develop"
11-
URL "https://github.com/luxonis/XLink/archive/4f8cd1f9b2ab1b44e36c448a4b7d5d80255f5872.tar.gz"
12-
SHA1 "fe7aaa8a61ddd7e9030c6c2720978e35a1449fba"
11+
URL "https://github.com/luxonis/XLink/archive/5c61615066af6539e50a4a17b5df3466e4350b21.tar.gz"
12+
SHA1 "25fba41da891743bf0bdff5bc9a5cda07535be49"
1313
)
1414

1515
hunter_config(

docs/Doxyfile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1737,7 +1737,7 @@ EXTRA_SEARCH_MAPPINGS =
17371737
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
17381738
# The default value is: YES.
17391739

1740-
GENERATE_LATEX = YES
1740+
GENERATE_LATEX = NO
17411741

17421742
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
17431743
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of

examples/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ hunter_private_data(
200200
# bootloader
201201
dai_add_example(bootloader_version bootloader/bootloader_version.cpp ON)
202202
dai_add_example(flash_bootloader bootloader/flash_bootloader.cpp OFF)
203+
dai_add_example(flash_user_bootloader bootloader/flash_user_bootloader.cpp OFF)
203204
dai_add_example(bootloader_config bootloader/bootloader_config.cpp ON read)
204205
dai_add_example(poe_set_ip bootloader/poe_set_ip.cpp OFF)
205206
dai_add_example(read_flash_memory bootloader/read_flash_memory.cpp OFF)
@@ -212,6 +213,7 @@ dai_add_example(calibration_flash_version5 calibration/calibration_flash_v5.cpp
212213
dai_add_example(calibration_load calibration/calibration_load.cpp ON)
213214
dai_add_example(calibration_reader calibration/calibration_reader.cpp ON)
214215
dai_add_example(calibration_dump calibration/calibration_dump.cpp ON)
216+
dai_add_example(calibration_factory_reset calibration/calibration_factory_reset.cpp OFF)
215217

216218
target_compile_definitions(calibration_flash PRIVATE CALIB_PATH="${calib_v6}")
217219
target_compile_definitions(calibration_flash_version5 PRIVATE CALIB_PATH="${calib_v5}" BOARD_PATH="${device_config}")
@@ -233,7 +235,7 @@ dai_add_example(feature_tracker FeatureTracker/feature_tracker.cpp ON)
233235
dai_add_example(device_queue_event host_side/device_queue_event.cpp ON)
234236
dai_add_example(opencv_support host_side/opencv_support.cpp ON)
235237
dai_add_example(queue_add_callback host_side/queue_add_callback.cpp ON)
236-
dai_add_example(device_information host_side/device_information.cpp ON)
238+
dai_add_example(device_information host_side/device_information.cpp OFF)
237239

238240
# ImageManip
239241
dai_add_example(image_manip ImageManip/image_manip_example.cpp ON)
@@ -242,6 +244,9 @@ dai_add_example(image_manip_tiling ImageManip/image_manip_tiling.cpp ON)
242244
dai_add_example(rgb_rotate_warp ImageManip/rgb_rotate_warp.cpp ON)
243245
dai_add_example(image_manip_warp_mesh ImageManip/image_manip_warp_mesh.cpp ON)
244246

247+
# Warp
248+
dai_add_example(warp_mesh Warp/warp_mesh.cpp ON)
249+
245250
# IMU
246251
dai_add_example(imu_gyroscope_accelerometer IMU/imu_gyroscope_accelerometer.cpp ON)
247252
dai_add_example(imu_rotation_vector IMU/imu_rotation_vector.cpp ON)
@@ -316,7 +321,7 @@ dai_add_example(spatial_mobilenet_mono SpatialDetection/spatial_mobilenet_mono.c
316321
dai_add_example(spatial_mobilenet SpatialDetection/spatial_mobilenet.cpp ON)
317322
dai_add_example(spatial_tiny_yolo_v3 SpatialDetection/spatial_tiny_yolo.cpp ON)
318323
dai_add_example(spatial_tiny_yolo_v4 SpatialDetection/spatial_tiny_yolo.cpp ON)
319-
dai_add_example(spatial_calculator_multi_roi SpatialDetection/spatial_calculator_multi_roi.cpp ON)
324+
dai_add_example(spatial_calculator_multi_roi SpatialDetection/spatial_calculator_multi_roi.cpp OFF)
320325

321326
target_compile_definitions(spatial_mobilenet_mono PRIVATE BLOB_PATH="${mobilenet_blob}")
322327
target_compile_definitions(spatial_mobilenet PRIVATE BLOB_PATH="${mobilenet_blob}")

0 commit comments

Comments
 (0)