# cam does not seem to be alive issue

Source: https://forum.modalai.com/topic/3741/cam-does-not-seem-to-be-alive-issue
Category: ESCs, Sensors and Accessories (https://forum.modalai.com/category/15/escs-sensors-and-accessories)
Tags: image-sensor
Posted: 2024-08-27 12:47:31 UTC by giladWDS
Replies: 25 · Views: 6867

## giladWDS · 2024-08-27 12:47:31 UTC

Hi,
I have the following setup:
![20240826_173430-min.jpg](https://forum.modalai.com/assets/uploads/files/1724762049354-20240826_173430-min-resized.jpg) 

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:

![123123-min (1).jpg](https://forum.modalai.com/assets/uploads/files/1724762820265-123123-min-1-resized.jpg) 

I would love any help with this.

## Reply by Vinny (ModalAI staff) · 2024-08-28 04:21:41 UTC

Hi @giladWDS 
I am from hardware and noticed you have an extra long flex for the Hires..
![cf4dc137-d477-4bfd-babf-9ebd542cb008-image.png](https://forum.modalai.com/assets/uploads/files/1724818733295-cf4dc137-d477-4bfd-babf-9ebd542cb008-image.png) 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-lengths

Not 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!

## Reply by Alex Kushleyev (ModalAI staff) · 2024-08-28 05:52:27 UTC (in reply to Vinny)

@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

## Reply by giladWDS · 2024-08-28 08:18:08 UTC (in reply to Vinny)

@Vinny said in [cam does not seem to be alive issue](/post/18752):
> 

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

## Reply by giladWDS · 2024-08-28 08:25:39 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev ![Screenshot from 2024-08-28 11-22-56.png](https://forum.modalai.com/assets/uploads/files/1724833450199-screenshot-from-2024-08-28-11-22-56.png) 

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.

## Reply by Alex Kushleyev (ModalAI staff) · 2024-08-28 14:36:33 UTC (in reply to giladWDS)

@giladWDS ,

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.

## Reply by Vinny (ModalAI staff) · 2024-08-28 15:32:06 UTC (in reply to giladWDS)

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!

## Reply by giladWDS · 2024-08-29 08:05:01 UTC (in reply to Alex Kushleyev)

@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.

## Reply by giladWDS · 2024-08-29 08:52:31 UTC (in reply to giladWDS)

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
--------------------------------------------------------------------------------
```

## Reply by Alex Kushleyev (ModalAI staff) · 2024-08-30 16:32:36 UTC (in reply to giladWDS)

@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

## Reply by giladWDS · 2024-09-01 07:45:01 UTC (in reply to Alex Kushleyev)

@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

## Reply by Alex Kushleyev (ModalAI staff) · 2024-09-11 03:31:51 UTC (in reply to giladWDS)

@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

## Reply by giladWDS · 2024-10-27 12:43:28 UTC (in reply to Alex Kushleyev)

@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.

## Reply by Alex Kushleyev (ModalAI staff) · 2024-10-27 22:03:35 UTC (in reply to giladWDS)

@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

## Reply by giladWDS · 2024-10-28 09:40:54 UTC (in reply to Alex Kushleyev)

@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.

## Reply by Alex Kushleyev (ModalAI staff) · 2024-10-31 03:02:18 UTC (in reply to giladWDS)

@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.bin

instead 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

## Reply by giladWDS · 2024-11-03 17:58:07 UTC (in reply to Alex Kushleyev)

@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.

## Reply by Alex Kushleyev (ModalAI staff) · 2024-11-04 21:00:34 UTC (in reply to giladWDS)

@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

## Reply by giladWDS · 2024-11-05 12:31:04 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev hi 
I just stumbled upon the same bug with our voxl-flight-deck module that also refuses to downscale the fps.

## Reply by Alex Kushleyev (ModalAI staff) · 2024-11-05 15:33:07 UTC (in reply to giladWDS)

@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

## Reply by Alex Kushleyev (ModalAI staff) · 2024-11-05 15:54:55 UTC (in reply to Alex Kushleyev)

Perhaps the solution will be to check if desired fps is less than 30, then use the different fps range, but I would like to reproduce first, since i am able to set the fps correctly below 30 as is.

## Reply by giladWDS · 2024-11-07 14:50:58 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev 
the flight-deck is a voxl2 unit (qrb chip)
with voxl-camera-server 1.8.9 on 1.1.2 SDK
other than that one imx412 is enough for the server to crash but let me know if you  want the full config and/or driver list

## Reply by Alex Kushleyev (ModalAI staff) · 2024-11-16 05:24:49 UTC (in reply to giladWDS)

@giladWDS ,

Is it possible for you to try the same test on the latest SDK, at least 1.3.3 or 1.3.5 ? 

There have been many fixes and updates since 1.1.2 and 1.2.0. 

I just tested again on our latest camera server and no issue running 5 or 10hz preview at full resolution 4056x3040.

Alex

## Reply by giladWDS · 2024-11-17 12:10:12 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev 
I will test it with the flight deck and let you know as soon as I can

## Reply by Alex Kushleyev (ModalAI staff) · 2024-11-19 19:05:26 UTC (in reply to giladWDS)

@giladWDS , I believe i was able to reproduce the issue. It seems you cannot set the fps lower than 15fps only when you have raw preview enabled and no other streams that use ISP are running. Can you please confirm that this is the case?

If you have non-raw preview or other streams enabled like small or large video, then what happens the pipeline will actually drop frames to achieve the desired fps. So it is not ideal, that is to say that the camera is still sending higher fps, but the frames are dropped. However, the overhead for receiving extra frames and dropping them at lowest level is not too big. I will investigate if we can actually set the camera to run at the desired lower fps.

I am pretty sure that i can fix it, perhaps using the fix you already found, but can you please confirm that this is your camera configuration, if possible just paste your hires camera config here. Thanks!

Alex

## Reply by giladWDS · 2024-12-08 10:14:48 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev 
sorry for the delay, 
this sounds about right.
I'm not sure about the 15 fps but we do use raw preview only for our application and no other stream
this is my camera conf 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,
	"cameras":	[{
			"type":	"ov7251",
			"name":	"stereo",
			"enabled":	true,
			"camera_id":	0,
			"camera_id_second":	1,
			"independent_exposure":	false,
			"fps":	30,
			"en_rotate":	false,
			"en_rotate_second":	false,
			"en_preview":	true,
			"preview_width":	640,
			"preview_height":	480,
			"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
		}, {
			"type":	"imx412",
			"name":	"hires2",
			"enabled":	true,
			"camera_id":	2,
			"fps":	3,
			"en_rotate":	true,
			"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":	2048,
			"large_video_height":	1536,
			"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": "lme_msv",
            "ae_desired_msv": 65,
            "exposure_min_us": 20,
            "exposure_max_us": 33000,
            "gain_min": 20,
            "gain_max": 250,
            "exposure_soft_min_us": 3000,
            "ae_filter_alpha": 0.700000023841858,
            "ae_ignore_fraction": 0.20000000298023224,
            "ae_slope": 0.05000000074505806,
            "ae_exposure_period": 1,
            "ae_gain_period": 0.5
		}, {
			"type":	"imx412",
			"name":	"hires",
			"enabled":	true,
			"camera_id":	3,
			"fps":	3,
			"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": "lme_msv",
            "ae_desired_msv": 65,
            "exposure_min_us": 20,
            "exposure_max_us": 33000,
            "gain_min": 20,
            "gain_max": 250,
            "exposure_soft_min_us": 3000,
            "ae_filter_alpha": 0.700000023841858,
            "ae_ignore_fraction": 0.20000000298023224,
            "ae_slope": 0.05000000074505806,
            "ae_exposure_period": 1,
            "ae_gain_period": 0.5
		}, {
			"type":	"ov7251",
			"name":	"tracking",
			"enabled":	true,
			"camera_id":	4,
			"fps":	30,
			"en_rotate":	false,
			"en_preview":	true,
			"preview_width":	640,
			"preview_height":	480,
			"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
		}]
}
```
hope this helps
