feat: enable detection of csi adaptors
Added func detect_avail_csi. refactored logging.sh accordingly. Signed-off-by: Stephan Wendel <me@stephanwe.de>
This commit is contained in:
parent
62ee73b6da
commit
664d9b539b
@ -122,6 +122,6 @@ function initial_check {
|
|||||||
fi
|
fi
|
||||||
# in systemd show always config file
|
# in systemd show always config file
|
||||||
logger -t webcamd -f "${WEBCAMD_CFG}"
|
logger -t webcamd -f "${WEBCAMD_CFG}"
|
||||||
log_msg "INFO: Detect available Cameras"
|
log_msg "INFO: Detect available Devices"
|
||||||
print_cams
|
print_cams
|
||||||
}
|
}
|
||||||
|
@ -19,18 +19,36 @@ set -e
|
|||||||
### Detect Hardware
|
### Detect Hardware
|
||||||
function detect_avail_cams {
|
function detect_avail_cams {
|
||||||
local avail realpath
|
local avail realpath
|
||||||
avail="$(find /dev/v4l/by-id/ 2> /dev/null | sort -n | sed '1d;1~2d')"
|
avail="$(find /dev/v4l/by-id/ -iname "*index0" 2> /dev/null)"
|
||||||
if [ -d "/dev/v4l/by-id/" ]; then
|
count="$(echo "${avail}" | wc -l)"
|
||||||
echo "${avail}" | while read -r i; do
|
if [ -d "/dev/v4l/by-id/" ] &&
|
||||||
realpath=$(readlink -e "${i}")
|
[ -n "${avail}" ]; then
|
||||||
log_msg "${i} -> ${realpath}"
|
log_msg "INFO: Found ${count} available camera(s)"
|
||||||
|
echo "${avail}" | while read -r v4l; do
|
||||||
|
realpath=$(readlink -e "${v4l}")
|
||||||
|
log_msg "${v4l} -> ${realpath}"
|
||||||
if [ "$(log_level)" != "quiet" ]; then
|
if [ "$(log_level)" != "quiet" ]; then
|
||||||
list_cam_formats "${i}"
|
list_cam_formats "${v4l}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
log_msg "ERROR: No usable Cameras found. Exiting."
|
log_msg "INFO: No usable Cameras found."
|
||||||
exit 1
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function detect_avail_csi {
|
||||||
|
local avail count realpath
|
||||||
|
avail="$(find /dev/v4l/by-path/ -iname "*csi*index0" 2> /dev/null)"
|
||||||
|
count="$(echo "${avail}" | wc -l)"
|
||||||
|
if [ -d "/dev/v4l/by-path/" ] &&
|
||||||
|
[ -n "${avail}" ]; then
|
||||||
|
log_msg "INFO: Found ${count} available csi device(s)"
|
||||||
|
echo "${avail}" | while read -r csi; do
|
||||||
|
realpath=$(readlink -e "${csi}")
|
||||||
|
log_msg "${csi} -> ${realpath}"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
log_msg "INFO: No usable CSI Devices found."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,17 +87,15 @@ function print_cfg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function print_cams {
|
function print_cams {
|
||||||
local count raspicam total
|
local csi raspicam total v4l
|
||||||
count="$(find /dev/v4l/by-id/ 2> /dev/null | sed '1d;1~2d' | wc -l)"
|
v4l="$(find /dev/v4l/by-id/ -iname "*index0" 2> /dev/null | wc -l)"
|
||||||
total="$((count+$(detect_raspicam)))"
|
csi="$(find /dev/v4l/by-path/ -iname "*csi*index0" 2> /dev/null | wc -l)"
|
||||||
|
total="$((v4l+$(detect_raspicam)+csi))"
|
||||||
if [ "${total}" -eq 0 ]; then
|
if [ "${total}" -eq 0 ]; then
|
||||||
log_msg "ERROR: No usable Cameras Found. Stopping $(basename "${0}")."
|
log_msg "ERROR: No usable Devices Found. Stopping $(basename "${0}")."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
log_msg "INFO: Found ${total} available Camera(s)"
|
log_msg "INFO: Found ${total} total available Device(s)"
|
||||||
fi
|
|
||||||
if [ -d "/dev/v4l/by-id/" ]; then
|
|
||||||
detect_avail_cams
|
|
||||||
fi
|
fi
|
||||||
if [ "$(detect_raspicam)" -ne 0 ]; then
|
if [ "$(detect_raspicam)" -ne 0 ]; then
|
||||||
raspicam="$(v4l2-ctl --list-devices | grep -A1 -e 'mmal' | \
|
raspicam="$(v4l2-ctl --list-devices | grep -A1 -e 'mmal' | \
|
||||||
@ -107,6 +105,12 @@ function print_cams {
|
|||||||
list_cam_formats "${raspicam}"
|
list_cam_formats "${raspicam}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if [ -d "/dev/v4l/by-id/" ]; then
|
||||||
|
detect_avail_cams
|
||||||
|
fi
|
||||||
|
if [ -d "/dev/v4l/by-path" ]; then
|
||||||
|
detect_avail_csi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function debug_msg {
|
function debug_msg {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user