Skip to content

Commit c8bf70b

Browse files
saching13alex-luxonisthemarpeSzabolcsGergelySzabolcsGergely
authored
Ros release 2.20.1 (#706)
* 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 * FW: OV9282 720p/800p max FPS: 60 -> 120 * 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 * Stability test - limit FPS (#633) * Print CPU usage * Limit the FPS so POE devices aren't maxed out * Increase FPS * Reverse changes to the system logger example Co-authored-by: TheMarpe <[email protected]> Co-authored-by: Matevz Morato <[email protected]> * Added getProductName * Added ids to IO for trace events * Modified pipeline schema dump to happen on trace log level as well * Renamed to getDeviceName and added some legacy handling * Updated FW with productName as protected field and ImageManip behavior revert * Updated style * Added IR driver support for new OAK-FFC 4P * FW: bugfix for device bootup with default static IP * OAK-FFC 4P R5M1E5 IR/Dot support * Bump to v2.19.1 * Added EepromError exception class and improved exception handling in calibration related methods * Increased limit on DeviceBootloader monitor timeout * Fixed check for user-provided toolchain file when given relative path (#645) * Fixed check for user-provided toolchain file when given relative path * WIP: camera/socket board configuration and capability to specify name/alias for a camera instead of socket * Updated Bootloader to v0.0.22 * Added camera naming capabilites, setting and retrieving. WIP: rest of devices * FW/CameraControl: fix still-capture for sockets other than RGB/center * [FW] Fixed ImageManip + Subpixel issues and added FFC camera naming * get/set camera FrameEvent filter * Update depthai-shared submodule * Disable depthai-shared commit hash check * Change github workflows ubuntu version * Update submodule * Rename event filter * fix #650 missing XLinkProtocolToStr() (#657) - add local xlinkproto -> string from luxonis/XLink/tree/5c61615066af6539e50a4a17b5df3466e4350b21 * Updated grammar * Update firmware * WIP: Camera node * Added capability to set XLink logging level via XLINK_LEVEL env var * Replace "_CMAKE_" variables with "_DEPTHAI_" (#662) "_CMAKE_" variables are reserved for internal use and should not be used. This change also makes it harder for other CMake scripts to accidentall overwrite this variable. Co-authored-by: Cameron Blomquist <[email protected]> * Add comments * Update FW: Add missing python bindings for boundingBoxMapping * Updated NETWORK Bootloader with dual protocol capabilities * [FW] Fixed a bug in board downselection. OAK-D S2/Pro camera enumeration fix. * [FW] Added support for Mono video/preview in Camera node * CI - Fixed style & tidy jobs * Updated dual BL to v0.0.23 temporary build * Added OAK-D-LR support. WIP: Orientation capability * [FW/XLink] Explicitly limited to single connection * ImageManip added colormap capability. TODO min/max range selection * Add option to override baseline and/or focal length for disparity to depth conversion * [FW] OAK-D-LR - Fixed default image orientation * Updated brief description that affects docs of the DetectionParser node. * Modified API of Camera a bit * Updated FW with Camera changes and warp capabilities * Updated FW with Camera warp capabilities * Added dai::span * Added undistort/warp API to Camera node * FW - Modifed watchdog to do a graceful reset instead * Added additional API to retrieve timestamps at various exposure points * Fixed documentation on ObjectTracker::setMaxObjectsToTrack * WIP: mockIsp capabilities * [FW] Fix for CAM_C not being detected * Device - Added non exclusive boot option * Slight Colormap API improvements * [FW] Added OpenVINO version 'universal' * Added DeviceBase convinience constructors taking name or deviceid as string * Disabled some of the functionality for now * Tweaked getTimestamp & exposure offset API * FW: IMX296 support, added THE_1440x1080 resolution * FW: IMX296 Camera node, IMX378 1080p limited to 60fps * Bump version to 2.20.0 * Applied formatting * Temporary revert to macos-11 for CI due to Catch2 issues * Modified OpenVINO::VERSION_UNIVERSAL * Updated Bootloader to 0.0.24 * Bump version and FW to 2.20.1 (Status LEDs improvement) * calibration_flash example fix * removed old functions * updated changelogs * updated 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: camblomquist <[email protected]> Co-authored-by: Tommy <[email protected]> Co-authored-by: Dale Phurrough <[email protected]> Co-authored-by: Erol444 <[email protected]> Co-authored-by: Cameron Blomquist <[email protected]>
1 parent 46de84b commit c8bf70b

Some content is hidden

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

48 files changed

+1754
-101
lines changed

.github/workflows/main.workflow.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ on:
2020
jobs:
2121

2222
style:
23-
runs-on: ubuntu-latest
23+
runs-on: ubuntu-20.04
2424

2525
steps:
2626
- uses: actions/checkout@v3
@@ -39,7 +39,7 @@ jobs:
3939

4040

4141
tidy:
42-
runs-on: ubuntu-latest
42+
runs-on: ubuntu-20.04
4343

4444
steps:
4545
- uses: actions/checkout@v3
@@ -62,7 +62,7 @@ jobs:
6262
runs-on: ${{ matrix.os }}
6363
strategy:
6464
matrix:
65-
os: [macos-latest, windows-latest, ubuntu-latest]
65+
os: [macos-11, windows-latest, ubuntu-latest]
6666
cmake: ['3.10.x', ''] # Older version (Ubuntu 18.04) and newest
6767
exclude:
6868
- os: windows-latest
@@ -92,7 +92,7 @@ jobs:
9292
cmake-version: ${{ matrix.cmake }}
9393

9494
- name: Install dependencies
95-
if: matrix.os == 'macos-latest'
95+
if: matrix.os == 'macos-11'
9696
run: |
9797
brew install opencv
9898
@@ -131,7 +131,7 @@ jobs:
131131
runs-on: ${{ matrix.os }}
132132
strategy:
133133
matrix:
134-
os: [macos-latest, windows-latest, ubuntu-latest]
134+
os: [macos-11, windows-latest, ubuntu-latest]
135135
build-type: [Debug, Release]
136136
shared: [true, false]
137137
platform: [x64]
@@ -163,7 +163,7 @@ jobs:
163163
submodules: 'recursive'
164164

165165
- name: Install dependencies
166-
if: matrix.os == 'macos-latest'
166+
if: matrix.os == 'macos-11'
167167
run: |
168168
brew install opencv
169169

CHANGELOG.rst

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

5+
2.20.1 (2022-01-29)
6+
-----------
7+
* Modified OpenVINO::VERSION_UNIVERSAL API improvements / backward compatibility
8+
* Bootloader version 0.0.24 (fixes for standalone / flashed usecases)
9+
* [FW] Status LEDs on some additional devices
10+
* Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin
11+
512
2.19.1 (2022-11-28)
613
-----------
714
* Added Device getDeviceName API

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ endif()
88

99
set(HUNTER_SKIP_PACKAGE_nlohmann_json OFF)
1010
set(BUILD_SHARED_LIBS ON)
11+
# Set type to canonicalize relative paths for user-provided toolchain
12+
set(CMAKE_TOOLCHAIN_FILE "" CACHE FILEPATH "CMake toolchain path")
1113

1214
# Create a custom toolchain to pass certain options to dependencies
1315
set(gen_toolchain "${CMAKE_CURRENT_BINARY_DIR}/generated/toolchain.cmake")
@@ -43,7 +45,7 @@ if(WIN32)
4345
endif()
4446

4547
# Create depthai project
46-
project(depthai VERSION "2.19.1" LANGUAGES CXX C)
48+
project(depthai VERSION "2.20.1" LANGUAGES CXX C)
4749
get_directory_property(has_parent PARENT_DIRECTORY)
4850
if(has_parent)
4951
set(DEPTHAI_VERSION ${PROJECT_VERSION} PARENT_SCOPE)
@@ -204,6 +206,7 @@ add_library(${TARGET_CORE_NAME}
204206
src/pipeline/node/XLinkIn.cpp
205207
src/pipeline/node/XLinkOut.cpp
206208
src/pipeline/node/ColorCamera.cpp
209+
src/pipeline/node/Camera.cpp
207210
src/pipeline/node/MonoCamera.cpp
208211
src/pipeline/node/StereoDepth.cpp
209212
src/pipeline/node/NeuralNetwork.cpp
@@ -323,7 +326,7 @@ endif()
323326

324327
# Then get the Depthai device side binaries (local or download)
325328
if(DEPTHAI_CMD_PATH OR DEPTHAI_USB2_CMD_PATH OR DEPTHAI_USB2_PATCH_PATH)
326-
# Atleast one of the paths is set. include binaries locally
329+
# At least one of the paths is set. include binaries locally
327330
message(STATUS "Using local Depthai device side binaries...")
328331

329332
DepthaiLocal(

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ The following environment variables can be set to alter default behavior of the
146146
| Environment variable | Description |
147147
|--------------|-----------|
148148
| DEPTHAI_LEVEL | Sets logging verbosity, 'trace', 'debug', 'warn', 'error' and 'off' |
149+
| XLINK_LEVEL | Sets logging verbosity of XLink library, 'debug'. 'info', 'warn', 'error', 'fatal' and 'off' |
149150
| DEPTHAI_INSTALL_SIGNAL_HANDLER | Set to 0 to disable installing Backward signal handler for stack trace printing |
150151
| DEPTHAI_WATCHDOG | Sets device watchdog timeout. Useful for debugging (`DEPTHAI_WATCHDOG=0`), to prevent device reset while the process is paused. |
151152
| DEPTHAI_WATCHDOG_INITIAL_DELAY | Specifies delay after which the device watchdog starts. |

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.21")
7-
# set(DEPTHAI_BOOTLOADER_VERSION "0.0.21+050d0a19edf9747082ae8c3852e09a1764304f78")
6+
set(DEPTHAI_BOOTLOADER_VERSION "0.0.24")
7+
# set(DEPTHAI_BOOTLOADER_VERSION "0.0.23+9704fa354a72599286e0be08663cee084266fda6")

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 "adbcc016c8bd5a5580a26d8b6250f77160203666")
5+
set(DEPTHAI_DEVICE_SIDE_COMMIT "f888710ca677ca662a4a83103e57c5a1ae2a5c7f")
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/5c61615066af6539e50a4a17b5df3466e4350b21.tar.gz"
12-
SHA1 "25fba41da891743bf0bdff5bc9a5cda07535be49"
11+
URL "https://github.com/luxonis/XLink/archive/1ef2f960eec66540891434c9a3341c11e66e4360.tar.gz"
12+
SHA1 "23641bb9ae698d0e016abcce349094a38577838b"
1313
)
1414

1515
hunter_config(

cmake/depthaiDependencies.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
if(CONFIG_MODE)
2-
set(_CMAKE_PREFIX_PATH_ORIGINAL ${CMAKE_PREFIX_PATH})
3-
set(_CMAKE_FIND_ROOT_PATH_MODE_PACKAGE_ORIGINAL ${CMAKE_FIND_ROOT_PATH_MODE_PACKAGE})
2+
set(_DEPTHAI_PREFIX_PATH_ORIGINAL ${CMAKE_PREFIX_PATH})
3+
set(_DEPTHAI_FIND_ROOT_PATH_MODE_PACKAGE_ORIGINAL ${CMAKE_FIND_ROOT_PATH_MODE_PACKAGE})
44
# Fixes Android NDK build, where prefix path is ignored as its not inside sysroot
55
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE "BOTH")
66
# Sets where to search for packages about to follow
@@ -87,11 +87,11 @@ endif()
8787

8888
# Cleanup
8989
if(CONFIG_MODE)
90-
set(CMAKE_PREFIX_PATH ${_CMAKE_PREFIX_PATH_ORIGINAL})
91-
set(_CMAKE_PREFIX_PATH_ORIGINAL)
92-
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ${_CMAKE_FIND_ROOT_PATH_MODE_PACKAGE_ORIGINAL})
93-
set(_CMAKE_FIND_ROOT_PATH_MODE_PACKAGE_ORIGINAL)
94-
set(_QUIET)
90+
set(CMAKE_PREFIX_PATH ${_DEPTHAI_PREFIX_PATH_ORIGINAL})
91+
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ${_DEPTHAI_FIND_ROOT_PATH_MODE_PACKAGE_ORIGINAL})
92+
unset(_DEPTHAI_PREFIX_PATH_ORIGINAL)
93+
unset(_DEPTHAI_FIND_ROOT_PATH_MODE_PACKAGE_ORIGINAL)
94+
unset(_QUIET)
9595
else()
9696
set(DEPTHAI_SHARED_LIBS)
9797
endif()

