Hi ,
2 cameras are connected to RZ-V2H which are enumerated as " /dev/video0fr " and "/dev/video1fr" as described in document RZ/V2H ISP Support Package Sample Application Note R01AN7210EJ0110.pdf.
1) execute sample-app for /dev/video0fr , i am able to see the captured 8 frames dumped in /tmp directory.
2) executing sample application using below command for "dev/video1fr" it fails to provide any output and no error is seen in the command prompt.
Sample application program seems to be running infinitely and no output in seen /tmp directory. Please guide on possible cause.
root@rzv2h-evk-ver1:~# ./sample-app /dev/video1frsample-app v1.1.1output_mode = 0port = 22222output_prefix = [/tmp/]fps = 30, network_fps = 1width = 3840, height = 2160, fourcc = [YUY2]8 buffer, 8 frames, batch_mode = 0, nb_buffer = 8one_frame_length 16588800
Regards,
chekr
Hi chekr,Have you built the image from source?Did you use any AI SDK ready image?What image camera sensors are you using?Can you share your v4l-init.sh file?You can have a look on this RZ/V2H and RZ/V2N BSP Manual Set (RTK0EF0045Z94001AZJ-v1.0.3.zip) (document: r01us0704ej0104-rzv2h_rzv2n_Camera_UME.pdf), first.Kind Regards.
Thank you for reply.
I have built the image from source . IMX415 image sensors is used with RZV2H board.
Please check v4l-init.txt file . File is renamed to .txt
Output of the v4l2-init.sh is as below.
In parallel , i will check file r01us0704ej0104-rzv2h_rzv2n_Camera_UME.pdf from the zip folder that you have shared.
Best Regards,
#!/bin/sh mode=$1 scriptname=`basename $0` log() { echo "$scriptname: $@" } run_userspace_driver() { ps | grep mali_iv021_is[p] | awk '{print $1}' | xargs kill 2> /dev/null if [ -c /dev/video1fr ]; then mali_iv021_isp.elf & else mali_iv021_isp-single.elf & fi } calc_selection() { : ${width:=$1} : ${height:=$2} : ${effective_width:=$3} : ${effective_height:=$4} : ${top:=$(((height-effective_height)/2))} : ${left:=$(((width-effective_width)/2))} } errend() { echo $1 exit 1 } check_selection() { err="" [ $width -le 0 ] && err="width <= 0\n$err" [ $height -le 0 ] && err="height <= 0 $$err" [ $effective_height -le 0 ] && err="effective_height <= 0\n$err" [ $effective_width -le 0 ] && err="effective_width <= 0\n$err" [ $top -lt 0 ] && err="top < 0\n$err" [ $left -lt 0 ] && err="left < 0\n$err" if [ "$err" != "" ]; then echo "selection error." echo -ne $err exit 1 fi } case "$1" in 2k) calc_selection 1932 1088 1920 1080 preset=2 ;; dol) calc_selection 3864 2176 3840 2160 preset=4 ;; hdr) calc_selection 3864 2176 3840 2160 preset=6 ;; *) calc_selection 3864 2176 3840 2160 preset=0 ;; esac log "preset=$preset, ($width, $height) => ${effective_width}x${effective_height}+$left+$top" check_selection fmt="fmt:SBGGR12_1X12/${width}x${height} field:none" for m in 0 1; do if [ ! -c /dev/video${m}fr ]; then continue; fi csi2="" sensor="" cru="" while read entity; do case "$entity" in rzg2l_csi2*) csi2="$entity" ;; imx415*) sensor="$entity" ;; CRU*) cru="$entity" ;; esac done <<EOT `media-ctl -p -d /dev/media$m | sed -ne 's/- entity [0-9]*: \(.*\) (.*$/\1/p'` EOT if [ "$csi2" != "" ] && [ "$sensor" != "" ] && [ "$cru" != "" ]; then media-ctl -d /dev/media$m -r media-ctl -d /dev/media$m -V "'$csi2':1 [$fmt]" media-ctl -d /dev/media$m -V "'$sensor':0 [$fmt]" media-ctl -d /dev/media$m -l "'$csi2':1 -> '$cru':0 [1]" media-ctl -d /dev/media$m -l "'$sensor':0 -> '$csi2':0 [1]" v4l2-ctl -d `media-ctl -d /dev/media$m -e "$cru"` --set-fmt-video=width=$width,height=$height,pixelformat=BG12 fi v4l2-ctl -d /dev/video${m}fr -c isp_sensor_preset=$(($preset+$m)) done sleep 0.5 devices="" for m in 0 1; do if [ ! -c /dev/video${m}fr ]; then continue; fi devices="$devices /dev/video${m}fr" for t in `seq 0 10`; do v4l2-ctl -d /dev/video${m}fr --set-selection target=crop,left=$left,top=$top,width=$effective_width,height=$effective_height if [ "`v4l2-ctl -d /dev/video${m}fr --get-selection target=crop | awk '{print $6$8$10$12}'`" = "$left,$top,${effective_width},${effective_height}," ]; then break fi if [ "$t" -eq 10 ]; then log "failed to set selections." break fi sleep 0.01 done done run_dummy_sample_app() { ( echo q | ./sample-app $devices -w $effective_width -h $effective_height > /dev/null 2>&1 & pid=$! ( sleep 3 kill $pid > /dev/null 2>&1 /dev/null ) > /dev/null 2>&1 & pid2=$! wait $pid > /dev/null 2>&1 status=$? kill $pid2 > /dev/null 2>&1 [ $status -eq 0 ] && break if [ "$t" -eq 10 ]; then log "failed to prepare streaming." else log "Ok." fi ) } run_dummy_gstreamer() { ( exec > /dev/null exec 2> /dev/null gst-launch-1.0 -v v4l2src device=/dev/video1fr ! fakesink > /dev/null 2>&1 & pid3=$! sleep 1 kill $pid3 ) } for i in 1 2; do run_dummy_sample_app run_dummy_gstreamer done run_userspace_driver run_dummy_sample_app log "done." exit 0
Have you set the Camera Module Switches to Master and Slave. Also the modules need to be connected together. Make sure the master is connected to CN7 and slave is connected to CN8.IMX415 Board for RZ/V2H Evaluation Board Kit
Hi michael,
Yes, IMX415 Camera Modules are set to Master (CN7) and slave(CN8) and connected together .Please check attached image.
Switch Setting (RZ/V2H Evaluation Board Kit) for JSW1 and DSW3 are set as per document.
I still don't see any data on /dev/video1fr.
Could you please suggest if there is any mistake in the switch setting or connector connection. ?
In order to check if both the IMX415 camera module are working , I tried connecting IMX415 module to CN7 one at a time and /dev/video0fr data is streaming.