tools: add a script to run all cameras at the same time for debugging purposes

This commit is contained in:
Kamil Trzcinski 2023-02-26 20:01:20 +01:00
parent 8f2361bc16
commit 0344a231a9
2 changed files with 55 additions and 1 deletions

@ -1 +1 @@
Subproject commit 1c75604c067cea7b68a6b7e559f830687df2e8e3 Subproject commit 04cf4738961f55ba3f0aa39b4a61342f66bb3781

54
tools/run_all.bash Executable file
View File

@ -0,0 +1,54 @@
#!/bin/bash
COLOR_NC='\033[0m' # No Color
COLOR_WHITE='\033[1;37m'
COLOR_BLACK='\033[0;30m'
COLOR_BLUE='\033[0;34m'
COLOR_LIGHT_BLUE='\033[1;34m'
COLOR_GREEN='\033[0;32m'
COLOR_LIGHT_GREEN='\033[1;32m'
COLOR_CYAN='\033[0;36m'
COLOR_LIGHT_CYAN='\033[1;36m'
COLOR_RED='\033[0;31m'
COLOR_LIGHT_RED='\033[1;31m'
COLOR_PURPLE='\033[0;35m'
COLOR_LIGHT_PURPLE='\033[1;35m'
COLOR_BROWN='\033[0;33m'
COLOR_YELLOW='\033[1;33m'
COLOR_GRAY='\033[1;30m'
COLOR_LIGHT_GRAY='\033[0;37m'
COLORS=( $COLOR_BLUE $COLOR_CYAN $COLOR_PURPLE $COLOR_BROWN $COLOR_YELLOW $COLOR_GRAY )
run_camera() {
local name="$1"
shift
job_nb=$(jobs -p -r | wc -l)
color_idx=$(($job_nb%${#COLORS[@]}))
color=${COLORS[$color_idx]}
port=$((8080+$job_nb))
./camera-streamer --http-port=$port --camera-fps=20 --camera-force_active --log-stats "$@" |&
ts "$(printf "$color%%H:%%M:%%S %10s |$COLOR_NC" "$name")" &
}
trap 'jobs -p -r | xargs -r kill; wait' EXIT
export FAKE_CAMERA_SENSOR=arducam_64mp=imx519
set -eo pipefail
make -j$(nproc)
run_camera csi --camera-type=libcamera --camera-format=YUYV --camera-path=i2c0mux --camera-fps=20 "$@"
for usbcam in /dev/v4l/by-id/usb-*-video-index0; do
name=$(basename "$usbcam")
name="${name#usb-}"
name="${name%%-video-index0}"
name="${name:0:10}"
run_camera "$name" --camera-path="$usbcam" --camera-format=MJPEG --camera-fps=30 "$@"
done
wait