Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Accessories
  3. Image Sensors
  4. cam does not seem to be alive issue

cam does not seem to be alive issue

Scheduled Pinned Locked Moved Image Sensors
26 Posts 3 Posters 6.3k Views 2 Watching
  • 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.
  • G giladWDS

    @Alex-Kushleyev
    Hi, after I had to work on other projects I have finally come back to this and I managed to make the voxl read all cameras when I moved the tracking camera to j8-lower.
    now the issue I'm facing is with a frame rate reduction.
    it seems that whenever I try to change the frame rate of one of the high-res cameras the server crashes.
    this is the server log:

    Oct 27 12:35:13 root systemd[1]: Started voxl-camera-server.
    Oct 27 12:35:13 root voxl-camera-server[14170]: detected system image 1.7.6
    Oct 27 12:35:13 root voxl-camera-server[14170]: using new imx412 defaults
    Oct 27 12:35:13 root voxl-camera-server[14170]: detected system image 1.7.6
    Oct 27 12:35:14 root voxl-camera-server[14170]: using new imx412 defaults
    Oct 27 12:35:14 root voxl-camera-server[14170]: =================================================================
    Oct 27 12:35:14 root voxl-camera-server[14170]: configuration for 3 cameras:
    Oct 27 12:35:14 root voxl-camera-server[14170]: cam #0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     name:                hires2
    Oct 27 12:35:14 root voxl-camera-server[14170]:     sensor type:         imx412
    Oct 27 12:35:14 root voxl-camera-server[14170]:     isEnabled:           1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     camId:               0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     camId2:              -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     fps:                 10
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_rotate:           0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_rotate2:          0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_preview:          1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     pre_width:           4056
    Oct 27 12:35:14 root voxl-camera-server[14170]:     pre_height:          3040
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_raw_preview:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_small_video:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     small_video_width:   1024
    Oct 27 12:35:14 root voxl-camera-server[14170]:     small_video_height:  768
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_large_video:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     large_video_width:   4056
    Oct 27 12:35:14 root voxl-camera-server[14170]:     large_video_height:  3040
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_snapshot:         0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     snap_width:          4056
    Oct 27 12:35:14 root voxl-camera-server[14170]:     snap_height:         3040
    Oct 27 12:35:14 root voxl-camera-server[14170]:     ae_mode:             isp
    Oct 27 12:35:14 root voxl-camera-server[14170]:     standby_enabled:     0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     decimator:           1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     independent_exposure:0
    Oct 27 12:35:14 root voxl-camera-server[14170]: cam #1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     name:                hires
    Oct 27 12:35:14 root voxl-camera-server[14170]:     sensor type:         imx412
    Oct 27 12:35:14 root voxl-camera-server[14170]:     isEnabled:           1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     camId:               1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     camId2:              -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     fps:                 10
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_rotate:           0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_rotate2:          0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_preview:          1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     pre_width:           4056
    Oct 27 12:35:14 root voxl-camera-server[14170]:     pre_height:          3040
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_raw_preview:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_small_video:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     small_video_width:   1024
    Oct 27 12:35:14 root voxl-camera-server[14170]:     small_video_height:  768
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_large_video:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     large_video_width:   4056
    Oct 27 12:35:14 root voxl-camera-server[14170]:     large_video_height:  3040
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_snapshot:         0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     snap_width:          4056
    Oct 27 12:35:14 root voxl-camera-server[14170]:     snap_height:         3040
    Oct 27 12:35:14 root voxl-camera-server[14170]:     ae_mode:             isp
    Oct 27 12:35:14 root voxl-camera-server[14170]:     standby_enabled:     0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     decimator:           1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     independent_exposure:0
    Oct 27 12:35:14 root voxl-camera-server[14170]: cam #2
    Oct 27 12:35:14 root voxl-camera-server[14170]:     name:                tracking
    Oct 27 12:35:14 root voxl-camera-server[14170]:     sensor type:         ar0144
    Oct 27 12:35:14 root voxl-camera-server[14170]:     isEnabled:           1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     camId:               2
    Oct 27 12:35:14 root voxl-camera-server[14170]:     camId2:              -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     fps:                 30
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_rotate:           0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_rotate2:          0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_preview:          1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     pre_width:           1280
    Oct 27 12:35:14 root voxl-camera-server[14170]:     pre_height:          800
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_raw_preview:      1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_small_video:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     small_video_width:   -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     small_video_height:  -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_large_video:      0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     large_video_width:   -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     large_video_height:  -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     en_snapshot:         0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     snap_width:          -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     snap_height:         -1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     ae_mode:             lme_msv
    Oct 27 12:35:14 root voxl-camera-server[14170]:     standby_enabled:     0
    Oct 27 12:35:14 root voxl-camera-server[14170]:     decimator:           1
    Oct 27 12:35:14 root voxl-camera-server[14170]:     independent_exposure:0
    Oct 27 12:35:14 root voxl-camera-server[14170]: fsync_en:            0
    Oct 27 12:35:14 root voxl-camera-server[14170]: fsync_gpio:          111
    Oct 27 12:35:14 root voxl-camera-server[14170]: =================================================================
    Oct 27 12:35:14 root voxl-camera-server[14170]: connected to GPS mavlink pipe
    Oct 27 12:35:14 root voxl-camera-server[14170]: Starting Camera: hires2 (id #0)
    Oct 27 12:35:14 root voxl-camera-server[14170]: Connected to cpu-monitor
    Oct 27 12:35:14 root voxl-camera-server[14170]: Using gain limits min: 100 max: 1600
    Oct 27 12:35:14 root voxl-camera-server[14170]: gbm_create_device(156): Info: backend name is: msm_drm
    Oct 27 12:35:14 root voxl-camera-server[14170]: Starting Camera: hires (id #1)
    Oct 27 12:35:14 root voxl-camera-server[14170]: Using gain limits min: 100 max: 1600
    Oct 27 12:35:14 root voxl-camera-server[14170]: ERROR:   Received "Result" error from camera: hires2
    Oct 27 12:35:14 root systemd[1]: voxl-camera-server.service: Main process exited, code=killed, status=6/ABRT
    Oct 27 12:35:14 root systemd[1]: voxl-camera-server.service: Failed with result 'signal'.
    Oct 27 12:35:16 root systemd[1]: voxl-camera-server.service: Service hold-off time over, scheduling restart.
    Oct 27 12:35:16 root systemd[1]: voxl-camera-server.service: Scheduled restart job, restart counter is at 1.
    

    and this is the config file:

    cat /etc/modalai/voxl-camera-server.conf 
    /**
     * voxl-camera-server Configuration File
     *
     * Each camera has configurations for up to 4 HAL3 streams:
     *    - `preview` stream for raw unprocessed images from CV cameras
     *    - `small_video` 720p (ish) h264/h265 compressed for fpv video streaming
     *    - `large_video` 4k (ish) h264/h265 for onboard video recording to disk
     *    - `snapshot` ISP-processed JPG snapshots that get saved to disk
     *
     * on QRB5165 platforms (VOXL2 and VOXL2 mini) you can only have 3 of the 4 enabled
     *
     * This file is generated from default values by voxl-configure-cameras.
     * Do not expect arbitrary resolutions to work, the ISP and video compression
     * pipelines only support very specific resolutions.
     *
     * The default video compression mode is cqp or Constant Quantization Parameter
     *
     *
     *
     */
    {
    	"version":	0.1,
    	"fsync_en":	false,
    	"fsync_gpio":	111,
    	"cameras":	[{
    			"type":	"imx412",
    			"name":	"hires2",
    			"enabled":	true,
    			"camera_id":	0,
    			"fps":	10,
    			"en_preview":	true,
    			"preview_width":	4056,
    			"preview_height":	3040,
    			"en_raw_preview":	false,
    			"en_small_video":	false,
    			"small_video_width":	1024,
    			"small_video_height":	768,
    			"small_venc_mode":	"h265",
    			"small_venc_br_ctrl":	"cqp",
    			"small_venc_Qfixed":	30,
    			"small_venc_Qmin":	15,
    			"small_venc_Qmax":	40,
    			"small_venc_nPframes":	9,
    			"small_venc_mbps":	2,
    			"en_large_video":	false,
    			"large_video_width":	4056,
    			"large_video_height":	3040,
    			"large_venc_mode":	"h265",
    			"large_venc_br_ctrl":	"cqp",
    			"large_venc_Qfixed":	38,
    			"large_venc_Qmin":	15,
    			"large_venc_Qmax":	50,
    			"large_venc_nPframes":	29,
    			"large_venc_mbps":	30,
    			"en_snapshot":	false,
    			"en_snapshot_width":	4056,
    			"en_snapshot_height":	3040,
    			"ae_mode":	"isp"
    		}, {
    			"type":	"imx412",
    			"name":	"hires",
    			"enabled":	true,
    			"camera_id":	1,
    			"fps":	10,
    			"en_preview":	true,
    			"preview_width":	4056,
    			"preview_height":	3040,
    			"en_raw_preview":	false,
    			"en_small_video":	false,
    			"small_video_width":	1024,
    			"small_video_height":	768,
    			"small_venc_mode":	"h265",
    			"small_venc_br_ctrl":	"cqp",
    			"small_venc_Qfixed":	30,
    			"small_venc_Qmin":	15,
    			"small_venc_Qmax":	40,
    			"small_venc_nPframes":	9,
    			"small_venc_mbps":	2,
    			"en_large_video":	false,
    			"large_video_width":	4056,
    			"large_video_height":	3040,
    			"large_venc_mode":	"h265",
    			"large_venc_br_ctrl":	"cqp",
    			"large_venc_Qfixed":	38,
    			"large_venc_Qmin":	15,
    			"large_venc_Qmax":	50,
    			"large_venc_nPframes":	29,
    			"large_venc_mbps":	30,
    			"en_snapshot":	false,
    			"en_snapshot_width":	4056,
    			"en_snapshot_height":	3040,
    			"ae_mode":	"isp"
    		}, {
    			"type":	"ar0144",
    			"name":	"tracking",
    			"enabled":	true,
    			"camera_id":	2,
    			"fps":	30,
    			"en_rotate":	false,
    			"en_preview":	true,
    			"preview_width":	1280,
    			"preview_height":	800,
    			"en_raw_preview":	true,
    			"ae_mode":	"lme_msv",
    			"ae_desired_msv":	60,
    			"exposure_min_us":	20,
    			"exposure_max_us":	33000,
    			"gain_min":	54,
    			"gain_max":	8000,
    			"exposure_soft_min_us":	5000,
    			"ae_filter_alpha":	0.600000023841858,
    			"ae_ignore_fraction":	0.20000000298023224,
    			"ae_slope":	0.05000000074505806,
    			"ae_exposure_period":	1,
    			"ae_gain_period":	1
    		}]
    }
    

    And when I change it back to 30 fps it works. the problem is the CPU toll 30 takes.

    Alex KushleyevA Offline
    Alex KushleyevA Offline
    Alex Kushleyev
    ModalAI Team
    wrote on last edited by
    #14

    @giladWDS I did a quick test on my set up with IMX214 connected, and it has no issue with 5 or 10 fps with largest resolution 4208x3120 preview. I am pretty sure i tested slower (than 30) FPS on IMX412 before. Can you please try some other FPS (15, 20, 25) and see if you can find any pattern of cases that do not work? Also what if you disable one of the cameras. I am just trying to think what can cause this..

    I will get a chance to test with two IMX412 tomorrow.

    Alex

    G 1 Reply Last reply
    0
    • Alex KushleyevA Alex Kushleyev

      @giladWDS I did a quick test on my set up with IMX214 connected, and it has no issue with 5 or 10 fps with largest resolution 4208x3120 preview. I am pretty sure i tested slower (than 30) FPS on IMX412 before. Can you please try some other FPS (15, 20, 25) and see if you can find any pattern of cases that do not work? Also what if you disable one of the cameras. I am just trying to think what can cause this..

      I will get a chance to test with two IMX412 tomorrow.

      Alex

      G Offline
      G Offline
      giladWDS
      Contributor
      wrote on last edited by
      #15

      @Alex-Kushleyev
      I have tested different layouts with different cameras disabled and it didn't work either.
      for some reason, the voxl won't accept any other frame rate in the config file other than 30.

      Alex KushleyevA 1 Reply Last reply
      0
      • G giladWDS

        @Alex-Kushleyev
        I have tested different layouts with different cameras disabled and it didn't work either.
        for some reason, the voxl won't accept any other frame rate in the config file other than 30.

        Alex KushleyevA Offline
        Alex KushleyevA Offline
        Alex Kushleyev
        ModalAI Team
        wrote on last edited by
        #16

        @giladWDS , this is strange. I can set IMX412 to any rate I want, however I am using different sensormodule files - can you please try to use ones from :

        /usr/share/modalai/chi-cdk/imx412-fpv/com.qti.sensormodule.imx412_fpv_0.bin
        /usr/share/modalai/chi-cdk/imx412-fpv/com.qti.sensormodule.imx412_fpv_2.bin

        instead of com.qti.sensormodule.imx412_0.bin com.qti.sensormodule.imx412_2.bin (remove or rename these first).

        please note that it is possible that the "fpv" version of the sensormodules may not have the full resolution in your older system image (latest ones do), which you can check using voxl-camera-server -l, but i think it should..

        Edit: i also tried the modules you used, and works fine for me (i tested using a single camera)

        One more thing to try is to lock camera server to faster cpu cores, which can be done in the following way from command line (you should stop the camera server service first):

        taskset --cpu-list 4-7 voxl-camera-server
        

        If this still does not work, please provide output of dmesg and logcat saved to separate files, so i can potentially see the reason for the crash. Thanks! (well, even if one of the solutions works, i would still be curious what error you were getting before!)

        Alex

        G 1 Reply Last reply
        0
        • Alex KushleyevA Alex Kushleyev

          @giladWDS , this is strange. I can set IMX412 to any rate I want, however I am using different sensormodule files - can you please try to use ones from :

          /usr/share/modalai/chi-cdk/imx412-fpv/com.qti.sensormodule.imx412_fpv_0.bin
          /usr/share/modalai/chi-cdk/imx412-fpv/com.qti.sensormodule.imx412_fpv_2.bin

          instead of com.qti.sensormodule.imx412_0.bin com.qti.sensormodule.imx412_2.bin (remove or rename these first).

          please note that it is possible that the "fpv" version of the sensormodules may not have the full resolution in your older system image (latest ones do), which you can check using voxl-camera-server -l, but i think it should..

          Edit: i also tried the modules you used, and works fine for me (i tested using a single camera)

          One more thing to try is to lock camera server to faster cpu cores, which can be done in the following way from command line (you should stop the camera server service first):

          taskset --cpu-list 4-7 voxl-camera-server
          

          If this still does not work, please provide output of dmesg and logcat saved to separate files, so i can potentially see the reason for the crash. Thanks! (well, even if one of the solutions works, i would still be curious what error you were getting before!)

          Alex

          G Offline
          G Offline
          giladWDS
          Contributor
          wrote on last edited by
          #17

          @Alex-Kushleyev
          It would take some time to do this since I found a workaround compiling the camera server from source with a small fix:
          I changed the hal3_camera_mgr.cpp
          from:
          int32_t frame_rate_rate[] = {fps,fps};
          into:
          int32_t frame_rate_rate[] = {1,30};
          I know this is hacky and will probably bite me if I try to put higher fps for low fps cameras like a tof or something but it works for now.
          I will get back to it and update.

          Alex KushleyevA 1 Reply Last reply
          0
          • G giladWDS

            @Alex-Kushleyev
            It would take some time to do this since I found a workaround compiling the camera server from source with a small fix:
            I changed the hal3_camera_mgr.cpp
            from:
            int32_t frame_rate_rate[] = {fps,fps};
            into:
            int32_t frame_rate_rate[] = {1,30};
            I know this is hacky and will probably bite me if I try to put higher fps for low fps cameras like a tof or something but it works for now.
            I will get back to it and update.

            Alex KushleyevA Offline
            Alex KushleyevA Offline
            Alex Kushleyev
            ModalAI Team
            wrote on last edited by
            #18

            @giladWDS , thanks for the udpate!

            I believe we had to use the following line in order to enable fps higher than 30 (or higher than 60, i forget), otherwise the high fps was not working.

            int32_t frame_rate_rate[] = {fps,fps};
            

            We will keep this in mind, however I am not able to reproduce your issues, so we'll just keep this conversation open.

            Alex

            G 1 Reply Last reply
            0
            • Alex KushleyevA Alex Kushleyev

              @giladWDS , thanks for the udpate!

              I believe we had to use the following line in order to enable fps higher than 30 (or higher than 60, i forget), otherwise the high fps was not working.

              int32_t frame_rate_rate[] = {fps,fps};
              

              We will keep this in mind, however I am not able to reproduce your issues, so we'll just keep this conversation open.

              Alex

              G Offline
              G Offline
              giladWDS
              Contributor
              wrote on last edited by
              #19

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

              Alex KushleyevA 1 Reply Last reply
              0
              • G giladWDS

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

                Alex KushleyevA Offline
                Alex KushleyevA Offline
                Alex Kushleyev
                ModalAI Team
                wrote on last edited by
                #20

                @giladWDS , can you please provide minimal instructions to reproduce on voxl2? I can try it from sdk install, then configure cameras, modify config to lower fps and test.

                Regarding flight deck, is it voxl2 flight deck or voxl1?

                Alex

                Alex KushleyevA G 2 Replies Last reply
                0
                • Alex KushleyevA Alex Kushleyev

                  @giladWDS , can you please provide minimal instructions to reproduce on voxl2? I can try it from sdk install, then configure cameras, modify config to lower fps and test.

                  Regarding flight deck, is it voxl2 flight deck or voxl1?

                  Alex

                  Alex KushleyevA Offline
                  Alex KushleyevA Offline
                  Alex Kushleyev
                  ModalAI Team
                  wrote on last edited by
                  #21

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

                  1 Reply Last reply
                  0
                  • Alex KushleyevA Alex Kushleyev

                    @giladWDS , can you please provide minimal instructions to reproduce on voxl2? I can try it from sdk install, then configure cameras, modify config to lower fps and test.

                    Regarding flight deck, is it voxl2 flight deck or voxl1?

                    Alex

                    G Offline
                    G Offline
                    giladWDS
                    Contributor
                    wrote on last edited by
                    #22

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

                    Alex KushleyevA 1 Reply Last reply
                    0
                    • G giladWDS

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

                      Alex KushleyevA Offline
                      Alex KushleyevA Offline
                      Alex Kushleyev
                      ModalAI Team
                      wrote on last edited by
                      #23

                      @giladWDS ,

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

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

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

                      Alex

                      G 1 Reply Last reply
                      0
                      • Alex KushleyevA Alex Kushleyev

                        @giladWDS ,

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

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

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

                        Alex

                        G Offline
                        G Offline
                        giladWDS
                        Contributor
                        wrote on last edited by
                        #24

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

                        Alex KushleyevA 1 Reply Last reply
                        0
                        • G giladWDS

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

                          Alex KushleyevA Offline
                          Alex KushleyevA Offline
                          Alex Kushleyev
                          ModalAI Team
                          wrote on last edited by
                          #25

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

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

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

                          Alex

                          G 1 Reply Last reply
                          0
                          • Alex KushleyevA Alex Kushleyev

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

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

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

                            Alex

                            G Offline
                            G Offline
                            giladWDS
                            Contributor
                            wrote on last edited by
                            #26

                            @Alex-Kushleyev
                            sorry for the delay,
                            this sounds about right.
                            I'm not sure about the 15 fps but we do use raw preview only for our application and no other stream
                            this is my camera conf file:

                            cat /etc/modalai/voxl-camera-server.conf 
                            /**
                             * voxl-camera-server Configuration File
                             *
                             * Each camera has configurations for up to 4 HAL3 streams:
                             *    - `preview` stream for raw unprocessed images from CV cameras
                             *    - `small_video` 720p (ish) h264/h265 compressed for fpv video streaming
                             *    - `large_video` 4k (ish) h264/h265 for onboard video recording to disk
                             *    - `snapshot` ISP-processed JPG snapshots that get saved to disk
                             *
                             * on QRB5165 platforms (VOXL2 and VOXL2 mini) you can only have 3 of the 4 enabled
                             *
                             * This file is generated from default values by voxl-configure-cameras.
                             * Do not expect arbitrary resolutions to work, the ISP and video compression
                             * pipelines only support very specific resolutions.
                             *
                             * The default video compression mode is cqp or Constant Quantization Parameter
                             *
                             *
                             *
                             */
                            {
                            	"version":	0.1,
                            	"cameras":	[{
                            			"type":	"ov7251",
                            			"name":	"stereo",
                            			"enabled":	true,
                            			"camera_id":	0,
                            			"camera_id_second":	1,
                            			"independent_exposure":	false,
                            			"fps":	30,
                            			"en_rotate":	false,
                            			"en_rotate_second":	false,
                            			"en_preview":	true,
                            			"preview_width":	640,
                            			"preview_height":	480,
                            			"en_raw_preview":	true,
                            			"ae_mode":	"lme_msv",
                            			"ae_desired_msv":	60,
                            			"exposure_min_us":	20,
                            			"exposure_max_us":	33000,
                            			"gain_min":	54,
                            			"gain_max":	8000,
                            			"exposure_soft_min_us":	5000,
                            			"ae_filter_alpha":	0.600000023841858,
                            			"ae_ignore_fraction":	0.20000000298023224,
                            			"ae_slope":	0.05000000074505806,
                            			"ae_exposure_period":	1,
                            			"ae_gain_period":	1
                            		}, {
                            			"type":	"imx412",
                            			"name":	"hires2",
                            			"enabled":	true,
                            			"camera_id":	2,
                            			"fps":	3,
                            			"en_rotate":	true,
                            			"en_preview":	true,
                            			"preview_width":	4056,
                            			"preview_height":	3040,
                            			"en_raw_preview":	false,
                            			"en_small_video":	false,
                            			"small_video_width":	1024,
                            			"small_video_height":	768,
                            			"small_venc_mode":	"h265",
                            			"small_venc_br_ctrl":	"cqp",
                            			"small_venc_Qfixed":	30,
                            			"small_venc_Qmin":	15,
                            			"small_venc_Qmax":	40,
                            			"small_venc_nPframes":	9,
                            			"small_venc_mbps":	2,
                            			"en_large_video":	false,
                            			"large_video_width":	2048,
                            			"large_video_height":	1536,
                            			"large_venc_mode":	"h265",
                            			"large_venc_br_ctrl":	"cqp",
                            			"large_venc_Qfixed":	38,
                            			"large_venc_Qmin":	15,
                            			"large_venc_Qmax":	50,
                            			"large_venc_nPframes":	29,
                            			"large_venc_mbps":	30,
                            			"en_snapshot":	false,
                            			"en_snapshot_width":	4056,
                            			"en_snapshot_height":	3040,
                            		     "ae_mode": "lme_msv",
                                        "ae_desired_msv": 65,
                                        "exposure_min_us": 20,
                                        "exposure_max_us": 33000,
                                        "gain_min": 20,
                                        "gain_max": 250,
                                        "exposure_soft_min_us": 3000,
                                        "ae_filter_alpha": 0.700000023841858,
                                        "ae_ignore_fraction": 0.20000000298023224,
                                        "ae_slope": 0.05000000074505806,
                                        "ae_exposure_period": 1,
                                        "ae_gain_period": 0.5
                            		}, {
                            			"type":	"imx412",
                            			"name":	"hires",
                            			"enabled":	true,
                            			"camera_id":	3,
                            			"fps":	3,
                            			"en_preview":	true,
                            			"preview_width":	4056,
                            			"preview_height":	3040,
                            			"en_raw_preview":	false,
                            			"en_small_video":	false,
                            			"small_video_width":	1024,
                            			"small_video_height":	768,
                            			"small_venc_mode":	"h265",
                            			"small_venc_br_ctrl":	"cqp",
                            			"small_venc_Qfixed":	30,
                            			"small_venc_Qmin":	15,
                            			"small_venc_Qmax":	40,
                            			"small_venc_nPframes":	9,
                            			"small_venc_mbps":	2,
                            			"en_large_video":	false,
                            			"large_video_width":	4056,
                            			"large_video_height":	3040,
                            			"large_venc_mode":	"h265",
                            			"large_venc_br_ctrl":	"cqp",
                            			"large_venc_Qfixed":	38,
                            			"large_venc_Qmin":	15,
                            			"large_venc_Qmax":	50,
                            			"large_venc_nPframes":	29,
                            			"large_venc_mbps":	30,
                            			"en_snapshot":	false,
                            			"en_snapshot_width":	4056,
                            			"en_snapshot_height":	3040,
                            			"ae_mode": "lme_msv",
                                        "ae_desired_msv": 65,
                                        "exposure_min_us": 20,
                                        "exposure_max_us": 33000,
                                        "gain_min": 20,
                                        "gain_max": 250,
                                        "exposure_soft_min_us": 3000,
                                        "ae_filter_alpha": 0.700000023841858,
                                        "ae_ignore_fraction": 0.20000000298023224,
                                        "ae_slope": 0.05000000074505806,
                                        "ae_exposure_period": 1,
                                        "ae_gain_period": 0.5
                            		}, {
                            			"type":	"ov7251",
                            			"name":	"tracking",
                            			"enabled":	true,
                            			"camera_id":	4,
                            			"fps":	30,
                            			"en_rotate":	false,
                            			"en_preview":	true,
                            			"preview_width":	640,
                            			"preview_height":	480,
                            			"en_raw_preview":	true,
                            			"ae_mode":	"lme_msv",
                            			"ae_desired_msv":	60,
                            			"exposure_min_us":	20,
                            			"exposure_max_us":	33000,
                            			"gain_min":	54,
                            			"gain_max":	8000,
                            			"exposure_soft_min_us":	5000,
                            			"ae_filter_alpha":	0.600000023841858,
                            			"ae_ignore_fraction":	0.20000000298023224,
                            			"ae_slope":	0.05000000074505806,
                            			"ae_exposure_period":	1,
                            			"ae_gain_period":	1
                            		}]
                            }
                            

                            hope this helps

                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            ModalAI
                            Categories Recent Tags ModalAI.com Docs
                            © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups