-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IR Intensity API #924
Merged
Merged
IR Intensity API #924
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
moratom
approved these changes
Nov 13, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Serafadam
pushed a commit
that referenced
this pull request
Mar 6, 2024
* FW: Stereo: handle queue blocking settings * [FW] Updated for some devices and ToF * Added filter by device name * [FW] WIP for S2 PoE boards * [FW] WIP for new SoMs * Fixed build * [FW] Fixed camera orientation * Add example for read calibration in script node * Bump version to v2.22.0 * Add to cmake and fix errors * FW: update IMX296 tuning * [FW] Fixed OAK-D-SR and OV9782 issues * Change printf to node.info in script node read calibration example * ToF: Add median filter support * Update FW to latest develop * FW: Stereo: Apply alpha scaling parameter to RGB intrinsics when RGB alignment is enabled * FW: fix CAM_D enumeration on OAK-FFC-4P R7 * Camera: move alpha parameter as optional to be consistent with stereo * Update FW * BMI: Fix accumulating latency due to slow xlink read * Fix constructors overriding maxUsbSpeed * hasAutofocus fix based on device name/lensPosition * WIP: Device name improvements * Added improvements to device naming * Fixed device related logging * Moved ts, tsDevice, and sequenceNum from descendants to RawBuffer * Added getters and setters * z_map for tof * ts to tsDevice fix * Updated ColorCamera's setSensorCrop comment for documentation * Removed redundant getters and setters * FW: add support for OAK-D-SR-PoE R1M1E1 * Fixed mistake in ImgFrame * Ran ClangFormat * Added DEPTHAI_ENABLE_LIBUSB option, to enable/disable USB protocol in build time * Applied style * Updated XLink library with some fixes * FW: fix default fsync on OAK-D-SR-PoE. GPIO46 input by default * Added host side EncodedFrame with parsing and output handling * hasautofocusIC * Bugfixes * FW: fix 4 cams crash on PoE due to memory allocation * Update FW / shared * FW: fix OAK-D-SR camera enum. IMX296 updates: - support for RPi GS Cam paired with Luxonis SL6996 RPi camera adapter - support for external trigger on XTR/XTRIG pin: active low, pulse width determines exposure time. Limitation: needs an initial trigger shortly after start to avoid a crash, or `DEPTHAI_WATCHDOG=0` can be a workaround * Attempt to fix serialization error on windows compiler * Update FW * Implemented timesync optimization * getConnectivity feature * Fixed new timesync bugs * add corespoding SHA * Moved treceive back to XLink * Changes according to PR issue * Clangformat * Bump FW * Moved timestamps to buffer * WIP: Device name improvements * Added improvements to device naming * FIXME: does not work on rpi * Updated FW with changes * Bump shared * Fixed compiler error * Changed struct timespec to custom struct to fix RPI size issues * Bump shared * FW, ColorCamera: add new almost-full-FOV resolutions for IMX378/477, scaled: 1352x1012, 4lane-only, 1/3 scaling 2024x1520, 1/2 binning * EncFrm fixes * Added tests, bugfixes * clangformat * Bump device * Bump device again * Fixed incorrect warp in issue #882 * [FW] OAK-D SR PoE and ToF improvements * [FW] Improved OV9782 fps handling * Updated FW & XLink with backward compatible timestamping * FW: fixes for AR0234 fsync, AR0234 AE max exposure: 16->33 ms, more robust camera handling (especially in sync modes) * fixed the order of translation multiplication * clang update * [FW] deviceName fixes and updated for EepromData changes * Increased num XLink connections to 64 * Bumped num XLink connections to 64 * Implemented metadata serialization * Implemented raw data serialization in MG * FW: OAK-D-SR-PoE R1 fixes for fsync detect and status LED (green when running), StereoDepth fix for RGB-depth alignment with Left-Right-RGB layout * Added fields to EncodedFrame * Bump shared * Implemented sync node * CameraControl: add `setControlMode`, `setCaptureIntent` * Fixed msggrp serialization * Bump shared * Simplified msggrp * Moved frame type extraction into a getter * Bump shared * Fixed python bindings * Bump shared * FW: multiple tunings to fix image quality issues, OV9782 tuning, IMX462 fix for ISO * Implemented messagedemux * Added doc comments * Bump shared * Bump firmware * Bump shared * Bump device * Bump device * clangformat * Some changes WRT Android build * Removed unnecessary functions * Redid messageGroups * Fix multi stereo node race condition when depth output is enabled * Ir brightness control based on normalized intensity, instead of current. * Changed dynamic to static cast * Added option to only demux successful syncs * Added ability to set success on msggrp * Clangformat * Added IR intensity API * Applied suggestions * Fix XLink linkId reuse, caused multi-threading failures. See: luxonis/XLink#73 * Bump device * Implemented automatic crash dump retrieval * Fixed auto crash report for PoE * Bump device * Fix warning * Improved Monitor&WD handling in DeviceBootloader * Update README.md * Renamed getConnectivity * Update docstring. Point to correct device side commit. * Renamed getAvailableInterfaces * Use a new devicebase to connect to device * Clangformat * Deprecated ir brightness api, fixed spatial_calculator_multi_roi example. * Attempt to fix macos pipeline build * Bump shared * Added tests for encframe * Changed the way sync works + added test * Add CameraControl `setAutoExposureLimit`. FW: improve OV9282/OV9782 image quality in low-light / under high ISO (1300+) * Changed the way sync is configured * Clangformat * Added examples + bump fw * Added example, removed numPools from Sync * Minor modification to example * Bump fw * Bump fw * Bump fw * Throw error when indexing non-existing message, changed example to use disparity * Improved example * Clangformat * Bump fw * Bump fw * Bump shared * Changed syncThreshold setter to use chrono duration * Bump shared * Bump fw * Handle shutdown returning false, bump fw * Bump fw * Changed the way crash reports are retrieved * Bump fw * Clangformat * Bump fw * Bump fw * IR Intensity API (#924) * Ir brightness control based on normalized intensity, instead of current. * Added IR intensity API * Update docstring. Point to correct device side commit. * Deprecated ir brightness api, fixed spatial_calculator_multi_roi example. * Update depthai-shared, update FW. * Sync shared with device side * Update shared on device and host * Bump FW to latest develop * Bump FW - bumped shared to latest. * Rename connectivity enum * Update README * Minor encframe test fixes * Bump fw * Added DEPTHAI_CRASHDUMP_TIMEOUT to determine crashdump timeout * TODO fix windows test * Changed crashdump timing * Bump shared * Clangformat * Fix readme * Bump fw * Bump shared * Bump fw and XLink * Bump fw * Add an example with IMU * Add new line at the end of the example * [RVC2 FW] Update FW with updated shared * added docstring for fisheye * Check for crash dump before getting * Update FW with a stability fix for timesync * Revert the XLink profiling to uint64_t change * Update FW and shared to develop * Fix the xlink profiling * Bump version to 2.24.0 * Update changelog and package xml --------- Co-authored-by: SzabolcsGergely <szabi@luxonis.com> Co-authored-by: alex-luxonis <alex@luxonis.com> Co-authored-by: TheMarpe <martin.peterlin7@gmail.com> Co-authored-by: Andrej Susnik <andrej.susnik@luxonis.com> Co-authored-by: szabi-luxonis <60790666+szabi-luxonis@users.noreply.github.com> Co-authored-by: TheMarpe <martin@luxonis.com> Co-authored-by: Aniel Alexa <aniel.alexa@luxonis.com> Co-authored-by: AnielAlexa <139551403+AnielAlexa@users.noreply.github.com> Co-authored-by: asahtik <asahtik@gmail.com> Co-authored-by: Erol444 <erol123444@gmail.com> Co-authored-by: saching13 <sachin.guruswamy@gmail.com> Co-authored-by: zrezke <jeretina.filip@gmail.com> Co-authored-by: asahtik <38485424+asahtik@users.noreply.github.com> Co-authored-by: Filip Jeretina <59307111+zrezke@users.noreply.github.com> Co-authored-by: alex-luxonis <60824841+alex-luxonis@users.noreply.github.com> Co-authored-by: moratom <47612463+moratom@users.noreply.github.com> Co-authored-by: Matevz Morato <matevz.morato@gmail.com>
Serafadam
added a commit
that referenced
this pull request
May 28, 2024
* Throw error when indexing non-existing message, changed example to use disparity * Improved example * Clangformat * Bump fw * Bump fw * Bump shared * Changed syncThreshold setter to use chrono duration * Bump shared * Bump fw * Handle shutdown returning false, bump fw * Bump fw * Changed the way crash reports are retrieved * Bump fw * Clangformat * Bump fw * Bump fw * IR Intensity API (#924) * Ir brightness control based on normalized intensity, instead of current. * Added IR intensity API * Update docstring. Point to correct device side commit. * Deprecated ir brightness api, fixed spatial_calculator_multi_roi example. * Update depthai-shared, update FW. * Sync shared with device side * Update shared on device and host * Bump FW to latest develop * Bump FW - bumped shared to latest. * Rename connectivity enum * Update README * Minor encframe test fixes * Bump fw * Added DEPTHAI_CRASHDUMP_TIMEOUT to determine crashdump timeout * TODO fix windows test * Changed crashdump timing * Bump shared * Clangformat * Fix readme * Bump fw * Bump shared * Bump fw and XLink * Bump fw * Add an example with IMU * Add new line at the end of the example * [RVC2 FW] Update FW with updated shared * added docstring for fisheye * Check for crash dump before getting * Update FW with a stability fix for timesync * Revert the XLink profiling to uint64_t change * Update FW and shared to develop * Fix the xlink profiling * Bump version to 2.24.0 * Fix build with gcc 13.2 toolchain To fix a couple compile errors along these lines, /usr/include/fmt/core.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) -- snip some typical C++ compiler noise -- src/device/DataQueue.cpp:296:45: required from here /usr/include/fmt/core.h:1580:7: error: static assertion failed: Cannot format an argument. avoid trying to format atomic_t directly, and instead pass in the simple type being protected by that atomic_t (which in this case, is size_t). Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> * Bump fw * Implemented PointCloudData message * Added PCL support * PCL Bugfixes * Added combined target * Fixed large buffer processing in MessageGroups * Improved pcl example * Fix test * clangformat * Fix a bug where watchdog is created and destroyed more than once * Added rgb pointcloud capability * Revert "Added rgb pointcloud capability" This reverts commit 56e3c0b. * Bump shared * Revert shared * Bump fw * Implemented sparse pointclouds * Clangformat * Bump fw * [RVC2] getStereoPairs (#941) * getStereoPairs. Skip getAvailableStereoPairs for now, since it may give weird results on RAE, or similar setups... * Formatting * Added isVertical to serialize * Updated device side shared * Impl << operator for StereoPair and vector<StereoPair> * getAvailableStereoPairs * Address #941 (comment) * Bump device side to develop. * Point shared to develop * [FW] point to same depthai-shared (ci fix) * Fix windows build. * Make the getSystemInformationLoggingRate() function work * Fix std::initializer_list reassignment * Added some pointcloud tests * Add intensity output * Remove deprecated methods, change toPclData to getPclData * Added ability to set the lens position via a float, to enable a more precies movement. (#954) * Added lensPositionRaw to ImgFrame and EncodedFrame * Updated videoEnc comments so docs will be updated. * Add missing includes. Fixes #964 * Add fw commit * Update depthai-shared * FW: fix CAM_C failing to stream in certain cases, with same sensor type on CAM_B * Support for OAK-T (#950) * thermal node for testing * Host thermal, for testing * added nnet experiment, non working... thermal2 experimenting * Cleanup Thermal node remains, clean up the example. * [FW] Add support for thermal. * Sync shared with device side, remove thermal nnet example for now, will add later when it works. Update device side commit. * Fix fw build. * Update examples/Camera/thermal_cam.cpp Co-authored-by: TheMarpe <martin@luxonis.com> * [FW] detect oak-ts with the new board name * shared * [FW] Drive IR leds in torch mode on oak_t. To get max brightness out of the leds both need to be enabled, using: setIrLaserDotProjector... setIrFloodLight... apis * Fix signal integrity issues at high ambient temperatures. * Bump shared * Added some comments to thermal_cam example. * Merged device side. * Remove thermal_cam example from tests --------- Co-authored-by: TheMarpe <martin@luxonis.com> * Add writeCcmEepromRaw RPC * DataQueue: catch packet parsing errors and return a null packet instead, with an `error` log * StreamMessageParser: add more details (size etc) to the 'bad packet' exceptions thrown * Example fixes & improvements, bump fw * Clangformat * Bugfix * ToF: add phase map output * Changed outdated code * Reduce amount of pointcloud copying * Pointcloud test fix * Tests fix 2 * Fix sparse pointcloud min z, fix tests * Add missing test argument * Alway join threads * Update README.md * Added transformation matrix support to pointcloud * Rename functions, update shared * Update depth align node, fix crash * Enhance camera features (#973) * Improve reporting of camera features. Added calibrationResolution and added fov rect to CameraSensorConfig * FW: -fix `setAutoExposureLimit` flicker during AF lens move, - IMX214 4K resolution timings were slightly off, also bump max FPS for it (up to 34), - VideoEncoder fix artifacts for multiple monochrome streams with different resolutions (OV9282 and AR0234), - fix potential crash with Script GPIO.setInterrupt with too high priority (<= 15, low value = high prio) * Bump version to 2.25.0 * Fix compiler warning * Move optimization for config * Update pointcloud data comments * Update comments for the PointCloud node * Expose the pool size for the pointcloud * Change to RH system * Update FW to develop * TMP FW with more logging for bad-packet debugging. Fix ImageManip potential OsDrvCpr crash * FIx macos build * Clean up comments * Remove irrelevant change * Add decoding pipeline * Try to fix a FW memory alignment issue * fix finding jsoncpp * FW: fix fsync for OAK-D-SR * Change IMU fw update status to int * Add cast node * Fix typo in docstring * Update Cast node with fixes * Handle multi input NN * Update ToF decoding algorithm * Update FW; fixed optical correction * Optimize wiggle correction * Handle edge cases; unsupported distortion coefficients * Add tilt projection support * Add phase unwrapping * Update phase unwrapping, add configurable levels * Device: add RPC setXLinkRateLimit for device transmit bandwidth throttling * Introduced `DeviceBootloader::getFlashedVersion` to retrieve the bootloader version flashed on the device. Fixed `isUserBootloaderSupported` - thereby fixed user bootloader flashing. (#997) * Introduced DeviceBootloader::getFlashedVersion to retrieve the bootloader version flashed on the device. Fixed isUserBootloaderSupported - thereby fixed user bootloader flashing. * Applied the suggestions * Fix sensor configs for ov9282/ov9782 (differentiate between color/mono when possible) * FW: fixes for IMX378 and IMX582: fix concurrent run, fix scaling with IMX378 THE_1352X1012 resolution, change Camera node best sensor config select to prioritize matching aspect ratio * Optimized decoding pipeline: 60->27 ms * Add jsoncpp with hunter * Make PCL include optional * Fixed booting issue on OAK D SR POE and OAK T. (#1002) * Fail loudly if PCL enabled, README changes * Conditionally add jsoncpp package * Add multi shave support for ToF decoding * Update ToF decoding: handle arbitrary sensor rotation * FW: fix default fsync GPIO state for OAK-FFC-4P R7, FSIN_4LANE GPIO42 = input, pull-down * Add phaseUnwrappingErrorThreshold config * Release 2.25.1 (#1005) * fix finding jsoncpp * FW: fix fsync for OAK-D-SR * Change IMU fw update status to int * Add tilt projection support * Introduced `DeviceBootloader::getFlashedVersion` to retrieve the bootloader version flashed on the device. Fixed `isUserBootloaderSupported` - thereby fixed user bootloader flashing. (#997) * Introduced DeviceBootloader::getFlashedVersion to retrieve the bootloader version flashed on the device. Fixed isUserBootloaderSupported - thereby fixed user bootloader flashing. * Applied the suggestions * Fix sensor configs for ov9282/ov9782 (differentiate between color/mono when possible) * FW: fixes for IMX378 and IMX582: fix concurrent run, fix scaling with IMX378 THE_1352X1012 resolution, change Camera node best sensor config select to prioritize matching aspect ratio * Add jsoncpp with hunter * Make PCL include optional * Fixed booting issue on OAK D SR POE and OAK T. (#1002) * Fail loudly if PCL enabled, README changes * Conditionally add jsoncpp package * FW: fix default fsync GPIO state for OAK-FFC-4P R7, FSIN_4LANE GPIO42 = input, pull-down * Bumped version to 2.25.1 * Fix FFC3P - not found after booting if ov9282 is connected. * Make getAllConnectedDevices consistent when no devices are found --------- Co-authored-by: Serafadam <serafadam@gmail.com> Co-authored-by: alex-luxonis <alex@luxonis.com> Co-authored-by: asahtik <asahtik@gmail.com> Co-authored-by: SzabolcsGergely <szabi@luxonis.com> Co-authored-by: asahtik <38485424+asahtik@users.noreply.github.com> Co-authored-by: Matevz Morato <matevz.morato@gmail.com> Co-authored-by: moratom <47612463+moratom@users.noreply.github.com> * FW: fix S5K33D ToF streaming when enabled on both sockets B and C, shared I2C bus * Fix feature tracker ID type deduction * FW: fsync shift on custom board * Add new eeprom content * Update FW: DepthAlign node implementeD * Update TOF decoding/eeprom content * Added enableBurstMode=false and enablePhaseShuffleTemporalFilter=true options. * Fall back to sensor EEPROM if onboard intrinsics or distortion coefficients are not found * Update temperature coefficients * FW, BL: fix a potential bootup/reboot failure, that required power cycle to recover from * Update FW; 10 bit amplitude, uint16; temperature calibration version check * Update interface * Fix stride size * (fix mistake in previous commit, FW ver was put in the wrong place) * Revert "DataQueue: catch packet parsing errors and return a null packet instead, with an `error` log". Note: reason for revert was underlying cause likely fixed, we'll probably revisit in future and keep exception throwing but not closing the queues on these potential bad packets This reverts commit 1a48df9. * Refactor DepthAlign -> ImageAlign * Remove readCcmEepromRaw, writeCcmEepromRaw * BL: update to 0.0.28 release version (bootup/restart fixes) * StreamMessageParser: check end-of-packet bytes, warn on mismatch, the warning usually can be ignored, but may indicate some issues * FW: update after merge. Fix style - `make clangformat` * Fix CI Remove CMake 3.10 test on macos-latest * DeviceBootloader: warning for potentially unstable flashed bootloader < 0.0.28 * FW: fix for MessageGroup parsing after the added end-of-packet marker * StreamMessageParser: apply end-of-packet marker in both directions * FW: stream parser marker merged, other changes: warp FP16 * Update FW * FW: ToF double raw stream FPS internally to get depth at configured FPS, for the default case (non-burst mode). Other ToF changes: - fix timestamps and sequence numbers - reduce device CPU load when ToF streams, depending on FPS - set the proper ToF exposure time in ImgFrame metadata, 796us max - warnings for FPS capping, 80 max recommended, 88 max possible (with reduced depth quality far away) * Update FW; handle edge cases * bump changelog * remove pcl dependency * ImageAlign: add multi shave support * [FW] Update FW with better increased MIPI priority for cameras * clangformat * Remove tau character from comments * Add the align examples * Remove unused example * Add the cast examples * Add the tof depth example * Add spatial examples for yolo * [FW] Update FW to develop * Cleanup * Clangformat * Bump version to v2.26.0 * FW: fix timings for OV9282 fsync at 400p on CAM_A * bump changelog and version --------- Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> Co-authored-by: asahtik <asahtik@gmail.com> Co-authored-by: asahtik <38485424+asahtik@users.noreply.github.com> Co-authored-by: Filip Jeretina <59307111+zrezke@users.noreply.github.com> Co-authored-by: alex-luxonis <alex@luxonis.com> Co-authored-by: alex-luxonis <60824841+alex-luxonis@users.noreply.github.com> Co-authored-by: moratom <47612463+moratom@users.noreply.github.com> Co-authored-by: Matevz Morato <matevz.morato@gmail.com> Co-authored-by: saching13 <sachin.guruswamy@gmail.com> Co-authored-by: Martin Peterlin <martin.peterlin7@gmail.com> Co-authored-by: S. Lockwood-Childs <sjl@vctlabs.com> Co-authored-by: TheMarpe <martin@luxonis.com> Co-authored-by: Jakob Socan <10517617+jakgra@users.noreply.github.com> Co-authored-by: Tommy <tomprochazka0@gmail.com> Co-authored-by: Erol444 <erol123444@gmail.com> Co-authored-by: Tommy Walker <77851258+whoactuallycares@users.noreply.github.com> Co-authored-by: SzabolcsGergely <szabi@luxonis.com> Co-authored-by: jakaskerl <53253318+jakaskerl@users.noreply.github.com> Co-authored-by: Szabolcs Gergely <60790666+SzabolcsGergely@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added ability to control IR brightness based on a normalized intensity instead of specifying the current.
Previous implementation of setting ir brightness was based on specifying the current in mA. After 765mA, the duty cycle was linearly interpolated from 30% to 6%, resulting in 765mA @ 30% duty cycle being the peak brightness, altho you could go up to 1200mA (for dot projector).
The new API takes a float on range [0, 1] as the ir (dot or flood) brightness and computes the dot proj. and flood light current, aswell as the duty cycle.
Duty cycle and current calculations: