## System Environment
## Description
I am trying to use an Orbbec Femto Mega I camera in true "software trigger" mode using OrbbecSDK_ROS2 (v2.7.6) with ROS 2 Jazzy on Ubuntu 24.04.3.
Goal:
I want the camera to behave like in OrbbecViewer when Software Trigger is enabled:
- The stream can be opened, but NO frames are produced/published automatically.
- A frame should only be captured/published when I explicitly send a software trigger (one-shot).
- I want exactly 1 frame per trigger (frames_per_trigger = 1).
This is important to avoid continuous streaming (bandwidth/CPU usage) and to synchronize acquisition with my own application logic.
What I configured (intended):
- sync_mode: "SOFTWARE_TRIGGERING"
- software_trigger_enabled: true
- frames_per_trigger: 1
Observed behavior:
Even with SOFTWARE_TRIGGERING enabled, the camera/driver keeps publishing frames continuously based on a periodic parameter (software trigger period).
- If I do not specify a period (comment/remove the period parameter in YAML), the driver still behaves as if a default period is applied (≈33 ms, ~30 FPS).
- If I set a period value explicitly, it streams continuously at that period.
In other words, in software trigger mode the driver still behaves as "periodic triggering" instead of true "trigger-on-demand".
Expected behavior:
- In SOFTWARE_TRIGGERING mode, the camera should publish 0 FPS until a trigger is issued.
- Each trigger should produce exactly frames_per_trigger frames (here: 1).
- This should replicate OrbbecViewer’s "Manual Trigger / Trigger Once" behavior.
Questions / Request:
- Is true one-shot software trigger supported for Femto Mega I in OrbbecSDK_ROS2?
- If yes, how can I fully disable periodic publishing so that frames are only produced when an explicit trigger is sent?
- Is there a ROS 2 service/topic/API equivalent to OrbbecViewer “Trigger Once”? If so, what is the recommended usage?
- If the current behavior (periodic streaming even in SOFTWARE_TRIGGERING) is intended, can you clarify the design and whether one-shot trigger can be added/exposed?
Thanks in advance.
## System Environment
Hardware Info:
Ubuntu Version: Ubuntu 24.04.3 LTS (Noble)
ROS Version: ROS 2 Jazzy
Camera Model: Orbbec Femto Mega I
Firmware Version: v2.0.4
Branch: v2-main
Commit:
## Description
I am trying to use an Orbbec Femto Mega I camera in true "software trigger" mode using OrbbecSDK_ROS2 (v2.7.6) with ROS 2 Jazzy on Ubuntu 24.04.3.
Goal:
I want the camera to behave like in OrbbecViewer when Software Trigger is enabled:
This is important to avoid continuous streaming (bandwidth/CPU usage) and to synchronize acquisition with my own application logic.
What I configured (intended):
Observed behavior:
Even with SOFTWARE_TRIGGERING enabled, the camera/driver keeps publishing frames continuously based on a periodic parameter (software trigger period).
In other words, in software trigger mode the driver still behaves as "periodic triggering" instead of true "trigger-on-demand".
Expected behavior:
Questions / Request:
Thanks in advance.