Upon initializing my pipeline, I follow up with:

dai::CameraControl ctrl;
ctrl.setSceneMode(dai::CameraControl::SceneMode::ACTION);
controlQueue->send(ctrl);

Does this have any effect? I ask, as in experimenting with changing the scene mode at runtime just now, it seems to only have an effect if I also call:

ctrl.setControlMode(dai::CameraControl::ControlMode::USE_SCENE_MODE);

Is the above setControlMode call required for a setSceneMode call to have an effect?

  • jakaskerl replied to this.
  • luxd Is the above setControlMode call required for a setSceneMode call to have an effect?

    Yes 🙂

    Thanks,
    Jaka

    luxd Is the above setControlMode call required for a setSceneMode call to have an effect?

    Yes 🙂

    Thanks,
    Jaka

    a month later

    @jakaskerl It turns out this didn't actually work as part of the pipeline initialization. It does during runtime however. I see colorCam->initialControl , so it sounds like this should be used initially as part of the pipeline setup instead.

    1. Are there any examples of how to use colorCam->initialControl compared to my original example that works during runtime after the pipeline has initialized?
    2. On a related note, when I cycle through applying the scene modes back to UNSUPPORTED , the setting has no effect (the last used scene mode noticeably is still applied). Is there an additional API call(s) that need to be made to reset everything back to the default UNSUPPORTED type? Or ifUNSUPPORTED isn't the default scene mode, what is?
    3. In this Luxonis code example it says in the code comment: # Scene currently doesn't work . Is that a stale example or is there a known bug when working with setting scene modes?

      luxd

      luxd Are there any examples of how to use colorCam->initialControl compared to my original example that works during runtime after the pipeline has initialized?

      camRgb = pipeline.create(dai.node.ColorCamera)
      camRgb.setIspScale(1,3)
      camRgb.initialControl.setEffectMode(dai.RawCameraControl.EffectMode.SEPIA)

      luxd On a related note, when I cycle through applying the scene modes back to UNSUPPORTED , the setting has no effect (the last used scene mode noticeably is still applied). Is there an additional API call(s) that need to be made to reset everything back to the default UNSUPPORTED type? Or ifUNSUPPORTED isn't the default scene mode, what is?
      In this Luxonis code example it says in the code comment: # Scene currently doesn't work . Is that a stale example or is there a known bug when working with setting scene modes?

      The scene mode was never added, only the placeholder is there. There wasn't enough demand to expose it.

      Thanks,
      Jaka

      • luxd replied to this.
        6 days later

        jakaskerl The scene mode was never added, only the placeholder is there

        1. Are you sure? Maybe you can clarify what you mean by "never added" as setSceneMode does have an effect.
        2. When I do set the scene mode back to UNSUPPORTED I'm assuming the "default" settings are reapplied. I'm beginning to think this is an incorrect assumption and that instead I need to also manually call additional methods. Maybe I only need to call setControlMode back to AUTO. Can you add any context of your expectations for getting back to the defaults?

          luxd

          luxd Are you sure? Maybe you can clarify what you mean by "never added" as setSceneMode does have an effect.

          Which device? On my tested devices setSceneMode did nothing..

          Thanks,
          Jaka

          • luxd replied to this.

            jakaskerl Don't know what to tell you. I'm using the C++ API vs. Python. In any case, I'm no longer going to use setSceneMode as it isn't clear that it's fully supported or working. Thanks for your help.