Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,9 @@ The following are the launch parameters available:
- `color_width`, `color_height`, `color_fps`: The resolution and frame rate of the color stream.
- `ir_width`, `ir_height`, `ir_fps`: The resolution and frame rate of the IR stream.
- `depth_width`, `depth_height`, `depth_fps`: The resolution and frame rate of the depth stream.
If you set `sync_mode` to `free_run`, the `color_fps` value can be different from the other values.
`depth_fps` and `ir_fps` should always be the same.
- `sync_mode`: The mode of data synchronization. Acceptable values are `standalone` and `free_run`
Comment on lines +383 to +385
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The added documentation about FPS constraints helps address issue #97, but it doesn't fully explain why the FPS settings might not work as expected. The issue mentions that setting color_fps to 5 resulted in 30fps instead.

The documentation should clarify that:

  1. The sync_mode setting directly affects whether independent FPS settings are honored
  2. Users experiencing FPS issues should verify their sync_mode setting matches their intended use case
  3. In modes other than free_run, the camera hardware enforces synchronized frame rates, which may override user-specified FPS values

This would provide clearer guidance for troubleshooting FPS-related issues.

Suggested change
If you set `sync_mode` to `free_run`, the `color_fps` value can be different from the other values.
`depth_fps` and `ir_fps` should always be the same.
- `sync_mode`: The mode of data synchronization. Acceptable values are `standalone` and `free_run`
If you set `sync_mode` to `free_run`, the `color_fps` value can be different from the other values and the
camera will try to honor the independently requested FPS values for each enabled stream (subject to the
FPS options that the device actually supports).
In synchronized modes (any mode other than `free_run`), the camera hardware enforces a common frame rate
for the color, depth, and IR streams, and may override or round your requested `*_fps` parameters to a
supported synchronized value. In this case it is expected, for example, that requesting `color_fps:=5`
could still produce a 30 FPS color stream if 30 FPS is the only synchronized rate supported by the device.
`depth_fps` and `ir_fps` should always be the same, because these streams must share the same effective
frame rate when synchronized by the camera hardware.
- `sync_mode`: The mode of data synchronization. Acceptable values are `standalone` and `free_run`.
In `free_run` mode, streams run independently and per-stream `*_fps` settings are applied where supported.
In `standalone` and other synchronized modes, the device selects a common FPS for all active streams, which
can override the user-specified `color_fps`, `depth_fps`, and `ir_fps`. If you observe that your configured
FPS values are not being respected (for example, 5 FPS resulting in an actual 30 FPS stream), first verify
that `sync_mode` is set to the mode that matches your intended use case.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation lists only standalone and free_run as acceptable values for sync_mode, but the code implementation supports seven different modes: free_run, standalone, primary, secondary, secondary_synced, software_triggering, and hardware_triggering.

The codebase shows examples using software_triggering and hardware_triggering modes (e.g., in multi_camera_synced.launch.py), and the SDK header file (ObTypes.h) provides detailed documentation for all seven modes. The documentation should list all supported modes to help users configure multi-device synchronization scenarios properly.

Suggested change
- `sync_mode`: The mode of data synchronization. Acceptable values are `standalone` and `free_run`
- `sync_mode`: The mode of data synchronization. Acceptable values are `free_run`, `standalone`, `primary`, `secondary`, `secondary_synced`, `software_triggering`, and `hardware_triggering`.

Copilot uses AI. Check for mistakes.
Comment on lines +383 to +385
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The explanation about FPS constraints for free_run mode is helpful, but it's incomplete. According to the SDK documentation in ObTypes.h:

  • In free_run mode: Color and Depth can be set to different frame rates
  • In standalone mode: Color and Depth should be set to the same frame rates, and they will be synchronized

The current explanation only addresses free_run mode. Consider adding information about standalone mode's FPS requirements as well, and clarify that in modes other than free_run, all streams (color, depth, IR) should use the same FPS value for proper synchronization.

Suggested change
If you set `sync_mode` to `free_run`, the `color_fps` value can be different from the other values.
`depth_fps` and `ir_fps` should always be the same.
- `sync_mode`: The mode of data synchronization. Acceptable values are `standalone` and `free_run`
If you set `sync_mode` to `free_run`, `color_fps` can be different from `depth_fps` / `ir_fps`. In this mode, color
and depth run independently, but `depth_fps` and `ir_fps` should still be set to the same value to keep depth and IR
synchronized.
In `standalone` mode (and, in general, in any synchronized mode), all active image streams (color, depth, IR) should
use the same FPS value so that they are properly synchronized.
- `sync_mode`: The mode of data synchronization. Acceptable values are `standalone` and `free_run`. In `standalone`
mode, color and depth run at the same FPS and are synchronized. In `free_run` mode, they can run at different FPS and
are not synchronized by the device.

Copilot uses AI. Check for mistakes.
- `enable_color`: Enables the RGB camera.
- `enable_depth`: Enables the depth camera.
- `enable_ir`: Enables the IR camera.
Expand Down
Loading