Skip to content

Commit b43ea5d

Browse files
committed
Merge branch 'develop' into xlink_device_search_improvements
2 parents f362089 + 7ad4cdb commit b43ea5d

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

+861
-174
lines changed

.github/workflows/docker-hub.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ jobs:
1313
runs-on: ${{ matrix.os }}
1414
strategy:
1515
matrix:
16-
os: [ubuntu-latest, luxonis-armhf, ARM64]
16+
os: [ubuntu-latest, ARM, ARM64]
1717
include:
1818
- os: ubuntu-latest
1919
arch: amd64
20-
- os: luxonis-armhf
20+
- os: ARM
2121
arch: armv7
2222
- os: ARM64
2323
arch: armv8

.github/workflows/main.yml

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,72 @@ jobs:
6161
path: docstrings/
6262
retention-days: 1
6363

64+
65+
# Build and test bindings
66+
pytest:
67+
needs: build-docstrings
68+
strategy:
69+
matrix:
70+
os: [ubuntu-latest, windows-2019, macos-latest]
71+
runs-on: ${{ matrix.os }}
72+
steps:
73+
- name: Print home directory
74+
run: echo Home directory inside container $HOME
75+
76+
- name: Cache .hunter folder
77+
if: matrix.os != 'windows-latest'
78+
uses: actions/cache@v2
79+
with:
80+
path: ~/.hunter/
81+
key: hunter-pytest-${{ matrix.os }}
82+
- name: Cache .hunter folder
83+
if: matrix.os == 'windows-latest'
84+
uses: actions/cache@v2
85+
with:
86+
path: C:/.hunter/
87+
key: hunter-pytest-${{ matrix.os }}
88+
89+
- uses: actions/checkout@v2
90+
with:
91+
submodules: 'recursive'
92+
93+
- uses: actions/download-artifact@v2
94+
with:
95+
name: 'docstrings'
96+
path: docstrings
97+
- name: Specify docstring to use while building the wheel
98+
run: echo "DEPTHAI_PYTHON_DOCSTRINGS_INPUT=$PWD/docstrings/depthai_python_docstring.hpp" >> $GITHUB_ENV
99+
100+
- name: Set up Python ${{ matrix.python-version }}
101+
uses: actions/setup-python@v2
102+
with:
103+
python-version: "3.10"
104+
105+
- name: Install dependencies (Ubuntu)
106+
if: matrix.os == 'ubuntu-latest'
107+
run: |
108+
python -m pip install --upgrade pip
109+
sudo apt install libusb-1.0-0-dev
110+
111+
- name: Install dependencies (MacOS)
112+
if: matrix.os == 'macos-latest'
113+
run: |
114+
python -m pip install --upgrade pip
115+
brew install libusb
116+
117+
- name: Install pytest
118+
run: |
119+
python -m pip install pytest numpy
120+
121+
- name: Compile
122+
run: |
123+
cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D DEPTHAI_PYTHON_DOCSTRINGS_INPUT=$PWD/docstrings/depthai_python_docstring.hpp -D DEPTHAI_PYTHON_ENABLE_TESTS=ON
124+
cmake --build build --parallel 4
125+
- name: Test
126+
run: |
127+
cmake --build build --target pytest --config Release
128+
129+
64130
# This job builds wheels for armhf arch (RPi)
65131
build-linux-armhf:
66132
needs: build-docstrings
@@ -338,7 +404,7 @@ jobs:
338404

339405
release:
340406
if: startsWith(github.ref, 'refs/tags/v')
341-
needs: [build-linux-armhf, build-windows-x86_64, build-macos-x86_64, build-linux-x86_64, build-linux-arm64]
407+
needs: [pytest, build-linux-armhf, build-windows-x86_64, build-macos-x86_64, build-linux-x86_64, build-linux-arm64]
342408
runs-on: ubuntu-latest
343409

