voxl-camera-server saying Boson doesn't support 640x512 resolution when starting
-
Hi,
I am using a VOXL2 running SDK v1.4.5 with a Hadron 640R connected to J7. I am getting a video stream from the EO camera on the Hadron, but the voxl-camera-server says that 640x512 is an invalid resolution and doesn't start.
I followed the instructions posted here (https://docs.modalai.com/voxl2-hadron) after configuring the Hadron via the USB cable according to the instructions for the Boson camera, but maybe I'm missing something / did something silly?
The output of voxl-camera-server -l:
voxl2:~$ voxl-camera-server -l ==================================== Number of cameras detected: 2 ====================================
My config file (that I pulled from the instructions):
{ "version": 0.1, "fsync_en": false, "fsync_gpio": 109, "cameras": [{ "type": "boson", "name": "boson", "enabled": true, "camera_id": 0, "fps": 30, "en_preview": true, "en_misp": false, "preview_width": 640, "preview_height": 512, "en_raw_preview": true, "en_small_video": false, "en_large_video": false, "ae_mode": "off", "en_rotate": false, "small_video_width": 640, "small_video_height": 480, "small_venc_mode": "h264", "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, "small_venc_osd": false, "large_video_width": -1, "large_video_height": -1, "large_venc_mode": "h264", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 40, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 40, "large_venc_osd": false, "misp_width": -1, "misp_height": -1, "misp_venc_enable": true, "misp_venc_mode": "h264", "misp_venc_br_ctrl": "cqp", "misp_venc_Qfixed": 30, "misp_venc_Qmin": 15, "misp_venc_Qmax": 50, "misp_venc_nPframes": 29, "misp_venc_mbps": 2, "misp_venc_osd": false, "misp_awb": "auto", "misp_gamma": 1, "gain_min": 54, "gain_max": 8000 }, { "type": "ov64b", "name": "hires", "enabled": true, "camera_id": 1, "fps": 30, "en_preview": true, "en_misp": false, "preview_width": 1920, "preview_height": 1080, "en_raw_preview": false, "en_small_video": false, "en_large_video": false, "en_snapshot": false, "ae_mode": "isp", "gain_min": 54, "gain_max": 32000, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h264", "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, "small_venc_osd": false, "large_video_width": 3840, "large_video_height": 2160, "large_venc_mode": "h264", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 40, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 40, "large_venc_osd": false, "en_snapshot_width": 3840, "en_snapshot_height": 2160, "exif_focal_length": 3.0999999046325684, "exif_focal_length_in_35mm_format": 17, "exif_fnumber": 1.2400000095367432, "snapshot_jpeg_quality": 75, "misp_width": -1, "misp_height": -1, "misp_venc_enable": true, "misp_venc_mode": "h265", "misp_venc_br_ctrl": "cqp", "misp_venc_Qfixed": 38, "misp_venc_Qmin": 15, "misp_venc_Qmax": 50, "misp_venc_nPframes": 29, "misp_venc_mbps": 30, "misp_venc_osd": false, "misp_awb": "auto", "misp_gamma": 1.6 }] }
Output of voxl-camera-server -d 0:
voxl2:~$ voxl-camera-server -d 0 MISP awb str: auto Setting MISP AWB to Auto MISP channels enabled in defaults : 0 ERROR: object missing misp_channels MISP awb str: auto Setting MISP AWB to Auto MISP channels enabled in defaults : 0 ERROR: object missing misp_channels ================================================================= configuration for 2 cameras: cam #0 name: boson sensor type: boson isEnabled: 1 camId: 0 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 pre_width: 640 pre_height: 512 en_raw_preview: 1 en_small_video: 0 small_video_width: 640 small_video_height: 480 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_misp: 0 misp_width: -1 misp_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: off msv_exposure_min_us: 20 msv_exposure_max_us: 33000 gain_min : 54 gain_max : 8000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #1 name: hires sensor type: ov64b isEnabled: 1 camId: 1 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 pre_width: 1920 pre_height: 1080 en_raw_preview: 0 en_small_video: 0 small_video_width: 1024 small_video_height: 768 en_large_video: 0 large_video_width: 3840 large_video_height: 2160 en_misp: 0 misp_width: -1 misp_height: -1 en_snapshot: 0 snap_width: 3840 snap_height: 2160 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 gain_min : 54 gain_max : 32000 standby_enabled: 0 decimator: 1 independent_exposure:0 fsync_en: 0 fsync_gpio: 109 ================================================================= DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 2 VERBOSE: cci-direct: using voxl_platform_mod config 0 layout DEBUG: Cam idx: 0, Cam slot: 3, Slave Address: 0x006C, Sensor Id: 0x6442 DEBUG: Cam idx: 1, Cam slot: 5, Slave Address: 0x00D4, Sensor Id: 0x00FF thread is locked to cores: 4 5 6 7 connected to mavlink pipe Connected to cpu-monitor DEBUG: ------ voxl-camera-server: Starting 2 cameras Starting Camera: boson (id #0) DEBUG: Checking Gain limits for Camera: boson DEBUG: Using gain limits min: 54 max: 860 DEBUG: cam ID 0 checking for fmt: 37 w: 640 h: 512 o: 0 DEBUG: ==> option 0: format= 34 width=9248 height=6944 is_input=0 DEBUG: ==> option 4: format= 34 width=9248 height=6944 is_input=1 ... DEBUG: ==> option 644: format= 33 width= 720 height= 480 is_input=0 DEBUG: ==> option 648: format= 34 width= 640 height= 512 is_input=0 DEBUG: ==> option 652: format= 35 width= 640 height= 512 is_input=0 DEBUG: ==> option 656: format= 33 width= 640 height= 512 is_input=0 DEBUG: ==> option 660: format= 34 width= 640 height= 480 is_input=0 DEBUG: ==> option 664: format= 35 width= 640 height= 480 is_input=0 DEBUG: ==> option 668: format= 33 width= 640 height= 480 is_input=0 DEBUG: ==> option 672: format= 34 width= 640 height= 400 is_input=0 DEBUG: ==> option 676: format= 35 width= 640 height= 400 is_input=0 DEBUG: ==> option 680: format= 33 width= 640 height= 400 is_input=0 DEBUG: ==> option 684: format= 34 width= 640 height= 360 is_input=0 DEBUG: ==> option 688: format= 35 width= 640 height= 360 is_input=0 DEBUG: ==> option 692: format= 33 width= 640 height= 360 is_input=0 DEBUG: ==> option 696: format= 34 width= 352 height= 288 is_input=0 DEBUG: ==> option 700: format= 35 width= 352 height= 288 is_input=0 DEBUG: ==> option 704: format= 34 width= 320 height= 240 is_input=0 DEBUG: ==> option 708: format= 35 width= 320 height= 240 is_input=0 DEBUG: ==> option 712: format= 34 width= 240 height= 320 is_input=0 DEBUG: ==> option 716: format= 35 width= 240 height= 320 is_input=0 DEBUG: ==> option 720: format= 34 width= 176 height= 144 is_input=0 DEBUG: ==> option 724: format= 35 width= 176 height= 144 is_input=0 DEBUG: ==> option 728: format= 37 width=9248 height=6944 is_input=0 DEBUG: ==> option 732: format= 38 width=9248 height=6944 is_input=0 DEBUG: ==> option 736: format= 32 width=9248 height=6944 is_input=0 DEBUG: ==> option 740: format= 36 width=9248 height=6944 is_input=0 DEBUG: ==> option 744: format= 37 width=4624 height=3472 is_input=0 DEBUG: ==> option 748: format= 38 width=4624 height=3472 is_input=0 DEBUG: ==> option 752: format= 32 width=4624 height=3472 is_input=0 DEBUG: ==> option 756: format= 36 width=4624 height=3472 is_input=0 ERROR: Camera 0 failed to find supported preview config: 640x512 WARNING: Failed to start cam boson due to invalid resolution WARNING: assuming cam is missing and trying to compensate Starting Camera: hires (originally id #1) with id offset: 1 DEBUG: Checking Gain limits for Camera: hires DEBUG: Using gain limits min: 54 max: 860 DEBUG: cam ID 0 checking for fmt: 35 w: 1920 h: 1080 o: 0 DEBUG: ==> option 0: format= 34 width=9248 height=6944 is_input=0 DEBUG: ==> option 4: format= 34 width=9248 height=6944 is_input=1 ... DEBUG: ==> option 748: format= 38 width=4624 height=3472 is_input=0 DEBUG: ==> option 752: format= 32 width=4624 height=3472 is_input=0 DEBUG: ==> option 756: format= 36 width=4624 height=3472 is_input=0 VERBOSE: Successfully found configuration match for camera 0: 1920x1080 VERBOSE: Adding preview stream for camera: 0 DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI VERBOSE: Opened GBM fd gbm_create_device(156): Info: backend name is: msm_drm VERBOSE: Created GBM device DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=60 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=62 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=64 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=66 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=68 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=70 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=72 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=74 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=76 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=78 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=80 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=82 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=84 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=86 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=88 vaddr=(nil) DEBUG: Converted gralloc flags 0x20900 to GBM flags 0x1400000 VERBOSE: Dumping GBM flags DEBUG: Found flag GBM_BO_USAGE_CAMERA_WRITE_QTI DEBUG: Found flag GBM_BO_USAGE_HW_COMPOSER_QTI DEBUG: Allocated BO with width=1920 height=1080 stride=1920 aligned_w=1920 aligned_h=1088 size=3133440 flags=0x20900 format=GBM_FORMAT_YCbCr_420_888 fd=90 vaddr=(nil) DEBUG: Successfully set up pipeline for stream: PREVIEW VERBOSE: Entered thread: cam0-request(tid: 18927) DEBUG: Started Camera: hires ------ voxl-camera-server: Started 1 of 2 cameras ------ voxl-camera-server: Camera server is now running VERBOSE: Entered thread: cam0-result(tid: 18928) VERBOSE: added request for preview stream VERBOSE: Sending request for frame 0 for camera hires for 1 streams ...