ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Compatible ToF sensor setup with VOXL2 Mini

    VOXL Accessories
    4
    16
    446
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Morten NissovM
      Morten Nissov @Vinny
      last edited by

      @Vinny Sorry thought I had responded, thanks!

      1 Reply Last reply Reply Quote 0
      • Morten NissovM
        Morten Nissov @Vinny
        last edited by

        @Vinny @Alex-Kushleyev

        Hi,

        We are trying to configure Voxl 2 Mini with the ToF sensor and a tracking camera with the , and we're having trouble with getting the ToF sensor to work. This is with the new ToF sensor and the new interposer you suggested for us to use.

        The cameras are attached in the following way:
        J7 <-> M0135 (JL) <-> M0014
        J6 <-> M0172 (J1L) <-> M0170 <-> tof
        The voxl suite we have on the board is: voxl-suite: 1.5.0

        To configure the cameras we run:
        voxl-configure-sku
        choosing options 23 (voxl-configure-sku) and 5 (pmd-tof ov7251 tracking).
        The output was the following:

        Your answers would construct the following SKU:
        
        family code:   MCCA-M0104 (voxl2-mini-board-only (MCCA-M0104))
        compute board: 6 (voxl2-mini)
        hw version:    1
        cam config:    05
        modem config:   ()
        tx config:      ()
        extras config:  ()
        SKU:           MCCA-M0104-C05-T0-M0-X0
        
        This sku will be saved to persistent memory so VOXL
        will remember what it is installed in, even between
        system image flashes.
        

        So we run: voxl-configure-mpa and reboot

        To inspect the cameras, we run voxl-inspect-cam -a , but we were able to see only the tracking camera:

        | Pipe Name |  bytes  | wide |  hgt |exp(ms)| gain | frame id |latency(ms)|  fps |  mbps  | format
        |  tracking |  307200 |  640 |  480 |  2.51 |   51 |      204 |     11.5  | 30.0 |   73.7 | RAW8
        

        So we restarted the service voxl-camera-server , but we got the following error + warnings:

        existing instance of voxl-camera-server found, attempting to stop it
        =================================================================
        configuration for 2 cameras:
        
        cam #0
            name:                tof
            sensor type:         pmd-tof
            isEnabled:           1
            camId:               0
            camId2:              -1
            fps:                 5
            en_rotate:           1
            en_rotate2:          0
        
            en_preview:          1
            pre_width:           224
            pre_height:          1557
            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_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:           5
            independent_exposure:0
        
        cam #1
            name:                tracking
            sensor type:         ov7251
            isEnabled:           1
            camId:               1
            camId2:              -1
            fps:                 30
            en_rotate:           0
            en_rotate2:          0
        
            en_preview:          1
            pre_width:           640
            pre_height:          480
            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_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:             lme_msv
            msv_exposure_min_us: 20
            msv_exposure_max_us: 33000
            gain_min           : 54
            gain_max           : 8000
            standby_enabled:     0
            decimator:           1
            independent_exposure:0
        
        fsync_en:            0
        fsync_gpio:          109
        =================================================================
        thread is locked to cores: 4 5 6 7
        connected to mavlink pipe
        Connected to cpu-monitor
        Starting Camera: tof (id #0)
        ERROR:   Camera 0 failed to find supported preview config: 224x1557
        WARNING: Failed to start cam tof due to invalid resolution
        WARNING: assuming cam is missing and trying to compensate
        Starting Camera: tracking (originally id #1) with id offset: 1
        gbm_create_device(156): Info: backend name is: msm_drm
        setting ov7251 BLC register for cam id 0
        
        ------ voxl-camera-server: Started 1 of 2 cameras
        
        ------ voxl-camera-server: Camera server is now running
        

        Note, we also tried to modify the preview resolution, as well as disabling the preview entirely. But making these changes to the /etc/modalai/voxl-camera-server.conf file didn't seem to change the actual configuration used, as reported when running voxl-camera-server in terminal.

        Do you have any suggestions for how we can get this working?

        Morten NissovM 1 Reply Last reply Reply Quote 0
        • Morten NissovM
          Morten Nissov @Morten Nissov
          last edited by

          Additional debugging:

          Moreover, we test some other configurations:

          • J7 <-> M0135 (JL) <-> M0014
          • J6 <-> M0172 (J1L) <-> M0170 <-> tof

          We copied the files: com.qti.sensormodule.ov7251_*.bin and com.qti.sensormodule.irs2975c_*.bin into the folder: /usr/lib/camera
          We used the command: camera-server-config-helper tracking:ov7251:0 tof:pmd-tof:2 giving the following output:

          successfully wrote this camera config to disk:
          =================================================================
          configuration for 2 cameras:
          
          cam #0
              name:                tracking
              sensor type:         ov7251
              isEnabled:           1
              camId:               0
              camId2:              -1
              fps:                 30
              en_rotate:           0
              en_rotate2:          0
          
              en_preview:          1
              pre_width:           640
              pre_height:          480
              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_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:             lme_msv
              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:                tof
              sensor type:         pmd-tof
              isEnabled:           1
              camId:               2
              camId2:              -1
              fps:                 5
              en_rotate:           1
              en_rotate2:          0
          
              en_preview:          1
              pre_width:           224
              pre_height:          1557
              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_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:           5
              independent_exposure:0
          
          fsync_en:            0
          fsync_gpio:          109
          =================================================================
          camera_server_config_helper is done
          

          Then we run voxl-camera-server giving the following output:

          existing instance of voxl-camera-server found, attempting to stop it
          =================================================================
          configuration for 2 cameras:
          
          cam #0
              name:                tracking
              sensor type:         ov7251
              isEnabled:           1
              camId:               0
              camId2:              -1
              fps:                 30
              en_rotate:           0
              en_rotate2:          0
          
              en_preview:          1
              pre_width:           640
              pre_height:          480
              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_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:             lme_msv
              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:                tof
              sensor type:         pmd-tof
              isEnabled:           1
              camId:               2
              camId2:              -1
              fps:                 5
              en_rotate:           1
              en_rotate2:          0
          
              en_preview:          1
              pre_width:           224
              pre_height:          1557
              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_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:           5
              independent_exposure:0
          
          fsync_en:            0
          fsync_gpio:          109
          =================================================================
          thread is locked to cores: 4 5 6 7
          connected to mavlink pipe
          Connected to cpu-monitor
          Starting Camera: tracking (id #0)
          gbm_create_device(156): Info: backend name is: msm_drm
          setting ov7251 BLC register for cam id 0
          Starting Camera: tof (id #2)
          WARNING: cam tof (id 2) does not seem to be alive
          
          ------ voxl-camera-server: Started 1 of 2 cameras
          
          ------ voxl-camera-server: Camera server is now running
          

          And running voxl-inspect-cam -a still gives the following output:

          | Pipe Name |  bytes  | wide |  hgt |exp(ms)| gain | frame id |latency(ms)|  fps |  mbps  | format
          |  tracking |  307200 |  640 |  480 |  2.28 |   51 |      294 |     11.5  | 30.0 |   73.7 | RAW8
          

          To be sure that all the parts were working, we tested two M0172 and 2 ToF sensors, which were actually working on VOXL 2. We also swapped the tracking camera and the ToF sensor (J6 <-> J7), copying the .bin files according to and adjusting the ID numbers.

          Alex KushleyevA 1 Reply Last reply Reply Quote 0
          • Alex KushleyevA
            Alex Kushleyev ModalAI Team @Morten Nissov
            last edited by Alex Kushleyev

            @Morten-Nissov , please only put one sensormodule with the correct slot number in /usr/lib/camera. This will help eliminate any confusion.

            Also, does voxl-camera-server -l actually detect your TOF module?

            It seems your camera id is actually incorrect. It should be 1. The slot id is 2 (which is tied to the hardware), but the software camera Id is assigned as the cameras are probed in each slot. voxl-camera-server -l will tell you (at the top) which cameras have been detected, which slot and camera ids.

            Alex

            Morten NissovM 1 Reply Last reply Reply Quote 0
            • Morten NissovM
              Morten Nissov @Alex Kushleyev
              last edited by

              @Alex-Kushleyev Thanks for getting back to us so quickly.

              We removed all the com.qti.sensormodule.ov7251_*.bin and the com.qti.sensormodule.irs2975c_*.bin files.
              Then we ran, as you suggested, the command: voxl-camera-server -l. The output was:

              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: 0x00E2, Sensor Id: 0x7750
              DEBUG:   Cam idx: 1, Cam slot: 2, Slave Address: 0x007A, Sensor Id: 0x2975
              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
               640 x  480
               640 x  480
               640 x  480
              ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
              These are NOT necessarily supported by the sensor
               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
               640 x  480 HAL_PIXEL_FORMAT_RAW10
               640 x  480 HAL_PIXEL_FORMAT_RAW12
               640 x  480 HAL_PIXEL_FORMAT_RAW16
               640 x  480 HAL_PIXEL_FORMAT_RAW_OPAQUE
              ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                      min = 54
                      max = 3451
              ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                      3451
              ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                      min = 0ns
                      max = 1266732525ns
              ====================================
              Stats for camera: 1
              ANDROID_SCALER_AVAILABLE_RAW_SIZES:
              These are likely supported by the sensor
               240 x 1629
              ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
              These are NOT necessarily supported by the sensor
               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
               240 x 1629 HAL_PIXEL_FORMAT_RAW10
               240 x 1629 HAL_PIXEL_FORMAT_RAW12
               240 x 1629 HAL_PIXEL_FORMAT_RAW16
               240 x 1629 HAL_PIXEL_FORMAT_RAW_OPAQUE
              ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                      min = 54
                      max = 0
              ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                      0
              ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                      min = 0ns
                      max = 0ns
              ====================================
              Number of cameras detected: 2
              ====================================
              

              Given the output, we copied the files com.qti.sensormodule.ov7251_0.bin and com.qti.sensormodule.irs2975c_2.bin into /usr/lib/camera folder.
              Then we ran: camera-server-config-helper tracking:ov7251:0 tof:pmd-tof:2 and got the following output:

              successfully wrote this camera config to disk:
              =================================================================
              configuration for 2 cameras:
              cam #0
                  name:                tracking
                  sensor type:         ov7251
                  isEnabled:           1
                  camId:               0
                  camId2:              -1
                  fps:                 30
                  en_rotate:           0
                  en_rotate2:          0
                  en_preview:          1
                  pre_width:           640
                  pre_height:          480
                  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_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:             lme_msv
                  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:                tof
                  sensor type:         pmd-tof
                  isEnabled:           1
                  camId:               2
                  camId2:              -1
                  fps:                 5
                  en_rotate:           1
                  en_rotate2:          0
                  en_preview:          1
                  pre_width:           224
                  pre_height:          1557
                  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_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:           5
                  independent_exposure:0
              fsync_en:            0
              fsync_gpio:          109
              =================================================================
              camera_server_config_helper is done
              

              Finally, we ran: voxl-camera-server, and we got:

              existing instance of voxl-camera-server found, attempting to stop it
              =================================================================
              configuration for 2 cameras:
              cam #0
                  name:                tracking
                  sensor type:         ov7251
                  isEnabled:           1
                  camId:               0
                  camId2:              -1
                  fps:                 30
                  en_rotate:           0
                  en_rotate2:          0
                  en_preview:          1
                  pre_width:           640
                  pre_height:          480
                  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_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:             lme_msv
                  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:                tof
                  sensor type:         pmd-tof
                  isEnabled:           1
                  camId:               2
                  camId2:              -1
                  fps:                 5
                  en_rotate:           1
                  en_rotate2:          0
                  en_preview:          1
                  pre_width:           224
                  pre_height:          1557
                  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_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:           5
                  independent_exposure:0
              fsync_en:            0
              fsync_gpio:          109
              =================================================================
              thread is locked to cores: 4 5 6 7
              connected to mavlink pipe
              Connected to cpu-monitor
              Starting Camera: tracking (id #0)
              gbm_create_device(156): Info: backend name is: msm_drm
              setting ov7251 BLC register for cam id 0
              Starting Camera: tof (id #2)
              WARNING: cam tof (id 2) does not seem to be alive
              ------ voxl-camera-server: Started 1 of 2 cameras
              ------ voxl-camera-server: Camera server is now running
              

              Just to make sure that only one camera was working, we ran: voxl-inspect-cam -a and got:

              | Pipe Name |  bytes  | wide |  hgt |exp(ms)| gain | frame id |latency(ms)|  fps |  mbt
              |  tracking |  307200 |  640 |  480 |  5.04 |  111 |      179 |     11.6  | 30.0 |   73.7 | RAW8
              

              What do you think?

              Alex KushleyevA 1 Reply Last reply Reply Quote 0
              • Alex KushleyevA
                Alex Kushleyev ModalAI Team @Morten Nissov
                last edited by

                @Morten-Nissov said in Compatible ToF sensor setup with VOXL2 Mini:

                DEBUG: Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750
                DEBUG: Cam idx: 1, Cam slot: 2, Slave Address: 0x007A, Sensor Id: 0x2975

                Please use camera id 1 in your voxl-camera-server.conf instead of 2. The slot # is 2 but camera id is 1.

                Alex

                Luca ZanattaL 2 Replies Last reply Reply Quote 0
                • Luca ZanattaL
                  Luca Zanatta @Alex Kushleyev
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • Luca ZanattaL
                    Luca Zanatta @Alex Kushleyev
                    last edited by Luca Zanatta

                    @Alex-Kushleyev

                    Hi, I'm Luca, and I'm currently working on the ModalAI voxl2 mini. Thanks for your help and your quick answers.

                    To recap: I ran voxl-camera-server -l, and I got:

                    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: 0x00E2, Sensor Id: 0x7750
                    DEBUG:   Cam idx: 1, Cam slot: 2, Slave Address: 0x007A, Sensor Id: 0x2975
                    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
                     640 x  480
                     640 x  480
                     640 x  480
                    
                    ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
                    These are NOT necessarily supported by the sensor
                     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
                     640 x  480 HAL_PIXEL_FORMAT_RAW10
                     640 x  480 HAL_PIXEL_FORMAT_RAW12
                     640 x  480 HAL_PIXEL_FORMAT_RAW16
                     640 x  480 HAL_PIXEL_FORMAT_RAW_OPAQUE
                    
                    ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                            min = 54
                            max = 3451
                    
                    ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                            3451
                    
                    ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                            min = 0ns
                            max = 1266732525ns
                    
                    
                    ====================================
                    Stats for camera: 1
                    
                    ANDROID_SCALER_AVAILABLE_RAW_SIZES:
                    These are likely supported by the sensor
                     240 x 1629
                    
                    ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
                    These are NOT necessarily supported by the sensor
                     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
                     240 x 1629 HAL_PIXEL_FORMAT_RAW10
                     240 x 1629 HAL_PIXEL_FORMAT_RAW12
                     240 x 1629 HAL_PIXEL_FORMAT_RAW16
                     240 x 1629 HAL_PIXEL_FORMAT_RAW_OPAQUE
                    
                    ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                            min = 54
                            max = 0
                    
                    ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                            0
                    
                    ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                            min = 0ns
                            max = 0ns
                    
                    ====================================
                    Number of cameras detected: 2
                    ====================================
                    

                    Instead of checking the Cam slot, I have to check Cam idx. So I ran the following command: camera-server-config-helper tracking:ov7251:0 tof:pmd-tof:1 and got the following output:

                    successfully wrote this camera config to disk:
                    =================================================================
                    configuration for 2 cameras:
                    
                    cam #0
                        name:                tracking
                        sensor type:         ov7251
                        isEnabled:           1
                        camId:               0
                        camId2:              -1
                        fps:                 30
                        en_rotate:           0
                        en_rotate2:          0
                    
                        en_preview:          1
                        pre_width:           640
                        pre_height:          480
                        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_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:             lme_msv
                        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:                tof
                        sensor type:         pmd-tof
                        isEnabled:           1
                        camId:               1
                        camId2:              -1
                        fps:                 5
                        en_rotate:           1
                        en_rotate2:          0
                    
                        en_preview:          1
                        pre_width:           224
                        pre_height:          1557
                        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_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:           5
                        independent_exposure:0
                    
                    fsync_en:            0
                    fsync_gpio:          109
                    =================================================================
                    camera_server_config_helper is done
                    

                    Finally, I ran voxl-camera-server and got the following error:

                    =================================================================
                    configuration for 2 cameras:
                    
                    cam #0
                        name:                tracking
                        sensor type:         ov7251
                        isEnabled:           1
                        camId:               0
                        camId2:              -1
                        fps:                 30
                        en_rotate:           0
                        en_rotate2:          0
                    
                        en_preview:          1
                        pre_width:           640
                        pre_height:          480
                        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_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:             lme_msv
                        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:                tof
                        sensor type:         pmd-tof
                        isEnabled:           1
                        camId:               1
                        camId2:              -1
                        fps:                 5
                        en_rotate:           1
                        en_rotate2:          0
                    
                        en_preview:          1
                        pre_width:           224
                        pre_height:          1557
                        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_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:           5
                        independent_exposure:0
                    
                    fsync_en:            0
                    fsync_gpio:          109
                    =================================================================
                    thread is locked to cores: 4 5 6 7
                    connected to mavlink pipe
                    Connected to cpu-monitor
                    Starting Camera: tracking (id #0)
                    gbm_create_device(156): Info: backend name is: msm_drm
                    setting ov7251 BLC register for cam id 0
                    Starting Camera: tof (id #1)
                    ERROR:   Camera 1 failed to find supported preview config: 224x1557
                    WARNING: Failed to start cam tof due to invalid resolution
                    WARNING: assuming cam is missing and trying to compensate
                    
                    ------ voxl-camera-server: Started 1 of 2 cameras
                    
                    ------ voxl-camera-server: Camera server is now running
                    

                    Do you have any suggestions?

                    Thanks for your help,
                    Luca

                    Alex KushleyevA 1 Reply Last reply Reply Quote 0
                    • Alex KushleyevA
                      Alex Kushleyev ModalAI Team @Luca Zanatta
                      last edited by Alex Kushleyev

                      @Luca-Zanatta , I believe your issue is that you are specifying the wrong type of TOF sensor. There are two types:

                      • pmd-tof (old, EOL)
                      • pmd-tof-liow2 (a.k.a irs2975c)

                      Based on your sensor id (Slave Address: 0x007A, Sensor Id: 0x2975), you have pmd-tof-liow2, so you should run camera-server-config-helper tracking:ov7251:0 tof:pmd-tof-liow2:1).

                      When you configured for pmd-tof, the camera server config was incorrectly set for the old TOF sensor, which has resolution of 224x1557. The new TOF sensor has resolution of 240x1629

                      Please try. Sorry i did not catch that earlier.

                      Alex

                      Luca ZanattaL 1 Reply Last reply Reply Quote 0
                      • Luca ZanattaL
                        Luca Zanatta @Alex Kushleyev
                        last edited by

                        Hi @Alex-Kushleyev,

                        Now it's working!

                        Thank you so much for your help and quick answers.

                        Best,
                        Luca

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB | Contributors