Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
f130fc2
Add mode and median support to SLC
Jan 17, 2023
f8599ff
Fix binding for MEDIAN
Jan 17, 2023
f75dda8
Merge branch 'main' into develop
themarpe Jan 21, 2023
3711dff
Merge remote-tracking branch 'origin/develop' into slc_mode_median
Jan 23, 2023
bd5ad07
Update FW
Jan 23, 2023
4a9b9f5
Started adding warp node docs
Erol444 Jan 25, 2023
bd317aa
Added docs for the two warp node examples
Erol444 Jan 25, 2023
589f44f
Added credits
Erol444 Jan 25, 2023
73931f0
FW: fix crash with ColorCamera at high resolution and certain ISP sca…
alex-luxonis Jan 25, 2023
94b2a17
Added IMU docs max freq
Erol444 Jan 26, 2023
35c0a8c
Driver limitation
Erol444 Jan 26, 2023
3be64e0
Implement multi stereo support
Jan 26, 2023
0773c1a
Merge remote-tracking branch 'origin/develop' into multi_stereo_support
Jan 27, 2023
8b9765d
Merge remote-tracking branch 'origin/main' into multi_stereo_support
Jan 27, 2023
6e3f2fc
Merge remote-tracking branch 'origin/main' into HEAD
Jan 27, 2023
a821db9
Implement brightness filter
Jan 27, 2023
b5f9400
Merge 'release_2.20.2' into develop
alex-luxonis Jan 27, 2023
e09e137
Added IMUReport python bindings for getSequenceNum
Erol444 Jan 27, 2023
2ee8926
Merge remote-tracking branch 'origin/develop' into imu_docs_update
Erol444 Jan 28, 2023
3bd8225
Merge remote-tracking branch 'origin/develop' into warp_node
Erol444 Jan 28, 2023
ab23c28
Update FW: Fix OOM due to too many SIPP pipelines
Jan 28, 2023
22b2aa7
Merge pull request #748 from luxonis/imu_docs_update
Erol444 Jan 28, 2023
c16e3a9
Merge pull request #753 from luxonis/bindings_imureport_seq_num
themarpe Jan 30, 2023
548b444
Merge pull request #745 from luxonis/warp_node
Erol444 Jan 30, 2023
83219ef
FW: handle EEPROM `boardOptions` bit 7 for separate I2C on L/R
alex-luxonis Jan 30, 2023
88aa2b9
Merge remote-tracking branch 'origin/develop' into HEAD
Jan 30, 2023
05b52d0
Update FW: support for stereo alignment to original left or right inp…
Feb 1, 2023
758fa0d
Merge 'origin/main' into develop
alex-luxonis Feb 1, 2023
f3d968a
Update FW: parsing optimization and improvements for Yolo v6, v6r2, v8
Feb 1, 2023
1092b55
Merge remote-tracking branch 'origin/develop' into HEAD
Feb 1, 2023
60d5688
Add option to swap left right cameras
Feb 2, 2023
4e1e53f
Merge remote-tracking branch 'origin/develop' into HEAD
Feb 2, 2023
7888c4a
Update FW w/ syncing stall fix
Feb 2, 2023
be029bc
Remove calibration swap
Feb 2, 2023
a504e6e
Update stereo with more robust frame sync
Feb 2, 2023
57cf5b9
Update FW with optional override of spec translation for stereo algor…
Feb 3, 2023
e7c099b
Correct typo
Feb 3, 2023
a3f66b6
Expose center alignment scale factor for debug purposes
Feb 4, 2023
20eb39f
Expose SIPP mempool configurable sizes
Feb 4, 2023
d015cab
Update FW before merge
Feb 6, 2023
5993c8f
Merge remote-tracking branch 'origin/develop' into HEAD
Feb 6, 2023
474ce08
Fixed usage of DeviceBootloader with incomplete DeviceInfo and added …
themarpe Feb 6, 2023
6a97752
Add alpha scaling option for StereoDepth
Feb 6, 2023
d568424
Merge remote-tracking branch 'origin/develop' into stereo_alpha_scaling
Feb 6, 2023
4963f8f
Update FW before merge
Feb 7, 2023
1dd975c
Update FW with RGB alignment fix
Feb 7, 2023
db8ffa7
Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled…
Feb 7, 2023
7d30bb1
Improve spatial calculation X and Y accuracy; fix RGB alignment when …
Feb 8, 2023
03f8764
Add crash dump functionality
Feb 10, 2023
d1162f3
Add commit hash to crash dump
Feb 10, 2023
b52e347
Add json serializer to crash dump
Feb 10, 2023
2dc7665
Update example
Feb 10, 2023
419bab2
Add hasCrashDump API
Feb 13, 2023
e570d58
Update crash report example
Feb 13, 2023
ba8fdc5
Update core/FW
Feb 13, 2023
76cfa60
Update FW, crash dump contains device ID
Feb 14, 2023
e05b128
Merge remote-tracking branch 'origin/develop' into HEAD
Feb 14, 2023
9c3e940
Enable MEDAIN spatial calculation method for SpatialDetectionNetwork
Feb 14, 2023
19c950b
Update core
Feb 14, 2023
7bd6f71
Update core/examples
Feb 15, 2023
82c0e7e
FW: HW sync (trigger mode) enabled for OAK-D-LR, for cameras with mat…
alex-luxonis Feb 19, 2023
821e4b3
Add missing binding to SpatialLocations
Feb 20, 2023
9a1a60c
Change default SIPP buffer sizes
Feb 21, 2023
43cb3c2
Add 3A skipping option to reduce CPU usage
Feb 23, 2023
0d9b14b
Change API to be able to configure isp 3A FPS
Feb 25, 2023
8078873
Add isp3aFps to cam_test
Feb 25, 2023
e67ae76
Update BoarConfig with limits
Feb 27, 2023
ab45c20
Update script node python bindings
Feb 27, 2023
0aa3c4b
Merge remote-tracking branch 'origin/develop' into HEAD
Feb 28, 2023
4d72d28
Update FW: Add workaround for BNO sequence number limit of 256 (senso…
Mar 1, 2023
4a472a5
FW: camera sensor improvements:
alex-luxonis Mar 2, 2023
e05772c
Enable interrupt mode: Update BMI driver with fixes from: https://git…
Mar 3, 2023
ba9c00f
Add API to set trackingPerClass in ObjectTracker node
Mar 3, 2023
a595169
Merge remote-tracking branch 'origin/develop' into HEAD
Mar 5, 2023
4af0681
Merge pull request #777 from luxonis/bmi270_interrupt_mode
SzabolcsGergely Mar 5, 2023
9ceb05e
Update FW with IMU fix for BNO
Mar 5, 2023
bb95b30
Add IMU versioning; firmware versioning, firmware update status callb…
Mar 6, 2023
30ceb4a
Update FW with fix for BMI timestamp
Mar 6, 2023
9fcde64
Update FW: IMU support for OAK-D-SR
Mar 6, 2023
f12d6d1
Fix 'default constrictible' error on some compilers
Mar 7, 2023
d218eda
Update core
Mar 7, 2023
b562769
Add IMU FW update RPC
Mar 7, 2023
99e77ed
Merge remote-tracking branch 'origin/develop' into HEAD
Mar 7, 2023
f585476
Update core
Mar 7, 2023
38a10e7
Update API; examples
Mar 8, 2023
bb5644f
Update FW with deprecation warning for enableFirmwareUpdate
Mar 8, 2023
09595fe
Merge remote-tracking branch 'origin/develop' into HEAD
Mar 8, 2023
2f91547
Change imu version to imu type
Mar 8, 2023
a68bf1a
Update core
Mar 9, 2023
ca95125
Merge pull request #778 from luxonis/imu_version_query
SzabolcsGergely Mar 9, 2023
dd39439
[FW] Added missing bindings for CameraControl and ImgFrame
themarpe Mar 13, 2023
4895b00
RGB depth alignment add docs on high-res color stream
Erol444 Feb 17, 2023
cb982ff
VideoENcoder docs elaboration on lossy codecs
Erol444 Feb 17, 2023
6b6807c
Added cameraSensorConfig python bindings. Not tested
Erol444 Mar 13, 2023
f83c0e5
Merge pull request #785 from luxonis/camSensorConfig
themarpe Mar 13, 2023
f3d8718
Added dai.Node.Output missing bindings, not tested
Erol444 Mar 15, 2023
429a337
I hope docs will build now
Erol444 Mar 15, 2023
6f79483
Merge pull request #787 from luxonis/bindings_add_nodeOutput
Erol444 Mar 15, 2023
4908861
Update FW with fix for calibration load example
Mar 16, 2023
e8baf31
Merge remote-tracking branch 'origin/develop' into HEAD
Mar 16, 2023
b4f59d8
[FW] Removed UTF-8 degree sign from temperature prints
themarpe Mar 19, 2023
e0bf36d
Move sipp buffer size from BoardConfig to GlobalProperties
Mar 20, 2023
32a4974
Update core
Mar 20, 2023
87c3b9b
Updated nn latency docs
Erol444 Mar 23, 2023
5d7eb49
Updating docs as per PR review
Erol444 Mar 24, 2023
a96b4fd
Fix building docs
Erol444 Mar 25, 2023
b79edc1
Merge pull request #793 from luxonis/nn_latency_docs
Erol444 Mar 25, 2023
0ed96eb
[Stereo] Add option to invalidate edge pixels on disparity/depth frame
Mar 27, 2023
5e037c0
Add missing bindings
Mar 27, 2023
d393b77
Update FW: handle disparity flipping
Mar 27, 2023
e0f7e37
Update FW: support for stereo.setOutputSize when LEFT or RIGHT alignm…
Mar 28, 2023
504b5fb
Merge remote-tracking branch 'origin/main' into HEAD
Mar 28, 2023
e972b3b
Update FW: support for stereo between RGB and LEFT/RIGHT
Mar 28, 2023
f29998d
[FW] ImageManip CSC improvements, New boards and power cycle fix
themarpe Mar 30, 2023
56249c3
Merge remote-tracking branch 'origin/disparity_invalidation' into HEAD
Mar 31, 2023
4d7b1ee
FW: fix for UART0 / '/dev/ttyS0' init failure in Script node
alex-luxonis Mar 31, 2023
6f91dba
Update FW with fix for USB devices after reboot
Mar 31, 2023
1f162f1
Release v2.21.0.0
Apr 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .github/workflows/test-install-dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: OS Support

on:
workflow_dispatch:
push:
paths:
- 'docs/source/_static/install_dependencies.sh'
- 'examples/install_requirements.py'
pull_request:
paths:
- 'docs/source/_static/install_dependencies.sh'
- 'examples/install_requirements.py'

jobs:
test_linux:
runs-on: ubuntu-latest
strategy:
matrix:
container_image: ["fedora:34", "fedora:35", "fedora:36", "ubuntu:18.04", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:22.10"]
container:
image: ${{ matrix.container_image }}
steps:
- uses: actions/checkout@v3
- name: Install sudo
if: startsWith(matrix.container_image, 'fedora') == true
run: yum update -y && yum install -y sudo
- name: Install sudo
if: startsWith(matrix.container_image, 'ubuntu') == true
run: apt-get update -qq && apt-get -qq install sudo
- name: Install dependencies
run: |
ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone # Otherwise tzdata installer prompts for user input
sed '/udevadm control --reload-rules && sudo udevadm trigger/d' docs/source/_static/install_dependencies.sh > tmp_script.sh # Doesn't work on docker
bash tmp_script.sh
- name: Install example requirements
run: |
python3 examples/install_requirements.py
test_macos:
strategy:
matrix:
os: ["macos-11", "macos-12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sed '/udevadm control --reload-rules && sudo udevadm trigger/d' docs/source/_static/install_dependencies.sh > tmp_script.sh
bash tmp_script.sh
- name: Install example requirements
run: |
python3 examples/install_requirements.py
test_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Download chocolatey
shell: pwsh
run: Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- name: Install dependencies
shell: pwsh
run: choco install cmake git python pycharm-community -y
- name: Install example requrirements
run: |
python examples/install_requirements.py
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ wheelhouse/
.venv
env/
venv/
venv_*/
ENV/
env.bak/
venv.bak/
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ pybind11_add_module(${TARGET_NAME}
src/pipeline/node/XLinkInBindings.cpp
src/pipeline/node/XLinkOutBindings.cpp
src/pipeline/node/ColorCameraBindings.cpp
src/pipeline/node/CameraBindings.cpp
src/pipeline/node/MonoCameraBindings.cpp
src/pipeline/node/StereoDepthBindings.cpp
src/pipeline/node/NeuralNetworkBindings.cpp
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ If `TEST_TIMEOUT=0`, the test will run until stopped or it ends.

## Tested platforms

- Windows 10
- Ubuntu 16.04, 18.04;
- Windows 10, Windows 11
- Ubuntu 18.04, 20.04, 22.04;
- Raspbian 10;
- macOS 10.14.6, 10.15.4;

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 9 additions & 21 deletions docs/source/_static/install_dependencies.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash

trap 'RET=$? ; echo -e >&2 "\n\x1b[31mFailed installing dependencies. Could be a bug in the installer or unsupported platform. Open a bug report over at https://github.com/luxonis/depthai - exited with status $RET at line $LINENO \x1b[0m\n" ; exit $RET' ERR
trap 'RET=$? ; echo -e >&2 "\n\x1b[31mFailed installing dependencies. Could be a bug in the installer or unsupported platform. Open a bug report over at https://github.com/luxonis/depthai - exited with status $RET at line $LINENO \x1b[0m\n" ;
exit $RET' ERR

readonly linux_pkgs=(
python3
Expand Down Expand Up @@ -50,7 +51,7 @@ readonly ubuntu_pkgs_pre22_04=(
libdc1394-22-dev
)

readonly ubuntu_pkgs_22_04=(
readonly ubuntu_pkgs_post22_04=(
"${ubuntu_pkgs[@]}"
libdc1394-dev
)
Expand Down Expand Up @@ -96,26 +97,11 @@ print_and_exec () {
if [[ $(uname) == "Darwin" ]]; then
echo "During Homebrew install, certain commands need 'sudo'. Requesting access..."
sudo true
arch_cmd=
if [[ $(uname -m) == "arm64" ]]; then
arch_cmd="arch -x86_64"
echo "Running in native arm64 mode, will prefix commands with: $arch_cmd"
# Check if able to run with x86_64 emulation
retcode=0
$arch_cmd true || retcode=$?
if [[ $retcode -ne 0 ]]; then
print_action "=== Installing Rosetta 2 - Apple binary translator"
# Prompts the user to agree to license: <A> <Enter>
# Could be automated by adding: --agree-to-license
print_and_exec softwareupdate --install-rosetta
fi
fi
homebrew_install_url="https://raw.githubusercontent.com/Homebrew/install/master/install.sh"
print_action "Installing Homebrew from $homebrew_install_url"
# CI=1 will skip some interactive prompts
CI=1 $arch_cmd /bin/bash -c "$(curl -fsSL $homebrew_install_url)"
print_and_exec $arch_cmd brew install python3 git
print_and_exec python3 -m pip install -U pip
CI=1 /bin/bash -c "$(curl -fsSL $homebrew_install_url)"
print_and_exec brew install git
echo
echo "=== Installed successfully! IMPORTANT: For changes to take effect,"
echo "please close and reopen the terminal window, or run: exec \$SHELL"
Expand All @@ -126,8 +112,8 @@ elif [ -f /etc/os-release ]; then
if [[ "$ID" == "ubuntu" || "$ID" == "debian" || "$ID_LIKE" == "ubuntu" || "$ID_LIKE" == "debian" || "$ID_LIKE" == "ubuntu debian" ]]; then
if [[ ! $(uname -m) =~ ^arm* ]]; then
sudo apt-get update
if [[ "$VERSION_ID" == "22.04" ]]; then
sudo apt-get install -y "${ubuntu_pkgs_22_04[@]}"
if [[ "$VERSION_ID" > "22.04" || "$VERSION_ID" == "22.04" ]]; then
sudo apt-get install -y "${ubuntu_pkgs_post22_04[@]}"
else
sudo apt-get install -y "${ubuntu_pkgs_pre22_04[@]}"
fi
Expand Down Expand Up @@ -177,3 +163,5 @@ else
echo "ERROR: Host not supported"
exit 99
fi

echo "Finished installing global libraries."
234 changes: 234 additions & 0 deletions docs/source/_static/install_depthai.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
#!/bin/bash

APP_NAME="depthai"
WORKING_DIR_NAME="Luxonis"
WORKING_DIR="$HOME/$WORKING_DIR_NAME"
mkdir "$WORKING_DIR"
install_path=""
path_correct="false"

trap 'RET=$? ; echo -e >&2 "\n\x1b[31mFailed installing dependencies. Could be a bug in the installer or unsupported platform. Open a bug report over at https://github.com/luxonis/depthai - exited with status $RET at line $LINENO \x1b[0m\n" ; exit $RET' ERR

while [ "$path_correct" = "false" ]
do
echo ""
read -p $'ENTER absolute installation path for depthai or leave empty and default path: $HOME will be used.\n' -r install_path
echo ""

if [ "$install_path" = "" ]; then
echo "Using default installation path: $WORKING_DIR"
mkdir -p "$WORKING_DIR"
else
echo "Using given installation path: $install_path"
WORKING_DIR="$install_path"
fi

if [ -d "$WORKING_DIR" ]; then
echo "Directory: $WORKING_DIR is OK"
path_correct="true"
else
echo "Directory: $WORKING_DIR is not valid. Try again!"
fi
done

DEPTHAI_DIR="$WORKING_DIR/$APP_NAME"
VENV_DIR="$WORKING_DIR/venv"
ENTRYPOINT_DIR="$DEPTHAI_DIR/entrypoint"

# Get Python version or find out that python 3.10 must be installed
python_executable=$(which python3)
python_chosen="false"
install_python="false"
python_version=$(python3 --version)
python_version_number=""
if [[ "$python_version" != 'Python'* ]]; then
python_version=""
fi
echo $'\n'

# check default python version, offer it to the user or get another one
while [ "$python_chosen" = "false" ]
do
if [[ "$python_version" == "" ]]; then
echo "No python version found."
echo "Input path for python binary, version 3.8 or higher, or leave empty and python 3.10 will be installed for you."
read -p $'Press any key to continue\n' -r python_binary_path
# python not found and user wants to install python 3.10
if [ "$python_binary_path" = "" ]; then
install_python="true"
python_chosen="true"
fi
else
# E.g Python 3.10 -> nr_1=3, nr_2=10, for Python 3.7.5 -> nr_1=r, nr_2=7
nr_1="${python_version:7:1}"
nr_2=$(echo "${python_version:9:2}" | tr -d -c 0-9)
echo "Python version: $python_version found."
if [ "$nr_1" -gt 2 ] && [ "$nr_2" -gt 7 ]; then # first two digits of python version greater then 3.7 -> python version 3.8 or greater is allowed.
echo "If you want to use it for installation, press ANY key, otherwise input path to python binary."
read -p $'Press any key to continue\n' -r python_binary_path
# user wants to use already installed python whose version is high enough
if [ "$python_binary_path" = "" ]; then
python_chosen="true"
fi
else
echo "This python version is not supported by depthai. Enter path to python binary version et least 3.8, or leave empty and python 3.10 will be installed automatically."
read -p $'Press any key to continue\n' -r python_binary_path
# python version is too low and user wants to install python 3.10
if [ "$python_binary_path" = "" ]; then
install_python="true"
python_chosen="true"
fi
fi
fi
# User entered some path that should lead to python binary, save python --version output and the rest is dealt in the while loop logic.
if [ "$python_binary_path" != "" ]; then
python_executable="$python_binary_path"
python_version=$($python_binary_path --version)
if [[ "$python_version" != 'Python'* ]]; then
python_version=""
fi
fi
done


write_in_file () {
# just make sure only strings are appended which are not in there yet
# first arg is text to write, second arg is the file path
if ! grep -Fxq "$1" "$2"
then
echo "$1" >> "$2"
fi
}

COMMENT='# Entry point for Depthai demo app, enables to run <depthai_launcher> in terminal'
BASHRC="$HOME/.bashrc"
ZSHRC="$HOME/.zshrc"
ADD_ENTRYPOINT_TO_PATH='export PATH=$PATH'":$ENTRYPOINT_DIR"

# add to .bashrc only if it is not in there already
write_in_file "$COMMENT" "$BASHRC"
write_in_file "$ADD_ENTRYPOINT_TO_PATH" "$BASHRC"

if [ -f "$ZSHRC" ]; then
write_in_file "$COMMENT" "$ZSHRC"
write_in_file "$ADD_ENTRYPOINT_TO_PATH" "$ZSHRC"
fi

if [[ $(uname -s) == "Darwin" ]]; then
echo _____________________________
echo "Calling macOS_installer.sh"
echo _____________________________
echo "Running macOS installer."

echo "Installing global dependencies."
bash -c "$(curl -fL https://docs.luxonis.com/install_dependencies.sh)"

echo "Upgrading brew."
brew update

# clone depthai form git
if [ -d "$DEPTHAI_DIR" ]; then
echo "Demo app already downloaded. Checking out main and updating."
else
echo "Downloading demo app."
git clone https://github.com/luxonis/depthai.git "$DEPTHAI_DIR"
fi
cd "$DEPTHAI_DIR"
git fetch
git checkout main
git pull

# install python 3.10 and python dependencies
brew update

if [ "$install_python" == "true" ]; then
echo "installing python 3.10"
brew install python@3.10
python_executable=$(which python3.10)
fi

# pip does not have pyqt5 for arm
if [[ $(uname -m) == 'arm64' ]]; then
echo "Installing pyqt5 with homebrew."
brew install pyqt@5
fi

# create python virtual environment
echo "Creating python virtual environment in $VENV_DIR"
echo "$python_executable"
"$python_executable" -m venv "$VENV_DIR"
# activate environment
source "$VENV_DIR/bin/activate"
pip install --upgrade pip

# install launcher dependencies
# only on mac silicon point PYTHONPATH to pyqt5 installation via homebrew, otherwise install pyqt5 with pip
if [[ $(uname -m) == 'arm64' ]]; then
if [[ ":$PYTHONPATH:" == *":/opt/homebrew/lib/python3.10/site-packages:"* ]]; then
echo "/opt/homebrew/lib/python$nr_1.$nr_2/site-packages already in PYTHONPATH"
else
export "PYTHONPATH=/opt/homebrew/lib/python$nr_1.$nr_2/site-packages:"$PYTHONPATH
echo "/opt/homebrew/lib/pythonv$nr_1.$nr_2/site-packages added to PYTHONPATH"
fi
else
pip install pyqt5
fi

pip install packaging

elif [[ $(uname -s) == "Linux" ]]; then
echo _____________________________
echo "Calling linux_installer.sh"
echo _____________________________

echo "Updating sudo-apt."
sudo apt-get update

echo "Installing global dependencies."
sudo wget -qO- https://docs.luxonis.com/install_dependencies.sh | bash

echo -e '\nRunning Linux installer.'

# clone depthai form git
if [ -d "$DEPTHAI_DIR" ]; then
echo "Demo app already downloaded. Checking out main and updating."

else
echo "Downloading demo app."
git clone https://github.com/luxonis/depthai.git "$DEPTHAI_DIR"
fi

cd "$DEPTHAI_DIR"
git fetch
git checkout main
git pull

# install python 3.10
if [ "$install_python" == "true" ]; then
echo "installing python 3.10"

sudo yes "" | sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt -y install python3.10
sudo apt -y install python3.10-venv
python_executable=$(which python3.10)
fi

echo "Creating python virtual environment in $VENV_DIR"

"$python_executable" -m venv "$VENV_DIR"

source "$VENV_DIR/bin/activate"
pip install --upgrade pip

pip install packaging
pip install pyqt5
else
echo "Error: Host $(uname -s) not supported."
exit 99
fi

echo -e '\n\n:::::::::::::::: INSTALATION COMPLETE ::::::::::::::::\n'
echo -e '\nTo run demo app write <depthai_launcher> in terminal.'
read -rsp $'Press ANY KEY to finish and run the demo app...\n' -n1 key
echo "STARTING DEMO APP."
python "$DEPTHAI_DIR/launcher/launcher.py" -r "$DEPTHAI_DIR"
Loading