Can't connect IMX678 to VOXL2
-
My voxl suite: 1.1.1
hw version: M0054.I have an IMX678 Camera which is connected to the VOXL2 board using M0076 Interpose at J8.
This is my config file:
When I ran voxl-camera-server, I got an error: No Camera Connected.
So, I copied all the files from
usr/share/modalai/chi-cdk/imx678
library to/usr/lib/camera/
and tried running again.The camera server started but I don't see any images on the portal:
Can someone help me here?
-
@itsnav , it seems that you are looking at the wrong image stream. You should be looking at the
hires1_large_color
, based on the name of your camera beinghires1
.Can you see if
voxl-portal
has more options under the Cameras tab?What you are looking for is QVIO overlay, which ould have the features from Visual Inertial Odometery overlaid from the original image, but QVIO is normally run on a monochrome global shutter camera, which you do not have connected (judging from the picture).
Please double check..
Alex
-
@Alex-Kushleyev I can see a lot of options under the camera tab. Hires 1 Small, Large, Multi View. But I get a 0x0 resolution for them, can't see the output for any of them.
I tried downgrading my SDK to 1.0 as well, but it's the same issue. I just don't see any output, but the camera is detected and the camera server runs.
-
@Alex-Kushleyev This is the output of the voxl-platform
-
@itsnav Unless you have a specific reason to be on that SDK I'd recommend flashing the latest release from downloads.modalai.com
-
@tom I've tried upgrading the SDK to the version: 1.3.1. I am getting the same issue. The camera is detected, the server starts, but there is no output.
My config file:
{ "version": 0.1, "fsync_en": false, "fsync_gpio": 111, "cameras": [{ "type": "imx678", "name": "hires", "enabled": true, "camera_id": 0, "fps": 30, "en_preview": false, "preview_width": 640, "preview_height": 480, "pre_format": "nv21", "en_raw_preview": false, "en_small_video": true, "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": 3840, "large_video_height": 2160, "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": true, "en_snapshot_width": 3840, "en_snapshot_height": 2160, "ae_mode": "isp" }] }
Where am I going wrong?
-
@itsnav As a note, the latest release is SDK 1.3.3.
What do you see with
voxl-inspect-cam -a
? -
When I ran
voxl-inspect-cam -a
, I see the pipelines, but no data. Turns out the camera which we were using is faulty. When we ran the camera server in debug mode, we got this:We had an alternate camera and without changing any config, when we ran the camera server, it WORKED. We got the streams. In debug mode, we got this:
What do we do about the faulty camera? The light glows, camera is detected when I run
voxl-camera-server -l
, no idea what's wrong with it. The inspect cam doesn't show any data. Do we have any SOP for testing, debugging or repairing the camera? -
@itsnav, can you please clarify whether the alternate camera you testes is the same IMX678 or it is a camera of different type?
I would recommend trying a different extension flex, which connects the camera to VOXL2.
Alex
-
@Alex-Kushleyev The alternate camera is the same IMX678. Same Flex Cable, Same config, but one camera works but the other one doesn't work.
I can see the pipelines in
voxl-inspect-cam -a
of the faulty camera, but there is no data. But the camera board led lights up in green and even the camera is detected when I runvoxl-camera-server -l
-
@itsnav , based on your test, it does appear that the camera itself is not functioning. The camera detection and configuration happens via i2c bus but the image data is being sent via the high speed MIPI bus, so that is why you could have a case where the camera is detected and appears to be running but there is no actual data. It is possible that one of 10 (!) high speed connections is not working (one clock, 4 lanes -- all differential, so x2 number of connections).
You should probably RMA this camera unit.
I am also curious what
dmesg -w
will output while you are running the camera server with the non-working camera and trying to inspect the stream.dmesg
will output any major issues from the Kernel driver that may relate to the camera not working.Alex