cam does not seem to be alive issue
-
Hi,
I have the following setup:
I have configured it with the following file in: /data/modalai/custom_camera_config.txt
#!/bin/bash ################################################################################ # # This file allows setting of custom camera configurations by defining what # sensors are plugged into which port. # # There is no guarantee that any arbitrary configuration will work. Only the # predefined camera configs at https://docs.modalai.com/voxl2-camera-configs/ # are supported. # # each slot can be one of the following sensors: # # pmd-tof # pmd-tof-liow2 # ov7251 # ov7251-combo # ov9782 # ov9782-combo # ar0144 # ar0144-fsin (for use with m0173 and Starling 2 only) # ar0144-fsin-combo (for use with m0173 and Starling 2 only) # imx214 # imx412 # imx412-fpv (low latency mode) # imx678 # # # When using a combo mode pair, you must also add a JX_COMBO_MODE field which # specifies is the pair is to be set up as either a stereo pair ordered # left-right, right-left, or treated as two independent cameras. If you are # using a combo-mode flex but only physically connect one of the two cameras # then select "single" it does not matter which one you connect. # # For example: # J6_LOWER_COMBO_MODE="left-right" # J6_LOWER_COMBO_MODE="right-left" # J6_LOWER_COMBO_MODE="independent" # J6_LOWER_COMBO_MODE="single" # # when running "independent" combo mode, also add a NAME2 field for the second cam # e.g J6_LOWER_NAME2="tracking_rear" # # for all sensors except TOF, you can specify a "rotate" flag to # rotate the image 180 degrees e.g. J6_LOWER_ROTATE="true" or "false" # for stereo pairs (e.g. ov7251 combo or ar0144-slave-strereo) you can specify # "rotate-first-only" or "rotate-second-only" to only rotate one, other wise # when setting the rotate option to "true" both will be rotated. # # # Once configured, this file should live in /data/modalai/custom_camera-config.txt # then run voxl-configure-cameras custom to load it in # # # cp /usr/share/modalai/voxl-camera-server/custom_camera_config.txt /data/modalai/ # # We also suggest changing your /data/modalai/sku.txt file to have a camera # config term "CC" such as MRB-D0005-4-V2-CC ################################################################################ J6_LOWER_SENSOR="imx412" J6_LOWER_NAME="hires" J6_LOWER_ROTATE="false" J6_UPPER_SENSOR="" J6_UPPER_NAME="" J6_UPPER_ROTATE="false" J7_LOWER_SENSOR="imx412" J7_LOWER_NAME="hires2" J7_LOWER_ROTATE="false" J7_UPPER_SENSOR="ar0144" J7_UPPER_NAME="tracking" J7_UPPER_ROTATE="false" J8_LOWER_SENSOR="" J8_LOWER_NAME="" J8_LOWER_ROTATE="false" J8_UPPER_SENSOR="" J8_UPPER_NAME="" J8_UPPER_ROTATE="false"
And chose the C option int the voxl-configure-cameras script.
Then after reset I don’t see J7_UPPER sensor (tracking)
even when I am trying to switch between j7 lower and upper, J7_UPPER is missing.
when I reset voxl-camera-server system service and check it's status i get:voxl-camera-server.service - voxl-camera-server Loaded: loaded (/usr/bin/voxl-camera-server; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-08-26 14:42:34 UTC; 6s ago Main PID: 17591 (voxl-camera-ser) Tasks: 112 (limit: 4915) CGroup: /system.slice/voxl-camera-server.service └─17591 /usr/bin/voxl-camera-server Aug 26 14:42:34 m0054 voxl-camera-server[17591]: ================================================================= Aug 26 14:42:34 m0054 voxl-camera-server[17591]: connected to mavlink pipe Aug 26 14:42:34 m0054 voxl-camera-server[17591]: Starting Camera: hires (id #0) Aug 26 14:42:34 m0054 voxl-camera-server[17591]: Connected to cpu-monitor Aug 26 14:42:34 m0054 voxl-camera-server[17591]: gbm_create_device(156): Info: backend name is: msm_drm Aug 26 14:42:34 m0054 voxl-camera-server[17591]: Starting Camera: hires2 (id #1) Aug 26 14:42:34 m0054 voxl-camera-server[17591]: Starting Camera: tracking (id #2) Aug 26 14:42:34 m0054 voxl-camera-server[17591]: WARNING: cam tracking (id 2) does not seem to be alive Aug 26 14:42:34 m0054 voxl-camera-server[17591]: ------ voxl-camera-server: Started 2 of 3 cameras Aug 26 14:42:34 m0054 voxl-camera-server[17591]: ------ voxl-camera-server: Camera server is now running
Furthermore, voxel-camera-server -l command prints:
existing instance of voxl-camera-server found, attempting to stop it DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 2 DEBUG: Cam idx: 0, Cam slot: 0, Slave Address: 0x0034, Sensor Id: 0x0577 DEBUG: Cam idx: 1, Cam slot: 2, Slave Address: 0x0034, Sensor Id: 0x0577 DEBUG: Note: This list comes from the HAL module and may not be indicative DEBUG: of configurations that have full pipelines DEBUG: Number of cameras: 2 ==================================== Stats for camera: 0 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 4056 x 3040 4056 x 2288 3040 x 3040 3040 x 3040 3040 x 3040 3040 x 3040 4056 x 3040 4056 x 3040 4056 x 2288 4056 x 2288 4056 x 2288 4056 x 2288 2028 x 1112 1920 x 1080 ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: These are NOT necessarily supported by the sensor 4056 x 3040 HAL_PIXEL_FORMAT_YCbCr_420_888 4056 x 3040 HAL_PIXEL_FORMAT_BLOB 4000 x 3000 HAL_PIXEL_FORMAT_YCbCr_420_888 4000 x 3000 HAL_PIXEL_FORMAT_BLOB 3840 x 2160 HAL_PIXEL_FORMAT_YCbCr_420_888 3840 x 2160 HAL_PIXEL_FORMAT_BLOB 3264 x 2448 HAL_PIXEL_FORMAT_YCbCr_420_888 3264 x 2448 HAL_PIXEL_FORMAT_BLOB 3200 x 2400 HAL_PIXEL_FORMAT_YCbCr_420_888 3200 x 2400 HAL_PIXEL_FORMAT_BLOB 2976 x 2976 HAL_PIXEL_FORMAT_YCbCr_420_888 2976 x 2976 HAL_PIXEL_FORMAT_BLOB 2688 x 1512 HAL_PIXEL_FORMAT_YCbCr_420_888 2688 x 1512 HAL_PIXEL_FORMAT_BLOB 2592 x 1944 HAL_PIXEL_FORMAT_YCbCr_420_888 2592 x 1944 HAL_PIXEL_FORMAT_BLOB 2048 x 1536 HAL_PIXEL_FORMAT_YCbCr_420_888 2048 x 1536 HAL_PIXEL_FORMAT_BLOB 1920 x 1440 HAL_PIXEL_FORMAT_YCbCr_420_888 1920 x 1440 HAL_PIXEL_FORMAT_BLOB 1928 x 1208 HAL_PIXEL_FORMAT_YCbCr_420_888 1928 x 1208 HAL_PIXEL_FORMAT_BLOB 1920 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1920 x 1080 HAL_PIXEL_FORMAT_BLOB 1600 x 1200 HAL_PIXEL_FORMAT_YCbCr_420_888 1600 x 1200 HAL_PIXEL_FORMAT_BLOB 1440 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1440 x 1080 HAL_PIXEL_FORMAT_BLOB 1280 x 960 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 960 HAL_PIXEL_FORMAT_BLOB 1280 x 800 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 800 HAL_PIXEL_FORMAT_BLOB 1280 x 768 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 768 HAL_PIXEL_FORMAT_BLOB 1280 x 720 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 720 HAL_PIXEL_FORMAT_BLOB 1080 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1080 x 1080 HAL_PIXEL_FORMAT_BLOB 1024 x 738 HAL_PIXEL_FORMAT_YCbCr_420_888 1024 x 738 HAL_PIXEL_FORMAT_BLOB 1024 x 768 HAL_PIXEL_FORMAT_YCbCr_420_888 1024 x 768 HAL_PIXEL_FORMAT_BLOB 864 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 864 x 480 HAL_PIXEL_FORMAT_BLOB 800 x 600 HAL_PIXEL_FORMAT_YCbCr_420_888 800 x 600 HAL_PIXEL_FORMAT_BLOB 800 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 800 x 480 HAL_PIXEL_FORMAT_BLOB 720 x 1280 HAL_PIXEL_FORMAT_YCbCr_420_888 720 x 1280 HAL_PIXEL_FORMAT_BLOB 720 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 720 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 400 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 400 HAL_PIXEL_FORMAT_BLOB 640 x 360 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 360 HAL_PIXEL_FORMAT_BLOB 352 x 288 HAL_PIXEL_FORMAT_YCbCr_420_888 352 x 288 HAL_PIXEL_FORMAT_BLOB 320 x 240 HAL_PIXEL_FORMAT_YCbCr_420_888 320 x 240 HAL_PIXEL_FORMAT_BLOB 240 x 320 HAL_PIXEL_FORMAT_YCbCr_420_888 240 x 320 HAL_PIXEL_FORMAT_BLOB 176 x 144 HAL_PIXEL_FORMAT_YCbCr_420_888 176 x 144 HAL_PIXEL_FORMAT_BLOB 4056 x 3040 HAL_PIXEL_FORMAT_RAW10 4056 x 3040 HAL_PIXEL_FORMAT_RAW12 4056 x 3040 HAL_PIXEL_FORMAT_RAW16 4056 x 3040 HAL_PIXEL_FORMAT_RAW_OPAQUE ANDROID_SENSOR_INFO_SENSITIVITY_RANGE min = 100 max = 1600 ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY 1600 ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE min = 0ns max = 232155075ns ==================================== Stats for camera: 1 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 4056 x 3040 4056 x 2288 3040 x 3040 3040 x 3040 3040 x 3040 3040 x 3040 4056 x 3040 4056 x 3040 4056 x 2288 4056 x 2288 4056 x 2288 4056 x 2288 2028 x 1112 1920 x 1080 ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: These are NOT necessarily supported by the sensor 4056 x 3040 HAL_PIXEL_FORMAT_YCbCr_420_888 4056 x 3040 HAL_PIXEL_FORMAT_BLOB 4000 x 3000 HAL_PIXEL_FORMAT_YCbCr_420_888 4000 x 3000 HAL_PIXEL_FORMAT_BLOB 3840 x 2160 HAL_PIXEL_FORMAT_YCbCr_420_888 3840 x 2160 HAL_PIXEL_FORMAT_BLOB 3264 x 2448 HAL_PIXEL_FORMAT_YCbCr_420_888 3264 x 2448 HAL_PIXEL_FORMAT_BLOB 3200 x 2400 HAL_PIXEL_FORMAT_YCbCr_420_888 3200 x 2400 HAL_PIXEL_FORMAT_BLOB 2976 x 2976 HAL_PIXEL_FORMAT_YCbCr_420_888 2976 x 2976 HAL_PIXEL_FORMAT_BLOB 2688 x 1512 HAL_PIXEL_FORMAT_YCbCr_420_888 2688 x 1512 HAL_PIXEL_FORMAT_BLOB 2592 x 1944 HAL_PIXEL_FORMAT_YCbCr_420_888 2592 x 1944 HAL_PIXEL_FORMAT_BLOB 2048 x 1536 HAL_PIXEL_FORMAT_YCbCr_420_888 2048 x 1536 HAL_PIXEL_FORMAT_BLOB 1920 x 1440 HAL_PIXEL_FORMAT_YCbCr_420_888 1920 x 1440 HAL_PIXEL_FORMAT_BLOB 1928 x 1208 HAL_PIXEL_FORMAT_YCbCr_420_888 1928 x 1208 HAL_PIXEL_FORMAT_BLOB 1920 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1920 x 1080 HAL_PIXEL_FORMAT_BLOB 1600 x 1200 HAL_PIXEL_FORMAT_YCbCr_420_888 1600 x 1200 HAL_PIXEL_FORMAT_BLOB 1440 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1440 x 1080 HAL_PIXEL_FORMAT_BLOB 1280 x 960 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 960 HAL_PIXEL_FORMAT_BLOB 1280 x 800 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 800 HAL_PIXEL_FORMAT_BLOB 1280 x 768 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 768 HAL_PIXEL_FORMAT_BLOB 1280 x 720 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 720 HAL_PIXEL_FORMAT_BLOB 1080 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1080 x 1080 HAL_PIXEL_FORMAT_BLOB 1024 x 738 HAL_PIXEL_FORMAT_YCbCr_420_888 1024 x 738 HAL_PIXEL_FORMAT_BLOB 1024 x 768 HAL_PIXEL_FORMAT_YCbCr_420_888 1024 x 768 HAL_PIXEL_FORMAT_BLOB 864 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 864 x 480 HAL_PIXEL_FORMAT_BLOB 800 x 600 HAL_PIXEL_FORMAT_YCbCr_420_888 800 x 600 HAL_PIXEL_FORMAT_BLOB 800 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 800 x 480 HAL_PIXEL_FORMAT_BLOB 720 x 1280 HAL_PIXEL_FORMAT_YCbCr_420_888 720 x 1280 HAL_PIXEL_FORMAT_BLOB 720 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 720 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 400 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 400 HAL_PIXEL_FORMAT_BLOB 640 x 360 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 360 HAL_PIXEL_FORMAT_BLOB 352 x 288 HAL_PIXEL_FORMAT_YCbCr_420_888 352 x 288 HAL_PIXEL_FORMAT_BLOB 320 x 240 HAL_PIXEL_FORMAT_YCbCr_420_888 320 x 240 HAL_PIXEL_FORMAT_BLOB 240 x 320 HAL_PIXEL_FORMAT_YCbCr_420_888 240 x 320 HAL_PIXEL_FORMAT_BLOB 176 x 144 HAL_PIXEL_FORMAT_YCbCr_420_888 176 x 144 HAL_PIXEL_FORMAT_BLOB 4056 x 3040 HAL_PIXEL_FORMAT_RAW10 4056 x 3040 HAL_PIXEL_FORMAT_RAW12 4056 x 3040 HAL_PIXEL_FORMAT_RAW16 4056 x 3040 HAL_PIXEL_FORMAT_RAW_OPAQUE ANDROID_SENSOR_INFO_SENSITIVITY_RANGE min = 100 max = 1600 ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY 1600 ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE min = 0ns max = 232155075ns ==================================== Number of cameras detected: 2 ====================================
And, vocel-inspect-cam doesn’t give me the option to inspect tracking so when I try `voxl-inspect-cam -a’ I get:
I would love any help with this.
-
Hi @giladWDS
I am from hardware and noticed you have an extra long flex for the Hires..
Did you cascade two M0036 extension flexes back to back?
You will most likely have failures in this config and we do not recommend it if that is what I am observing.
https://docs.modalai.com/image-sensor-flexes-adapters/#extending-mipi-image-sensor-cable-lengthsNot sure if it is related to your issue or not, but I would at least start by using a well supported hardware config before digging too deep into the SW configuration concerns you have.
Hope this helps!
-
@giladWDS , can you please provide the list of camera files that you currently have in
/usr/lib/camera
:ls /usr/lib/camera/
I just want to double check that AR0144 camera driver files are there.
Alex
-
@Vinny said in cam does not seem to be alive issue:
Hi, thank you for your comment,
I haven't cascaded the two cables.
I am using MSU-M0084 to connect ar0144 and imx412 to J7, this is why it is probably looking longer then usual -
it seems to be there.
I also check with the latest drivers found in here:
https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/tree/master/misc_files/usr/share/modalai/voxl-camera-server/drivers/ar0144
and it did not changed the behavior. -
Everything looks correct. Is this the first time you are trying this configuration (and it has never worked)? Has this AR0144 camera worked before? And you also tried to put AR0144 camera on J7L and use sensormodule 2 for it? Do you have another AR0144 camera to try?
I will try this configuration today to double check.
-
OK, @giladWDS I am trusting you, but to me that still looks like an impossibly long flex without doubling them or cascading an M0036 with an M0074/M0036
Please remove the electronics from that cardboard box though and work on an ESD safe mat That will help ensure long-term reliability.
Thanks! -
@Alex-Kushleyev
I can confirm that the ar0144 module works.
it works if i switch to J7L and then the imx connected to J7L wont work when it is connected to J7U.
I know the setup works because i am currently running it with the same hardware on another voxl2@Vinny
thank you for the comment, I will bring an ESD mat. -
EDIT:
If it helps this is my voxl-version-------------------------------------------------------------------------------- system-image: 1.7.6-M0054-14.1a-perf kernel: #1 SMP PREEMPT Wed Mar 20 19:48:52 UTC 2024 4.19.125 -------------------------------------------------------------------------------- hw platform: M0054 mach.var: 1.0 -------------------------------------------------------------------------------- voxl-suite: 1.2.0 -------------------------------------------------------------------------------- Packages: Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.2/binary-arm64/ Last Updated: 2023-03-02 13:19:12 List: kernel-module-voxl-fsync-mod-4.19.125 1.0-r0 kernel-module-voxl-gpio-mod-4.19.125 1.0-r0 kernel-module-voxl-platform-mod-4.19.125 1.0-r0 libfc-sensor 1.0.5 libmodal-cv 0.4.0 libmodal-exposure 0.1.0 libmodal-journal 0.2.2 libmodal-json 0.4.3 libmodal-pipe 2.10.0 libqrb5165-io 0.4.5 libvoxl-cci-direct 0.2.1 libvoxl-cutils 0.1.1 modalai-slpi 1.1.12 mv-voxl 0.1-r0 qrb5165-bind 0.1-r0 qrb5165-dfs-server 0.2.0 qrb5165-imu-server 1.0.1 qrb5165-rangefinder-server 0.1.1 qrb5165-slpi-test-sig 01-r0 qrb5165-system-tweaks 0.2.6 qrb5165-tflite 2.8.0-2 voxl-bind-spektrum 0.1.1 voxl-camera-calibration 0.5.4 voxl-camera-server 1.9.1 voxl-ceres-solver 2:1.14.0-10 voxl-configurator 0.5.6 voxl-cpu-monitor 0.4.8 voxl-docker-support 1.3.1 voxl-elrs 0.1.3 voxl-esc 1.4.0 voxl-feature-tracker 0.3.2 voxl-flow-server 0.3.3 voxl-fsync-mod 1.0-r0 voxl-gphoto2-server 0.0.10 voxl-gpio-mod 1.0-r0 voxl-jpeg-turbo 2.1.3-5 voxl-lepton-server 1.2.0 voxl-libgphoto2 0.0.4 voxl-libuvc 1.0.7 voxl-logger 0.4.0 voxl-mavcam-manager 0.5.3 voxl-mavlink 0.1.1 voxl-mavlink-server 1.4.0 voxl-microdds-agent 2.4.1-0 voxl-modem 1.0.9 voxl-mongoose 7.7.0-1 voxl-mpa-to-ros 0.3.7 voxl-mpa-to-ros2 0.0.3 voxl-mpa-tools 1.1.5 voxl-neopixel-manager 0.0.3 voxl-open-vins 0.4.4 voxl-open-vins-server 0.2.18 voxl-opencv 4.5.5-2 voxl-platform-mod 1.0-r0 voxl-portal 0.6.5 voxl-px4 1.14.0-2.0.68 voxl-px4-imu-server 0.1.2 voxl-px4-params 0.3.8 voxl-qvio-server 1.0.2 voxl-remote-id 0.0.9 voxl-ros2-foxy 0.0.1 voxl-streamer 0.7.4 voxl-suite 1.2.0 voxl-tag-detector 0.0.4 voxl-tflite-server 0.3.2 voxl-utils 1.3.9 voxl-uvc-server 0.1.6 voxl-vision-hub 1.7.4 voxl2-system-image 1.7.6-r0 voxl2-wlan 1.0-r0 --------------------------------------------------------------------------------
-
@giladWDS , What you are describing sounds like a HW issue with J7U path, since either AR0144 or IMX412 is not functioning. Can you please inspect the Flex that you have connected to J7 for any damage? One more test would be connecting the whole flex to J6 and seeing if you can get J6U to work with either AR0144 or IMX412. If it works on J6U, then the issue may be on the voxl2 side of the hardware (in J7U connector path).
Alex
-
@Alex-Kushleyev
Thank you for the help, I have tried a different cable and it didn't work either, plus this flex is working when I am using it on a different voxl2 -
@giladWDS , it seems that there is a HW issue on the VOXL2 side with J7U. Specifically, any camera connected to it is not detected, which could be either i2c or power issue.
Is it an option for you to connect the AR0144 camera to J8L ?
In order to figure the problem the board would most likely need to be sent back to us for inspection.
Alex
-
@Alex-Kushleyev
Hi, after I had to work on other projects I have finally come back to this and I managed to make the voxl read all cameras when I moved the tracking camera to j8-lower.
now the issue I'm facing is with a frame rate reduction.
it seems that whenever I try to change the frame rate of one of the high-res cameras the server crashes.
this is the server log:Oct 27 12:35:13 root systemd[1]: Started voxl-camera-server. Oct 27 12:35:13 root voxl-camera-server[14170]: detected system image 1.7.6 Oct 27 12:35:13 root voxl-camera-server[14170]: using new imx412 defaults Oct 27 12:35:13 root voxl-camera-server[14170]: detected system image 1.7.6 Oct 27 12:35:14 root voxl-camera-server[14170]: using new imx412 defaults Oct 27 12:35:14 root voxl-camera-server[14170]: ================================================================= Oct 27 12:35:14 root voxl-camera-server[14170]: configuration for 3 cameras: Oct 27 12:35:14 root voxl-camera-server[14170]: cam #0 Oct 27 12:35:14 root voxl-camera-server[14170]: name: hires2 Oct 27 12:35:14 root voxl-camera-server[14170]: sensor type: imx412 Oct 27 12:35:14 root voxl-camera-server[14170]: isEnabled: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: camId: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: camId2: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: fps: 10 Oct 27 12:35:14 root voxl-camera-server[14170]: en_rotate: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_rotate2: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_preview: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: pre_width: 4056 Oct 27 12:35:14 root voxl-camera-server[14170]: pre_height: 3040 Oct 27 12:35:14 root voxl-camera-server[14170]: en_raw_preview: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_small_video: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: small_video_width: 1024 Oct 27 12:35:14 root voxl-camera-server[14170]: small_video_height: 768 Oct 27 12:35:14 root voxl-camera-server[14170]: en_large_video: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: large_video_width: 4056 Oct 27 12:35:14 root voxl-camera-server[14170]: large_video_height: 3040 Oct 27 12:35:14 root voxl-camera-server[14170]: en_snapshot: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: snap_width: 4056 Oct 27 12:35:14 root voxl-camera-server[14170]: snap_height: 3040 Oct 27 12:35:14 root voxl-camera-server[14170]: ae_mode: isp Oct 27 12:35:14 root voxl-camera-server[14170]: standby_enabled: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: decimator: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: independent_exposure:0 Oct 27 12:35:14 root voxl-camera-server[14170]: cam #1 Oct 27 12:35:14 root voxl-camera-server[14170]: name: hires Oct 27 12:35:14 root voxl-camera-server[14170]: sensor type: imx412 Oct 27 12:35:14 root voxl-camera-server[14170]: isEnabled: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: camId: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: camId2: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: fps: 10 Oct 27 12:35:14 root voxl-camera-server[14170]: en_rotate: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_rotate2: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_preview: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: pre_width: 4056 Oct 27 12:35:14 root voxl-camera-server[14170]: pre_height: 3040 Oct 27 12:35:14 root voxl-camera-server[14170]: en_raw_preview: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_small_video: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: small_video_width: 1024 Oct 27 12:35:14 root voxl-camera-server[14170]: small_video_height: 768 Oct 27 12:35:14 root voxl-camera-server[14170]: en_large_video: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: large_video_width: 4056 Oct 27 12:35:14 root voxl-camera-server[14170]: large_video_height: 3040 Oct 27 12:35:14 root voxl-camera-server[14170]: en_snapshot: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: snap_width: 4056 Oct 27 12:35:14 root voxl-camera-server[14170]: snap_height: 3040 Oct 27 12:35:14 root voxl-camera-server[14170]: ae_mode: isp Oct 27 12:35:14 root voxl-camera-server[14170]: standby_enabled: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: decimator: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: independent_exposure:0 Oct 27 12:35:14 root voxl-camera-server[14170]: cam #2 Oct 27 12:35:14 root voxl-camera-server[14170]: name: tracking Oct 27 12:35:14 root voxl-camera-server[14170]: sensor type: ar0144 Oct 27 12:35:14 root voxl-camera-server[14170]: isEnabled: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: camId: 2 Oct 27 12:35:14 root voxl-camera-server[14170]: camId2: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: fps: 30 Oct 27 12:35:14 root voxl-camera-server[14170]: en_rotate: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_rotate2: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: en_preview: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: pre_width: 1280 Oct 27 12:35:14 root voxl-camera-server[14170]: pre_height: 800 Oct 27 12:35:14 root voxl-camera-server[14170]: en_raw_preview: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: en_small_video: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: small_video_width: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: small_video_height: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: en_large_video: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: large_video_width: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: large_video_height: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: en_snapshot: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: snap_width: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: snap_height: -1 Oct 27 12:35:14 root voxl-camera-server[14170]: ae_mode: lme_msv Oct 27 12:35:14 root voxl-camera-server[14170]: standby_enabled: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: decimator: 1 Oct 27 12:35:14 root voxl-camera-server[14170]: independent_exposure:0 Oct 27 12:35:14 root voxl-camera-server[14170]: fsync_en: 0 Oct 27 12:35:14 root voxl-camera-server[14170]: fsync_gpio: 111 Oct 27 12:35:14 root voxl-camera-server[14170]: ================================================================= Oct 27 12:35:14 root voxl-camera-server[14170]: connected to GPS mavlink pipe Oct 27 12:35:14 root voxl-camera-server[14170]: Starting Camera: hires2 (id #0) Oct 27 12:35:14 root voxl-camera-server[14170]: Connected to cpu-monitor Oct 27 12:35:14 root voxl-camera-server[14170]: Using gain limits min: 100 max: 1600 Oct 27 12:35:14 root voxl-camera-server[14170]: gbm_create_device(156): Info: backend name is: msm_drm Oct 27 12:35:14 root voxl-camera-server[14170]: Starting Camera: hires (id #1) Oct 27 12:35:14 root voxl-camera-server[14170]: Using gain limits min: 100 max: 1600 Oct 27 12:35:14 root voxl-camera-server[14170]: ERROR: Received "Result" error from camera: hires2 Oct 27 12:35:14 root systemd[1]: voxl-camera-server.service: Main process exited, code=killed, status=6/ABRT Oct 27 12:35:14 root systemd[1]: voxl-camera-server.service: Failed with result 'signal'. Oct 27 12:35:16 root systemd[1]: voxl-camera-server.service: Service hold-off time over, scheduling restart. Oct 27 12:35:16 root systemd[1]: voxl-camera-server.service: Scheduled restart job, restart counter is at 1.
and this is the config file:
cat /etc/modalai/voxl-camera-server.conf /** * voxl-camera-server Configuration File * * Each camera has configurations for up to 4 HAL3 streams: * - `preview` stream for raw unprocessed images from CV cameras * - `small_video` 720p (ish) h264/h265 compressed for fpv video streaming * - `large_video` 4k (ish) h264/h265 for onboard video recording to disk * - `snapshot` ISP-processed JPG snapshots that get saved to disk * * on QRB5165 platforms (VOXL2 and VOXL2 mini) you can only have 3 of the 4 enabled * * This file is generated from default values by voxl-configure-cameras. * Do not expect arbitrary resolutions to work, the ISP and video compression * pipelines only support very specific resolutions. * * The default video compression mode is cqp or Constant Quantization Parameter * * * */ { "version": 0.1, "fsync_en": false, "fsync_gpio": 111, "cameras": [{ "type": "imx412", "name": "hires2", "enabled": true, "camera_id": 0, "fps": 10, "en_preview": true, "preview_width": 4056, "preview_height": 3040, "en_raw_preview": false, "en_small_video": false, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h265", "small_venc_br_ctrl": "cqp", "small_venc_Qfixed": 30, "small_venc_Qmin": 15, "small_venc_Qmax": 40, "small_venc_nPframes": 9, "small_venc_mbps": 2, "en_large_video": false, "large_video_width": 4056, "large_video_height": 3040, "large_venc_mode": "h265", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 38, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 30, "en_snapshot": false, "en_snapshot_width": 4056, "en_snapshot_height": 3040, "ae_mode": "isp" }, { "type": "imx412", "name": "hires", "enabled": true, "camera_id": 1, "fps": 10, "en_preview": true, "preview_width": 4056, "preview_height": 3040, "en_raw_preview": false, "en_small_video": false, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h265", "small_venc_br_ctrl": "cqp", "small_venc_Qfixed": 30, "small_venc_Qmin": 15, "small_venc_Qmax": 40, "small_venc_nPframes": 9, "small_venc_mbps": 2, "en_large_video": false, "large_video_width": 4056, "large_video_height": 3040, "large_venc_mode": "h265", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 38, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 30, "en_snapshot": false, "en_snapshot_width": 4056, "en_snapshot_height": 3040, "ae_mode": "isp" }, { "type": "ar0144", "name": "tracking", "enabled": true, "camera_id": 2, "fps": 30, "en_rotate": false, "en_preview": true, "preview_width": 1280, "preview_height": 800, "en_raw_preview": true, "ae_mode": "lme_msv", "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 54, "gain_max": 8000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }] }
And when I change it back to 30 fps it works. the problem is the CPU toll 30 takes.
-
@giladWDS I did a quick test on my set up with IMX214 connected, and it has no issue with 5 or 10 fps with largest resolution 4208x3120 preview. I am pretty sure i tested slower (than 30) FPS on IMX412 before. Can you please try some other FPS (15, 20, 25) and see if you can find any pattern of cases that do not work? Also what if you disable one of the cameras. I am just trying to think what can cause this..
I will get a chance to test with two IMX412 tomorrow.
Alex
-
@Alex-Kushleyev
I have tested different layouts with different cameras disabled and it didn't work either.
for some reason, the voxl won't accept any other frame rate in the config file other than 30. -
@giladWDS , this is strange. I can set IMX412 to any rate I want, however I am using different sensormodule files - can you please try to use ones from :
/usr/share/modalai/chi-cdk/imx412-fpv/com.qti.sensormodule.imx412_fpv_0.bin
/usr/share/modalai/chi-cdk/imx412-fpv/com.qti.sensormodule.imx412_fpv_2.bininstead of com.qti.sensormodule.imx412_0.bin com.qti.sensormodule.imx412_2.bin (remove or rename these first).
please note that it is possible that the "fpv" version of the sensormodules may not have the full resolution in your older system image (latest ones do), which you can check using
voxl-camera-server -l
, but i think it should..Edit: i also tried the modules you used, and works fine for me (i tested using a single camera)
One more thing to try is to lock camera server to faster cpu cores, which can be done in the following way from command line (you should stop the camera server service first):
taskset --cpu-list 4-7 voxl-camera-server
If this still does not work, please provide output of dmesg and logcat saved to separate files, so i can potentially see the reason for the crash. Thanks! (well, even if one of the solutions works, i would still be curious what error you were getting before!)
Alex
-
@Alex-Kushleyev
It would take some time to do this since I found a workaround compiling the camera server from source with a small fix:
I changed the hal3_camera_mgr.cpp
from:
int32_t frame_rate_rate[] = {fps,fps};
into:
int32_t frame_rate_rate[] = {1,30};
I know this is hacky and will probably bite me if I try to put higher fps for low fps cameras like a tof or something but it works for now.
I will get back to it and update. -
@giladWDS , thanks for the udpate!
I believe we had to use the following line in order to enable fps higher than 30 (or higher than 60, i forget), otherwise the high fps was not working.
int32_t frame_rate_rate[] = {fps,fps};
We will keep this in mind, however I am not able to reproduce your issues, so we'll just keep this conversation open.
Alex
-
@Alex-Kushleyev hi
I just stumbled upon the same bug with our voxl-flight-deck module that also refuses to downscale the fps. -
@giladWDS , can you please provide minimal instructions to reproduce on voxl2? I can try it from sdk install, then configure cameras, modify config to lower fps and test.
Regarding flight deck, is it voxl2 flight deck or voxl1?
Alex