344410
steps:
@@ -369,7 +435,7 @@ jobs:
369435
body: |
370436
## Features
371437
372-
## Bugs
438+
## Bug fixes
373439
374440
## Misc
375441

ci/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN cd libusb-1.0.24 && \
1111
make -j && make install
1212

1313

14-
RUN pip install --extra-index-url https://www.piwheels.org/simple/ opencv-python
14+
RUN pip install -U pip && pip install --extra-index-url https://www.piwheels.org/simple/ --prefer-binary opencv-python
1515

1616
COPY . /depthai-python
1717
RUN cd /depthai-python && python3 -m pip install .

depthai-core

Submodule depthai-core updated 51 files

docs/ci.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ execute_process(COMMAND ${CMAKE_COMMAND}
1616
)
1717

1818
# Build
19-
execute_process(COMMAND ${CMAKE_COMMAND} --build build --parallel 3 WORKING_DIRECTORY ${project_root} COMMAND_ECHO STDOUT)
19+
execute_process(COMMAND ${CMAKE_COMMAND} --build build --parallel 2 WORKING_DIRECTORY ${project_root} COMMAND_ECHO STDOUT)

docs/source/components/bootloader.rst

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@ Bootloader
55

66
Depthai bootloader is a small program which aids in booting and updating bootloader or depthai application packages.
77

8-
To be able to run hostless, the Depthai bootloader must be first flashed to the devices flash.
9-
This step is required only once.
8+
To be able to run standalone (:ref:`documentation here <Standalone mode>`), the Depthai bootloader must be first
9+
flashed to the devices flash. This step is required only once.
1010

11-
Plug USB to the board
12-
Flash bootloader using DeviceBootloader::flashBootloader (Check Example at the bottom)
13-
Disconnect the board and switch the boot mode GPIO to the following settings: BOOT[4:0] : 01000 (see attached images for reference)
14-
Reassemble the board
11+
Once the device has the bootloader flashed, it will perform the same as before. Running pipelines with a host
12+
connected doesn’t require any changes.
1513

16-
Once the device has the bootloader flashed, it will perform the same as before. Running pipelines with a host connected doesn’t require any changes.
17-
18-
Suggested workflow is to perform as much of development as possible with the host connected as the iteration cycle is greatly improved.
14+
Suggested workflow is to perform as much of development as possible with the host connected as the
15+
iteration cycle is greatly improved.
1916

2017
Once desired pipeline is created, use the following function to flash: :code:`DeviceBootloader::flash`
2118

@@ -54,42 +51,4 @@ Depthai application package (**.dap**) consists of:
5451
- Assets structure (section “assets”)
5552
- Asset storage (section “asset_storage”)
5653

57-
Example
58-
#######
59-
60-
Following section will show an example of: Flashing bootloader (needed only once) and flashing a created Pipeline “myExamplePipeline” to the device
61-
(The example is written in Python, similar steps apply to C++)
62-
63-
#. **Flashing bootloader**
64-
65-
.. code-block:: python
66-
67-
import depthai as dai
68-
(f, bl) = dai.DeviceBootloader.getFirstAvailableDevice()
69-
bootloader = dai.DeviceBootloader(bl)
70-
progress = lambda p : print(f'Flashing progress: {p*100:.1f}%')
71-
bootloader.flashBootloader(progress)
72-
73-
.. note::
74-
Make sure to switch GPIO BOOT mode settings (See image below for more details)
75-
76-
#. **Flashing created pipeline**
77-
78-
.. code-block:: python
79-
80-
import depthai as dai
81-
# ...
82-
# Create Pipeline 'myExamplePipeline'
83-
# ...
84-
(f, bl) = dai.DeviceBootloader.getFirstAvailableDevice()
85-
bootloader = dai.DeviceBootloader(bl)
86-
progress = lambda p : print(f'Flashing progress: {p*100:.1f}%')
87-
bootloader.flash(progress, myExamplePipeline)
88-
89-
90-
GPIO boot settings. Boot settings must be set as following: BOOT[4:0] : 01000 and GPIO58 (WAKEUP): 0
91-
92-
.. image:: /_static/images/components/boot-depthai.jpeg
93-
:alt: boot-depthai
94-
9554
.. include:: ../includes/footer-short.rst

