@Alex-Kushleyev Great, I'll be updating with how the tests go
Posts made by jcai
-
RE: OV64B Configuration
-
RE: IMX412 Colour
Update: the filter was absolutely the difference maker
-
RE: QUP0 i2c access on VOXL2 mini
@Alex-Kushleyev
https://docs.modalai.com/voxl2-mini-linux-user-guide/
https://docs.modalai.com/voxl2-mini-connectors/#j7---camera-group-1-specific-pinout
The linux user guide says that i2c0 is on J7, but the connectors page only has i2c4 on pins 34/36. Could you confirm the correct bus and pin numbers here? I'm assuming i2c4 was on an older system image, in which case are the correct pins still 34/36?Also, turns out we're only using one camera so J7 will be free. As for QUP0, that makes sense, thanks
-
QUP0 i2c access on VOXL2 mini
Sort of a 2-part question:
On a VOXL2 mini, if I have both an M0155 and an M0181 on J6 and J7, is there any way to access i2c-0 on J7? I'm assuming if the coax adapter is on J7, there's no way to break out the i2c pins?
If not, then my other option is to use QUP0 on J19. I'm not running px4. Is it possible to somehow use that i2c bus from the apps proc? I've looked at
libqrb5165-io
and there doesn't seem to be anything for that. There's functions for accessing slpi UARTs, but only one port at a time?Thanks
-
RE: VOXL2 vlan
@modaltb As far as I can tell, I'm building a perf kernel. These are my changes:
MODAL_REPO_BRANCH=v1.8.02
inbin/qrb5165-common.sh
I've added the following lines to
./lu.um.1.2.1/apps_proc/poky/meta-voxl2-bsp/recipes-kernel/linux-msm/files/fragments/m005x.cfg
:CONFIG_MACVLAN=y CONFIG_VLAN_8021Q=y
And then building:
./qrb5165-build.sh -m M0054
-
RE: IMX412 Colour
@Alex-Kushleyev Thanks for the info. For now, we're going to swap the sensor for one with the filter to see how it performs. I'll be updating results here
-
RE: VOXL2 vlan
@Alex-Kushleyev To be sure, I cleaned the workspace and rebuilt the docker image as well. I re-synced, ensuring that the tag for the repos is v1.8.02. My voxl is also on SDK 1.4
Is this behaviour reproducible?
-
RE: IMX412 Colour
@Alex-Kushleyev I've tried the other driver, and the result looks largely the same. It's a bit brighter. (Cropped for file size)
My sensor indeed doesn't have the IR filter.
-
IMX412 Colour
Hi, I have a single IMX412 connected to M0173 J5 on a VOXL2.
com.qti.sensormodule.imx412_fpv_2.bin
is the only sensormodule file I have in/usr/lib/camera
.This is my camera server config file:
/** * 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": true, "fsync_gpio": 109, "cameras": [{ "type": "imx412", "name": "hires_front", "enabled": true, "camera_id": 0, "fps": 30, "en_preview": false, "preview_width": 640, "preview_height": 480, "en_raw_preview": false, "en_small_video": true, "small_video_width": 640, "small_video_height": 480, "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, "exif_focal_length": 3.0999999046325684, "exif_focal_length_in_35mm_format": 17, "exif_fnumber": 1.2400000095367432, "ae_mode": "isp" }] }
The issue I'm having has to do with the colour of the video. Indoors, the image looks fine but outdoors, there's a red tint that I can't seem to get rid of. I'm using
isp
currently, but I've also played around withlme_msv
, to not much improvement. Is this behaviour normal?
-
RE: VOXL2 vlan
@tom There's a couple, which I'm guessing have to do with all those modules not getting loaded anymore:
- eth0 no longer shows up in
ifconfig
voxl-configure-cameras
returnscat: /sys/module/voxl_platform_mod/parameters/config: No such file or directory
There may be more, but I haven't dug too deep into finding all the effects
- eth0 no longer shows up in
-
VOXL2 vlan
Hello, has 8021q vlan been tested on the VOXL2 before? I'm building the module for 1.8.02 for SDK 1.4 by enabling CONFIG_VLAN_8021Q, but it's causing some issues.
Below is the output from
lsmod
before and after enabling the module:voxl2:/$ lsmod Module Size Used by voxl_platform_mod 16384 0 voxl_gpio_mod 16384 0 voxl_fsync_mod 16384 0 machine_dlkm 159744 0 wcd938x_slave_dlkm 16384 0 wcd938x_dlkm 110592 1 machine_dlkm wcd9xxx_dlkm 49152 1 wcd938x_dlkm mbhc_dlkm 45056 1 wcd938x_dlkm tx_macro_dlkm 106496 0 rx_macro_dlkm 102400 0 va_macro_dlkm 98304 0 wsa_macro_dlkm 69632 1 machine_dlkm swr_ctrl_dlkm 57344 4 wsa_macro_dlkm,tx_macro_dlkm,rx_macro_dlkm,va_macro_dlkm bolero_cdc_dlkm 57344 5 machine_dlkm,wsa_macro_dlkm,tx_macro_dlkm,rx_macro_dlkm,va_macro_dlkm wsa881x_dlkm 45056 1 machine_dlkm wcd_core_dlkm 32768 7 wsa881x_dlkm,machine_dlkm,wsa_macro_dlkm,tx_macro_dlkm,rx_macro_dlkm,va_macro_dlkm,wcd938x_dlkm stub_dlkm 16384 0 hdmi_dlkm 24576 0 swr_dlkm 24576 4 wsa881x_dlkm,wcd938x_dlkm,swr_ctrl_dlkm,wcd938x_slave_dlkm pinctrl_lpi_dlkm 20480 0 pinctrl_wcd_dlkm 16384 0 usf_dlkm 57344 0 native_dlkm 163840 0 platform_dlkm 2195456 1 native_dlkm q6_dlkm 909312 9 bolero_cdc_dlkm,machine_dlkm,pinctrl_lpi_dlkm,usf_dlkm,va_macro_dlkm,swr_ctrl_dlkm,wcd9xxx_dlkm,native_dlkm,platform_dlkm adsp_loader_dlkm 16384 0 apr_dlkm 229376 4 q6_dlkm,usf_dlkm,adsp_loader_dlkm,platform_dlkm snd_event_dlkm 16384 5 bolero_cdc_dlkm,machine_dlkm,q6_dlkm,pinctrl_lpi_dlkm,apr_dlkm q6_notifier_dlkm 16384 3 q6_dlkm,pinctrl_lpi_dlkm,apr_dlkm q6_pdr_dlkm 16384 1 q6_notifier_dlkm 88XXau 2342912 0 8821cu 2465792 0 8188eu 1200128 0
voxl2:/$ lsmod Module Size Used by stub_dlkm 16384 0 q6_notifier_dlkm 16384 0 q6_pdr_dlkm 16384 1 q6_notifier_dlkm
The cause of this can be found using
dmesg
, where an example line is shown below. A multitude of other modules are showing similar errors with other symbols like_dev_err
[ 4.764189] voxl_gpio_mod: disagrees about version of symbol device_create [ 4.764192] voxl_gpio_mod: Unknown symbol device_create (err -22)
However, running
dmesg | grep VLAN
gives:voxl2:/$ dmesg | grep VLAN [ 1.954223] 8021q: 802.1Q VLAN Support v1.8 [ 5.013433] 8021q: adding VLAN 0 to HW filter on device bond0
-
LAN7800 support
Hello, I'm trying to use LAN7800 with a VOXL2. I'm on SDK 1.4 with an EVB-LAN7800LC-1 evaluation board.
I've seen that the lan78xx driver requires Linux kernel 4.3+ but even though the VOXL is on 4.19.125, it looks like there's support for lan78xx?
I've confirmed that the adapter works on my Windows laptop, but the following is what happens when I connect it to the VOXL2 on the M0151's port
voxl2:/$ dmesg | grep lan78 [ 1.869189] usbcore: registered new interface driver lan78xx [ 3.326980] libphy: lan78xx-mdiobus: probed [ 4.342277] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 4.342307] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 4.342340] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 4.342365] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 4.342462] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 4.342487] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 4.342520] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 4.869096] libphy: lan78xx-mdiobus: probed [ 12.810643] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 12.810685] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 12.810735] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 12.810772] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 12.810881] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 12.810931] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 12.810966] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 12.811009] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 13.329593] libphy: lan78xx-mdiobus: probed [ 27.122628] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 27.122673] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 27.122727] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 27.122818] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 27.123017] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 27.123056] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 27.123108] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 27.657519] libphy: lan78xx-mdiobus: probed [ 28.098415] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 28.098467] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 28.098525] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 28.098569] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 28.098727] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 28.098770] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 28.098827] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 28.610233] libphy: lan78xx-mdiobus: probed [ 30.898654] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 30.898721] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 30.898781] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 30.898821] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 30.898994] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 30.899056] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 30.899097] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 30.899146] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 31.412477] libphy: lan78xx-mdiobus: probed [ 32.814550] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 32.814604] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 32.814662] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 32.814832] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 32.814989] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 32.815030] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 32.815088] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 33.326810] libphy: lan78xx-mdiobus: probed [ 33.476910] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000424. ret = -71 [ 33.477263] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000420. ret = -71 . . . [ 42.338752] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 42.339081] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 42.339126] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 42.339185] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 42.863468] libphy: lan78xx-mdiobus: probed [ 44.298561] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 44.298614] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 44.298674] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 44.298720] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 44.298867] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 44.298911] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 44.298966] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 44.813080] libphy: lan78xx-mdiobus: probed [ 45.258417] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 45.258469] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 45.258651] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 45.258697] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 45.258842] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 45.258886] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 45.258942] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 45.774138] libphy: lan78xx-mdiobus: probed [ 46.226421] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 46.226472] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 46.226529] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 46.226572] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 46.226716] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 46.226759] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 46.226814] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 46.741781] libphy: lan78xx-mdiobus: probed [ 50.346684] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 50.346739] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 50.346801] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 50.346847] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 50.346991] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 50.347061] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000098. ret = -19 [ 50.347107] lan78xx 2-1:1.0 eth0: Failed to write register index 0x00000098. ret = -19 [ 50.347164] lan78xx 2-1:1.0 eth0: Failed to read register index 0x00000120. ret = -19 [ 50.607172] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000098. ret = -71 [ 50.607688] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000098. ret = -71 [ 50.608208] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.608668] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to write register index 0x00000010. ret = -71 [ 50.610775] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.612909] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.615291] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.617395] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.619530] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.621638] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.624239] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.626414] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.628507] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.630636] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.632776] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.635169] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.637805] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.639887] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.642301] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.644417] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.646512] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.648658] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.650747] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.653185] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.655546] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.657652] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 50.659752] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 . . . [ 51.611757] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 51.614032] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read register index 0x00000010. ret = -71 [ 51.614038] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): timeout on completion of LiteReset [ 51.614043] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Registers INIT FAILED.... [ 51.614089] lan78xx 2-1:1.0 (unnamed net_device) (uninitialized): Bind routine FAILED [ 51.615072] lan78xx: probe of 2-1:1.0 failed with error -5
-
RE: OV64B Configuration
@Alex-Kushleyev This looks pretty good, thanks!
If I'm understanding correctly, with one M0159, one M0181, and one M0155, I'd be able to connect all three sensors (OV64, boson, M0161) on a VOXL2/VOXL2 mini?
If that's the case, I'd be interested in experimenting with that setup. What would the process for getting these boards look like?
For the connection between the boards, what's the longest length coax I could get or use reliably?
-
RE: OV64B Configuration
@Alex-Kushleyev I appreciate the detailed response!
We'd be open to experimenting with some of this hardware. Is a picture of the M0159 (not schematics) something we could get?
As for an initial use case:
- OV64B: 30fps, 720p/1080p
- Boson: 30fps, 640x512, MIPI
- M0161 IMX412: This is what's currently interfaced with the M0173. What would it take to include this in the setup?
-
RE: OV64B Configuration
@Alex-Kushleyev I don't have the hadron itself on hand at the moment. I'm just doing some preliminary reading and planning for when we do get it.
We have a G-Hadron gimbal and accompanying G-Hadron RB5 adapter, which together will expose the boson through USB and the OV64B through MIPI.
Do you have a link to the M0159? I haven't been able to find it. If possible, I'd rather not connect the boson over USB.
-
RE: OV64B Configuration
I'm using a Hadron 640R with a VOXL2 (for now, but we plan on switching to a VOXL2 mini eventually). I also have a M0173 adapter board.
So far, I've only done some calcs for 35mm focal length:
With f = 4.8mm and D = 8.15mm, I get 35FL = 25.48mm
To make it an int, f = 4.75 and D = 8.2 is an option. -
OV64B Configuration
Hello, I'm seeing in the documentation and in the code that ov64b sensors are supported by SDK 1.4. I've confirmed that the bins exist in chi-cdk.
However, I'm not seeing any information/documentation on camera configs nor any default camera-server configs in the source code for this sensor.
How do I go about using it with voxl-camera-server.conf?
-
RE: VOXL2 Camera Configuration not found
@Alex-Kushleyev Thanks, everything looks alright now that I've removed the other cameras from the config file
-
RE: VOXL2 Camera Configuration not found
@modaltb yup, a single IMX412 on M0173 J5.
I've removed all the other
com.qti.sensormodule*.bin
files. These are the outputs I get when I runvoxl-camera-server -l
andvoxl-camera-server
with and without tracking_front enabled in the config file.As you can see, I'm still getting the same strange behaviour.
Default C28:
voxl2:/$ voxl-camera-server -l 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: 1 DEBUG: Cam idx: 0, 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: 1 ==================================== Stats for camera: 0 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 4056 x 3040 3840 x 2160 1920 x 1080 1920 x 1080 1920 x 1080 1280 x 720 1280 x 720 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 512 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 512 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 = 35200 ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY 2200 ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE min = 0ns max = 243753000ns ==================================== Number of cameras detected: 1 ====================================
voxl2:/$ voxl-camera-server detected system image 1.7.10 using new imx412 defaults detected system image 1.7.10 using new imx412 defaults ================================================================= configuration for 4 cameras: cam #0 name: tracking_front sensor type: ar0144 isEnabled: 1 camId: 0 camId2: -1 fps: 30 en_rotate: 1 en_rotate2: 0 en_preview: 1 pre_width: 1280 pre_height: 800 en_raw_preview: 1 en_small_video: 0 small_video_width: -1 small_video_height: -1 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_snapshot: 0 snap_width: -1 snap_height: -1 exif_focal_length: 0.000000 exif_focal_len_35mm_format:0 exif_fnumber: 0.000000 ae_mode: lme_msv msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #1 name: hires_front sensor type: imx412 isEnabled: 1 camId: 1 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 0 pre_width: 640 pre_height: 480 en_raw_preview: 0 en_small_video: 1 small_video_width: 640 small_video_height: 480 en_large_video: 0 large_video_width: 4056 large_video_height: 3040 en_snapshot: 0 snap_width: 4056 snap_height: 3040 exif_focal_length: 3.100000 exif_focal_len_35mm_format:17 exif_fnumber: 1.240000 ae_mode: isp msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #2 name: hires_down sensor type: imx412 isEnabled: 1 camId: 2 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 0 pre_width: 640 pre_height: 480 en_raw_preview: 0 en_small_video: 1 small_video_width: 640 small_video_height: 480 en_large_video: 1 large_video_width: 4056 large_video_height: 3040 en_snapshot: 1 snap_width: 4056 snap_height: 3040 exif_focal_length: 3.100000 exif_focal_len_35mm_format:17 exif_fnumber: 1.240000 ae_mode: isp msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #3 name: tracking_down sensor type: ar0144 isEnabled: 1 camId: 3 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 pre_width: 1280 pre_height: 800 en_raw_preview: 1 en_small_video: 0 small_video_width: -1 small_video_height: -1 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_snapshot: 0 snap_width: -1 snap_height: -1 exif_focal_length: 0.000000 exif_focal_len_35mm_format:0 exif_fnumber: 0.000000 ae_mode: lme_msv msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 fsync_en: 1 fsync_gpio: 109 ================================================================= Starting Camera: tracking_front (id #0) Connected to cpu-monitor ERROR: Camera 0 failed to find supported preview config: 1280x800 WARNING: Failed to start cam tracking_front due to invalid resolution WARNING: assuming cam is missing and trying to compensate Starting Camera: hires_front (originally id #1) with id offset: 1 gbm_create_device(156): Info: backend name is: msm_drm Starting Camera: hires_down (originally id #2) with id offset: 1 WARNING: cam hires_down (id 1) does not seem to be alive Starting Camera: tracking_down (originally id #3) with id offset: 1 WARNING: cam tracking_down (id 2) does not seem to be alive ------ voxl-camera-server: Started 1 of 4 cameras ------ voxl-camera-server: Camera server is now running
C28 with tracking_front disabled:
voxl2:/$ voxl-camera-server -l DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 1 DEBUG: Cam idx: 0, 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: 1 ==================================== Stats for camera: 0 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 4056 x 3040 3840 x 2160 1920 x 1080 1920 x 1080 1920 x 1080 1280 x 720 1280 x 720 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 512 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 512 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 = 35200 ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY 2200 ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE min = 0ns max = 243753000ns ==================================== Number of cameras detected: 1 ====================================
voxl2:/$ voxl-camera-server detected system image 1.7.10 using new imx412 defaults detected system image 1.7.10 using new imx412 defaults ================================================================= configuration for 4 cameras: cam #0 name: tracking_front sensor type: ar0144 isEnabled: 0 camId: 0 camId2: -1 fps: 30 en_rotate: 1 en_rotate2: 0 en_preview: 1 pre_width: 1280 pre_height: 800 en_raw_preview: 1 en_small_video: 0 small_video_width: -1 small_video_height: -1 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_snapshot: 0 snap_width: -1 snap_height: -1 exif_focal_length: 0.000000 exif_focal_len_35mm_format:0 exif_fnumber: 0.000000 ae_mode: lme_msv msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #1 name: hires_front sensor type: imx412 isEnabled: 1 camId: 1 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 0 pre_width: 640 pre_height: 480 en_raw_preview: 0 en_small_video: 1 small_video_width: 640 small_video_height: 480 en_large_video: 0 large_video_width: 4056 large_video_height: 3040 en_snapshot: 0 snap_width: 4056 snap_height: 3040 exif_focal_length: 3.100000 exif_focal_len_35mm_format:17 exif_fnumber: 1.240000 ae_mode: isp msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #2 name: hires_down sensor type: imx412 isEnabled: 1 camId: 2 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 0 pre_width: 640 pre_height: 480 en_raw_preview: 0 en_small_video: 1 small_video_width: 640 small_video_height: 480 en_large_video: 1 large_video_width: 4056 large_video_height: 3040 en_snapshot: 1 snap_width: 4056 snap_height: 3040 exif_focal_length: 3.100000 exif_focal_len_35mm_format:17 exif_fnumber: 1.240000 ae_mode: isp msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #3 name: tracking_down sensor type: ar0144 isEnabled: 1 camId: 3 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 pre_width: 1280 pre_height: 800 en_raw_preview: 1 en_small_video: 0 small_video_width: -1 small_video_height: -1 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_snapshot: 0 snap_width: -1 snap_height: -1 exif_focal_length: 0.000000 exif_focal_len_35mm_format:0 exif_fnumber: 0.000000 ae_mode: lme_msv msv_exposure_min_us: 20 msv_exposure_max_us: 33000 standby_enabled: 0 decimator: 1 independent_exposure:0 fsync_en: 1 fsync_gpio: 109 ================================================================= Skipping Camera: tracking_front, configuration marked disabled Starting Camera: hires_front (id #1) WARNING: cam hires_front (id 1) does not seem to be alive Starting Camera: hires_down (id #2) WARNING: cam hires_down (id 2) does not seem to be alive Starting Camera: tracking_down (id #3) WARNING: cam tracking_down (id 3) does not seem to be alive ERROR: failed to initialize any cameras ------ voxl-camera-server: Started 0 of 4 cameras ------ voxl-camera-server: Camera server is now running ------ voxl-camera-server: Camera server is now stopping Connected to cpu-monitor ------ voxl-camera-server: Camera server exited gracefully, returning -1