examples/ColorCamera/rgb_preview.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,7 @@ int main() {
2727
// Connect to device and start pipeline
2828
dai::Device device(pipeline, dai::UsbSpeed::SUPER);
2929

30-
cout << "Connected cameras: ";
31-
for(const auto& cam : device.getConnectedCameras()) {
32-
cout << cam << " ";
33-
}
34-
cout << endl;
30+
cout << "Connected cameras: " << device.getConnectedCameraFeatures() << endl;
3531

3632
// Print USB speed
3733
cout << "Usb speed: " << device.getUsbSpeed() << endl;

examples/bootloader/flash_bootloader.cpp

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,28 @@
55
#include "depthai/depthai.hpp"
66
#include "depthai/xlink/XLinkConnection.hpp"
77

8+
static const char* ProtocolToStr(XLinkProtocol_t val) {
9+
switch(val) {
10+
case X_LINK_USB_VSC:
11+
return "X_LINK_USB_VSC";
12+
case X_LINK_USB_CDC:
13+
return "X_LINK_USB_CDC";
14+
case X_LINK_PCIE:
15+
return "X_LINK_PCIE";
16+
case X_LINK_IPC:
17+
return "X_LINK_IPC";
18+
case X_LINK_TCP_IP:
19+
return "X_LINK_TCP_IP";
20+
case X_LINK_NMB_OF_PROTOCOLS:
21+
return "X_LINK_NMB_OF_PROTOCOLS";
22+
case X_LINK_ANY_PROTOCOL:
23+
return "X_LINK_ANY_PROTOCOL";
24+
default:
25+
return "INVALID_ENUM_VALUE";
26+
break;
27+
}
28+
}
29+
830
int main(int argc, char** argv) {
931
using namespace std::chrono;
1032

@@ -29,7 +51,7 @@ int main(int argc, char** argv) {
2951
} else {
3052
for(int i = 0; i < deviceInfos.size(); i++) {
3153
const auto& devInfo = deviceInfos[i];
32-
std::cout << "[" << i << "] " << devInfo.getMxId() << "[" << XLinkProtocolToStr(devInfo.protocol) << "]";
54+
std::cout << "[" << i << "] " << devInfo.getMxId() << "[" << ProtocolToStr(devInfo.protocol) << "]";
3355
if(devInfo.state == X_LINK_BOOTLOADER) {
3456
dai::DeviceBootloader bl(devInfo);
3557
std::cout << " current bootloader: " << bl.getVersion();

0 commit comments

Comments
 (0)