docs/source/components/messages/camera_control.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ CameraControl
22
=============
33

44
This message is used for controlling the :ref:`color camera <ColorCamera>` as well as the :ref:`mono camera <MonoCamera>`.
5-
The message handles things like capturing still images, confifguring auto focus, anti banding, white balance,
5+
The message handles things like capturing still images, configuring auto focus, anti banding, white balance,
66
scenes, effects etc.
77

88
Examples of functionality

docs/source/components/nodes/color_camera.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,14 @@ Usage
8686
cam->setInterleaved(false);
8787
cam->setColorOrder(dai::ColorCameraProperties::ColorOrder::RGB);
8888

89+
Limitations
90+
###########
91+
92+
Here are known camera limitations for the Myriad X:
93+
94+
- **ISP can process about 600 MP/s**, and about **500 MP/s** when the pipeline is also running NNs and video encoder in parallel
95+
- **3A algorithms** can process about **200..250 FPS overall** (for all camera streams). This is a current limitation of our implementation, and we have plans for a workaround to run 3A algorithms on every Xth frame, no ETA yet
96+
8997
Examples of functionality
9098
#########################
9199

docs/source/components/nodes/image_manip.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ Limitations
7979

8080
Besides limitations mentioned above (unsupported frame formats), there are other limitations:
8181

82-
- Due to HW warp constraint, rotating/warping can be done only on frames whose width values are multiples of 16.
82+
- Due to HW warp constraint, rotating/warping can be done only on frames whose width values are multiples of 16
83+
- Maximum output width of a frame is 1920 pixels
8384

8485
Examples of functionality
8586
#########################

docs/source/components/nodes/imu.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,14 @@ List of devices that have an IMU sensor on-board:
8787
* `OAK-D <https://docs.luxonis.com/projects/hardware/en/latest/pages/BW1098OAK.html>`__
8888
* `OAK-D-IoT-40 <https://docs.luxonis.com/projects/hardware/en/latest/pages/DM1092.html>`__
8989
* `OAK-D-IoT-75 <https://docs.luxonis.com/projects/hardware/en/latest/pages/DM1098OBC.html>`__
90-
* `OAK-D-CM4 <https://docs.luxonis.com/projects/hardware/en/latest/pages/DM1097.html>`__
9190
* `OAK-D-PoE <https://docs.luxonis.com/projects/hardware/en/latest/pages/SJ2088POE.html>`__
91+
* `OAK-D CM4 PoE <https://docs.luxonis.com/projects/hardware/en/latest/pages/SJ2088POE.html>`__
9292
* `OAK-FFC-3P <https://docs.luxonis.com/projects/hardware/en/latest/pages/DM1090.html>`__
93-
* OAK-D-Pro
94-
* OAK-WD-Pro
93+
* `OAK-FFC-4P <https://docs.luxonis.com/projects/hardware/en/latest/pages/DD2090.html>`__
94+
* `OAK-D Pro <https://docs.luxonis.com/projects/hardware/en/latest/pages/DM9098pro.html>`__ (All varients)
95+
* `OAK-D S2 <https://docs.luxonis.com/projects/hardware/en/latest/pages/DM9098s2.html>`__ (All varients)
96+
* `OAK-D S2 PoE <https://docs.luxonis.com/projects/hardware/en/latest/pages/NG9097s2.html>`__ (All varients)
97+
* `OAK-D Pro PoE <https://docs.luxonis.com/projects/hardware/en/latest/pages/NG9097pro.html>`__ (All varients)
9598

9699

97100
IMU sensors

0 commit comments

Comments
 (0)