Files
OrbbecSDK_ROS2/en/.doctrees/source/7_developer_guide/migration_guide.doctree
T

1578 lines
46 KiB
Plaintext
Raw Normal View History

2025-10-22 03:17:31 +00:00
€•Œdocutils.nodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”hŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ*Migrating from main to Open-Source v2-main”h]”hŒText”“”Œ*Migrating from main to Open-Source v2-main”…”�”}”(Œparent”hŒ _document”hŒsource”NŒline”NubaŒ
2025-10-22 03:11:03 +00:00
attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”uŒtagname”hhKhh hŒc/home/runner/work/OrbbecSDK_ROS2/OrbbecSDK_ROS2/docs/en/source/7_developer_guide/migration_guide.md”ubh
2025-10-22 03:17:31 +00:00
)�”}”(hhh]”(h)�”}”(hŒ Introduction”h]”hŒ Introduction”…”�”}”(hh/hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhh,hh+ubhŒ paragraph”“”)�”}”(hXMInitially, Orbbec provided a closed-source SDK — Orbbec SDK v1, which formed the foundation of the OrbbecSDK ROS2 Wrapper main branch. Although the ROS wrapper layer itself was open-source, it relied on a closed-source underlying SDK. This architecture imposed limitations on flexibility and hindered community-driven improvements.”h]”(hŒInitially, Orbbec provided a ”…”�”}”(hh?hhhNhNubhŒstrong”“”)�”}”(hŒ#closed-source SDK — Orbbec SDK v1”h]”hŒ#closed-source SDK — Orbbec SDK v1”…”�”}”(hhIhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhh?hhhh+hKubhŒ%, which formed the foundation of the ”…”�”}”(hh?hhhNhNubhŒ reference”“”)�”}”(hŒ"OrbbecSDK ROS2 Wrapper main branch”h]”hŒ"OrbbecSDK ROS2 Wrapper main branch”…”�”}”(hh]hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”Œrefuri”Œ2https://github.com/orbbec/OrbbecSDK_ROS2/tree/main”uh*h[hKhh?hhhh+ubhŒÆ. Although the ROS wrapper layer itself was open-source, it relied on a closed-source underlying SDK. This architecture imposed limitations on flexibility and hindered community-driven improvements.”…”�”}”(hh?hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhh,hhhh+ubh>)�”}”(hXbAs developers increasingly demanded transparency, maintainability, and broader device support, Orbbec released a brand-new open-source v2-main — Orbbec SDK_v2 (GitHub link). Based on this SDK, the open-source v2-main branch of OrbbecSDK ROS2 is now fully open source, offering greater extensibility and alignment with Orbbec’s future product roadmap.”h]”(hŒ�As developers increasingly demanded transparency, maintainability, and broader device support, Orbbec released a brand-new open-source v2-main ”…”�”}”(hhwhhhNhNubhH)�”}”(hŒ— Orbbec SDK_v2”h]”(hŒ— Orbbec SDK”…”�”}”(hhhhhNhNubhŒ_”…”�”}”(hhhhhNhNubhŒv2”…”�”}”(hhhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*hGhhwhhhh+hKubhŒ (”…”�”}”(hhwhhhNhNubh\)�”}”(hŒ GitHub link”h]”hŒ GitHub link”…”�”}”(hh™hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”hkŒ0https://github.com/orbbec/OrbbecSDK/tree/v2-main”uh*h[hKhhwhhhh+ubhŒ). Based on this SDK, the ”…”�”}”(hhwhhhNhNubh\)�”}”(hŒ,open-source v2-main branch of OrbbecSDK ROS2”h]”hŒ,open-source v2-main branch of OrbbecSDK ROS2”…”�”}”(hh¬hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”hkŒ(https://github.com/orbbec/OrbbecSDK_ROS2”uh*h[hKhhwhhhh+ubhŒo is now fully open source, offering greater extensibility and alignment with Orbbec’s future product roadmap.”…”�”}”(hhwhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhh,hhhh+ubh>)�”}”(hXBThis document introduces the motivations and benefits of migrating ROS packages from the main branch (based on SDK v1) to the v2-main branch (based on Orbbec SDK_v2). It highlights the key differences in launch files, parameters, topics, and services, and provides a migration guide to help developers smoothly transition.”h]”(hŒ¡This document introduces the motivations and benefits of migrating ROS packages from the main branch (based on SDK v1) to the v2-main branch (based on Orbbec SDK”…”�”}”(hhÅhhhNhNubhŒ_”…”�”}”(hhÅhhhNhNubhŒ*v2). It highlights the key differences in ”…”�”}”(hhÅhhhNhNubhH)�”}”(hŒ.launch files, parameters, topics, and services”h]”hŒ.launch files, parameters, topics, and services”…”�”}”(hhÕhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhhÅhhhh+hKubhŒH, and provides a migration guide to help developers smoothly transition.”…”�”}”(hhÅhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hK hh,hhhh+ubh>)�”}”(hŒ€Note: In the following content, main refers to the closed-source branch, while v2-main refers to the open-source v2-main branch.”h]”(hH)�”}”(hŒNote:”h]”hŒNote:”…”�”}”(hhñhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhhíhhhh+hKubhŒ In the following content, ”…”�”}”(hhíhhhNhNubhH)�”}”(hŒmain”h]”hŒmain”…”�”}”(hjhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhhíhhhh+hKubhŒ+ refers t
)�”}”(hhh]”(h)�”}”(hŒ,Advantages of Migrating from main to v2-main”h]”hŒ,Advantages of Migrating from main to v2-main”…”�”}”(hj8hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhK
hj5hh+ubh>)�”}”(hX³In October 2024, Orbbec released a major update: OrbbecSDK ROS2 Wrapper v2, which is entirely based on the open-source Orbbec SDK_v2. Compared to the legacy main branch (SDK v1.x), the v2-main branch (Orbbec SDK_v2.x) provides greater flexibility and scalability, while offering comprehensive support for all Orbbec USB products that comply with the UVC standard.The migration from main --> v2-main brings the following key advantages:”h]”(hŒ1In October 2024, Orbbec released a major update: ”…”�”}”(hjFhhhNhNubhH)�”}”(hŒOrbbecSDK ROS2 Wrapper v2”h]”hŒOrbbecSDK ROS2 Wrapper v2”…”�”}”(hjNhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjFhhhh+hKubhŒ7, which is entirely based on the open-source Orbbec SDK”…”�”}”(hjFhhhNhNubhŒ_”…”�”}”(hjFhhhNhNubhŒQv2. Compared to the legacy main branch (SDK v1.x), the v2-main branch (Orbbec SDK”…”�”}”(hjFhhhNhNubhŒ_”…”�”}”(hjFhhhh+hKubhŒàv2.x) provides greater flexibility and scalability, while offering comprehensive support for all Orbbec USB products that comply with the UVC standard.The migration from main –> v2-main brings the following key advantages:”…”�”}”(hjFhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhj5hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒComprehensive Device Support”h]”hH)�”}”(hŒComprehensive Device Support”h]”hŒComprehensive Device Support”…”�”}”(hj}hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjyhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhjvhh+ubh>)�”}”(hŒŒThe v2-main branch supports all UVC-compliant Orbbec USB cameras and will be the primary platform for supporting all newly released devices.”h]”hŒŒThe v2-main branch supports all UVC-compliant Orbbec USB cameras and will be the primary platform for supporting all newly released devices.”…”�”}”(hj‘hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhjvhhhh+ubeh}”(h ]”Œcomprehensive-device-support”ah"]”h$]”Œcomprehensive device support”ah&]”h(]”uh*h hKhj5hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒTransparency and Extensibility”h]”hH)�”}”(hŒTransparency and Extensibility”h]”hŒTransparency and Extensibility”…”�”}”(hj®hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjªhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhj§hh+ubh>)�”}”(hŒøOrbbec SDK_v2 is fully open-source, allowing developers to directly access the underlying implementation for easier debugging, optimization, and secondary development. By contrast, SDK v1 was closed-source, introducing a “black-boxâ€� constraint.”h]”(hŒ
Orbbec SDK”…”�”}”(hjÂhhhNhNubhŒ_”…”�”}”(hjÂhhhNhNubhŒív2 is fully open-source, allowing developers to directly access the underlying implementation for easier debugging, optimization, and secondary development. By contrast, SDK v1 was closed-source, introducing a “black-boxâ€� constraint.”…”�”}”(hjÂhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhj§hhhh+ubeh}”(h ]”Œtransparency-and-extensibility”ah"]”h$]”Œtransparency and extensibility”ah&]”h(]”uh*h hKhj5hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒ%Advantages in Maintenance and Updates”h]”hŒ%Advantages in Maintenance and Updates”…”�”}”(hjãhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhjàhh+ubh>)�”}”(hXThe v2-main branch offers full-featured support, including new feature development, performance optimization, and bug fixes. The main branch has entered a maintenance-only mode, where only critical bugs may receive limited updates, and no new features are being developed.”h]”hXThe v2-main branch offers full-featured support, including new feature development, performance optimization, and bug fixes. The main branch has entered a maintenance-only mode, where only critical bugs may receive limited updates, and no new features are being developed.”…”�”}”(hjñhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhjàhhhh+ubeh}”(h ]”Œ%advantages-in-maintenance-and-updates”ah"]”h$]”Œ%advantages in maintenance and updates”ah&]”h(]”uh*h hKhj5hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒCommunity and Ecosystem Support”h]”hH)�”}”(hŒCommunity and Ecosystem Support”h]”hŒCommunity and Ecosystem Support”…”�”}”(hjhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhj
hhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhjhh+ubh>)�”}”(hŒîWith an open-source SDK, developers can directly submit issues and pull requests on GitHub or Gitee, contributing to feature evolution. This not only accelerates problem resolution but also fosters a more open and active Orbbec ecosystem.”h]”hŒîWith an open-source SDK, developers can directly submit issues and pull requests on GitHub or Gitee, contributing to feature evolution. This not only accelerates problem resolution but also fosters a more open and active Orbbec ecosystem.”…”�”}”(hj"hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hKhjhhhh+ubeh}”(h ]”Œcommunity-and-ecosystem-support”ah"]”h$]”Œcommunity and ecosystem support”ah&]”h(]”uh*h hKhj5hhhh+ubeh}”(h ]”Œ,advantages-of-migrating-from-main-to-v2-main”ah"]”h$]”Œ,advantages of migrating from main to v2-main”ah&]”h(]”uh*h hK
hh hhhh+ubh
2025-10-22 03:11:03 +00:00
)�”}”(hhh]”(h)�”}”(hŒ,Comparison Between main and v2-main Branches”h]”hŒ,Comparison Between main and v2-main Branches”…”�”}”(hjChhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhK!hj@hh+ubh
2025-10-22 03:17:31 +00:00
)�”}”(hhh]”(h)�”}”(hŒLaunch File Differences”h]”hH)�”}”(hŒLaunch File Differences”h]”hŒLaunch File Differences”…”�”}”(hjXhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjThhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhK#hjQhh+ubhŒenumerated_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hhh]”(h>)�”}”(hŒOIn v2-main, new low-power launch file has been added for the Gemini 330 series:”h]”hŒOIn v2-main, new low-power launch file has been added for the Gemini 330 series:”…”�”}”(hjvhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hK%hjshhhh+ubhŒ bullet_list”“”)�”}”(hhh]”jr)�”}”(hhh]”h>)�”}”(hŒ#gemini_330_series_low_cpu.launch.py”h]”hŒliteral”“”)�”}”(hŒ#gemini_330_series_low_cpu.launch.py”h]”hŒ#gemini_330_series_low_cpu.launch.py”…”�”}”(hj’hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*j�hjŒhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hK&hj‰hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*jqhK&hj†hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*j„hK&hjshhhh+ubeh}”(h ]”h"]”h$]”h&]”h(]”uh*jqhK%hjnhhhh+ubjr)�”}”(hhh]”h>)�”}”(hŒRv2-main introduces support for Gemini 435Le, Gemini 345, and Gemini 345Lg cameras.”h]”(hŒv2-main introduces support for ”…”�”}”(hj»hhhNhNubhH)�”}”(hŒ Gemini 435Le”h]”hŒ Gemini 435Le”…”�”}”(hjÃhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhj»hhhh+hKubhŒ, ”…”�”}”(hj»hhhNhNubhH)�”}”(hŒ
2025-10-22 03:11:03 +00:00
Gemini 345”h]”hŒ
Gemini 345”…”�”}”(hjÕhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhj»hhhh+hKubhŒ, and ”…”�”}”(hj»hhhNhNubhH)�”}”(hŒ Gemini 345Lg”h]”hŒ Gemini 345Lg”…”�”}”(hjçhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhj»hhhh+hKubhŒ cameras.”…”�”}”(hj»hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hK'hj¸hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*jqhK'hjnhhhh+ubjr)�”}”(hhh]”h>)�”}”(hŒµSince OrbbecSDK_v2 only supports UVC devices, the range of camera models supported in v2-main is slightly narrower than in main. Detailed information is provided in the table below.”h]”(hŒSince ”…”�”}”(hjhhhNhNubhH)�”}”(hŒ&OrbbecSDK_v2 only supports UVC devices”h]”(hŒ OrbbecSDK”…”�”}”(hjhhhNhNubhŒ_”…”�”}”(hjhhhNhNubhŒv2 only supports UVC devices”…”�”}”(hjhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjhhhh+hKubhŒ‰, the range of camera models supported in v2-main is slightly narrower than in main. Detailed information is provided in the table below.”…”�”}”(hjhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hK(hjhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*jqhK(hjnhhhh+ubeh}”(h ]”h"]”h$]”h&]”h(]”uh*jlhK%hjQhhhh+ubhŒraw”“”)�”}”(hXÕ<table border="1" class="docutils">
<thead>
<tr>
<th><strong>camera</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Gemini 435Le</td>
<td>Not supported</td>
<td>gemini435_le.launch.py</td>
</tr>
<tr>
<td>Gemini 345</td>
<td>Not supported</td>
<td>gemini345.launch.py</td>
</tr>
<tr>
<td>Gemini 345Lg</td>
<td>Not supported</td>
<td>gemini345_lg.launch.py</td>
</tr>
<tr>
<td>Gemini 330 series</td>
<td>gemini_330_series.launch.py</td>
<td>gemini_330_series.launch.py</td>
</tr>
<tr>
<td>Gemini 330 low cpu</td>
<td>-</td>
<td>gemini_330_series_low_cpu.launch.py</td>
</tr>
<tr>
<td>Gemini 210</td>
<td>gemini210.launch.py</td>
<td>gemini210.launch.py</td>
</tr>
<tr>
<td>Gemini 2</td>
<td>gemini2.launch.py</td>
<td>gemini2.launch.py</td>
</tr>
<tr>
<td>Gemini 2L</td>
<td>gemini2L.launch.py</td>
<td>gemini2.launch.py</td>
</tr>
<tr>
<td>Gemini 2XL</td>
<td>gemini2XL.launch.py</td>
<td>-</td>
</tr>
<tr>
<td>Femto Bolt</td>
<td>femto_bolt.launch.py</td>
<td>femto_bolt.launch.py</td>
</tr>
<tr>
<td>Femto Mega</td>
<td>femto_mega.launch.py</td>
<td>femto_mega.launch.py</td>
</tr>
<tr>
<td>Femto</td>
<td>femto.launch.py</td>
<td>femto.launch.py</td>
</tr>
<tr>
<td>Astra 2</td>
<td>astra2.launch.py</td>
<td>astra2.launch.py</td>
</tr>
<tr>
<td>Astra</td>
<td>astra.launch.py</td>
<td>astra.launch.py</td>
</tr>
<tr>
<td>Astra Mini Pro / S Pro</td>
<td>astra_mini_pro.launch.py ...</td>
<td>astra.launch.py</td>
</tr>
<tr>
<td>Multi-Camera (Synchronized)</td>
<td>multi_camera_synced.launch.py</td>
<td>multi_camera_synced.launch.py</td>
</tr>
<tr>
<td>Multi-Camera (Generic / Universal)</td>
<td>multi_camera.launch.py</td>
<td>multi_camera.launch.pyorbbec_multicamera.launch.py</td>
</tr>
<tr>
<td>Single-Camera Generic Launch</td>
<td>ob_camera.launch.py</td>
<td>orbbec_camera.launch.py</td>
</tr>
<tr>
<td>OpenNI devices (Dabai�Deeya)</td>
<td>Corresponding model independent file</td>
<td>Not supported</td>
</tr>
</tbody>
</table>”h]”hXÕ<table border="1" class="docutils">
<thead>
<tr>
<th><strong>camera</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Gemini 435Le</td>
<td>Not supported</td>
<td>gemini435_le.launch.py</td>
</tr>
<tr>
<td>Gemini 345</td>
<td>Not supported</td>
<td>gemini345.launch.py</td>
</tr>
<tr>
<td>Gemini 345Lg</td>
<td>Not supported</td>
<td>gemini345_lg.launch.py</td>
</tr>
<tr>
<td>Gemini 330 series</td>
<td>gemini_330_series.launch.py</td>
<td>gemini_330_series.launch.py</td>
</tr>
<tr>
<td>Gemini 330 low cpu</td>
<td>-</td>
<td>gemini_330_series_low_cpu.launch.py</td>
</tr>
<tr>
<td>Gemini 210</td>
<td>gemini210.launch.py</td>
<td>gemini210.launch.py</td>
</tr>
<tr>
<td>Gemini 2</td>
<td>gemini2.launch.py</td>
<td>gemini2.launch.py</td>
</tr>
<tr>
<td>Gemini 2L</td>
<td>gemini2L.launch.py</td>
<td>gemini2.launch.py</td>
</tr>
<tr>
<td>Gemini 2XL</td>
<td>gemini2XL.launch.py</td>
<td>-</td>
</tr>
<tr>
<td>Femto Bolt</td>
<td>femto_bolt.launch.py</td>
<td>femto_bolt.launch.py</td>
</tr>
<tr>
<td>Femto Mega</td>
<td>femto_mega.launch.py</td>
<td>femto_mega.launch.py</td>
</tr>
<tr>
<td>Femto</td>
<td>femto.launch.py</td>
<td>femto.launch.py</td>
</tr>
<tr>
<td>Astra 2</td>
<td>astra2.launch.py</td>
<td>astra2.launch.py</td>
</tr>
<tr>
<td>Astra</td>
<td>astra.launch.py</td>
<td>astra.launch.py</td>
</tr>
<tr>
<td>Astra Mini Pro / S Pro</td>
<td>astra_mini_pro.launch.py ...</td>
<td>astra.launch.py</td>
</tr>
<tr>
<td>Multi-Camera (Synchronized)</td>
<td>multi_camera_synced.launch.py</td>
<td>multi_camera_synced.launch.py</td>
</tr>
<tr>
<td>Multi-Camera (Generic / Universal)</td>
<td>multi_camera.launch.py</td>
<td>multi_camera.launch.pyorbbec_multicamera.launch.py</td>
</tr>
<tr>
<td>Single-Camera Generic Launch</td>
<td>ob_camera.launch.py</td>
<td>orbbec_camera.launch.py</td>
</tr>
<tr>
<td>OpenNI devices (Dabai�Deeya)</td>
<td>Corresponding model independent file</td>
<td>Not supported</td>
2025-10-22 03:17:31 +00:00
</tr>
</tbody>
2025-10-22 03:11:03 +00:00
</table>”…”�”}”hj>sbah}”(h ]”h"]”h$]”h&]”h(]”Œformat”Œhtml”Œ xml:space”Œpreserve”uh*j<hK*hjQhhhh+ubeh}”(h ]”Œlaunch-file-differences”ah"]”h$]”Œlaunch file differences”ah&]”h(]”uh*h hK#hj@hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒParameter Differences”h]”hH)�”}”(hŒParameter Differences”h]”hŒParameter Differences”…”�”}”(hj_hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhj[hhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhK•hjXhh+ubh>)�”}”(hŒ1New Parameters in v2-main (not available in main)”h]”hH)�”}”(hŒ1New Parameters in v2-main (not available in main)”h]”hŒ1New Parameters in v2-main (not available in main)”…”�”}”(hjwhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjshhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hK—hjXhhhh+ubj=)�”}”(hX3<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Parameter Name</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>upgrade_firmware</td>
<td>-</td>
<td>Added</td>
<td>Firmware upgrade path</td>
</tr>
<tr>
<td>preset_firmware_path</td>
<td>-</td>
<td>Added</td>
<td>Preset firmware file path</td>
</tr>
<tr>
<td>load_config_json_file_path</td>
<td>-</td>
<td>Added</td>
<td>Load JSON configuration</td>
</tr>
<tr>
<td>export_config_json_file_path</td>
<td>-</td>
<td>Added</td>
<td>Export JSON configuration</td>
</tr>
<tr>
<td>uvc_backend</td>
<td>-</td>
<td>Added</td>
<td>libuvc / v4l2 backend selection</td>
</tr>
<tr>
<td>enable_color_auto_exposure_priority</td>
<td>-</td>
<td>Added</td>
<td>AE priority control</td>
</tr>
<tr>
<td>color_flip</td>
<td>-</td>
<td>Added</td>
<td>Color image vertical flip</td>
</tr>
<tr>
<td>color_mirror</td>
<td>-</td>
<td>Added</td>
<td>Color image horizontal mirror</td>
</tr>
<tr>
<td>depth_flip</td>
<td>-</td>
<td>Added</td>
<td>Depth image vertical flip</td>
</tr>
<tr>
<td>depth_mirror</td>
<td>-</td>
<td>Added</td>
<td>Depth image horizontal mirror</td>
</tr>
<tr>
<td>left_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Left IR vertical flip</td>
</tr>
<tr>
<td>left_ir_mirror</td>
<td>-</td>
<td>Added</td>
<td>Left IR horizontal mirror</td>
</tr>
<tr>
<td>right_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Right IR vertical flip</td>
</tr>
<tr>
<td>right_ir_mirror</td>
<td>-</td>
<td>Added</td>
<td>Right IR horizontal mirror</td>
</tr>
<tr>
<td>enable_left_ir_sequence_id_filter</td>
<td>-</td>
<td>Added</td>
<td>Left IR sequence ID filter</td>
</tr>
<tr>
<td>enable_right_ir_sequence_id_filter</td>
<td>-</td>
<td>Added</td>
<td>Right IR sequence ID filter</td>
</tr>
<tr>
<td>enable_accel_data_correction</td>
<td>-</td>
<td>Added</td>
<td>Accelerometer data correction</td>
</tr>
<tr>
<td>enable_gyro_data_correction</td>
<td>-</td>
<td>Added</td>
<td>Gyroscope data correction</td>
</tr>
<tr>
<td>enumerate_net_device</td>
<td>-</td>
<td>Added</td>
<td>Automatic enumeration of network devices</td>
</tr>
<tr>
<td>net_device_ip</td>
<td>-</td>
<td>Added</td>
<td>Network device IP address</td>
</tr>
<tr>
<td>net_device_port</td>
<td>-</td>
<td>Added</td>
<td>Network device port</td>
</tr>
<tr>
<td>exposure_range_mode</td>
<td>-</td>
<td>Added</td>
<td>Exposure range mode: default / ultimate / regular</td>
</tr>
<tr>
<td>disparity_to_depth_mode</td>
<td>-</td>
<td>Added</td>
<td>Hardware disparity-to-depth conversion</td>
</tr>
<tr>
<td>ldp_power_level</td>
<td>-</td>
<td>Added</td>
<td>LDP power level</td>
</tr>
<tr>
<td>time_sync_period</td>
<td>-</td>
<td>Added</td>
<td>Time synchronization period</td>
</tr>
<tr>
<td>gmsl_trigger_fps</td>
<td>-</td>
<td>Added</td>
<td>GMSL trigger frame rate</td>
</tr>
<tr>
<td>enable_gmsl_trigger</td>
<td>-</td>
<td>Added</td>
<td>GMSL trigger enable</td>
</tr>
<tr>
<td>disparity_range_mode</td>
<td>-</td>
<td>Added</td>
<td>Disparity range mode</td>
</tr>
<tr>
<td>disparity_search_offset</td>
<td>-</td>
<td>Added</td>
<td>Disparity search offset</td>
</tr>
<tr>
<td>disparity_offset_config</td>
<td>-</td>
<td>Added</td>
<td>Disparity offset configuration</td>
</tr>
<tr>
<td>offset_index0</td>
<td>-</td>
<td>Added</td>
<td>Disparity offset index 0</td>
</tr>
<tr>
<td>offset_index1</td>
<td>-</td>
<td>Added</td>
<td>Disparity offset index 1</td>
</tr>
<tr>
<td>interleave_ae_mode</td>
<td>-</td>
<td>Added</td>
<td>AE interleave mode</td>
</tr>
<tr>
<td>interleave_frame_enable</td>
<td>-</td>
<td>Added</td>
<td>Interleaved frame enable</td>
</tr>
<tr>
<td>interleave_skip_enable</td>
<td>-</td>
<td>Added</td>
<td>Skip IR frame enable</td>
</tr>
<tr>
<td>interleave_skip_index</td>
<td>-</td>
<td>Added</td>
<td>Skip IR frame index</td>
</tr>
<tr>
<td>hdr_index1_laser_control</td>
<td>-</td>
<td>Added</td>
<td>HDR laser control parameters</td>
</tr>
<tr>
<td>hdr_index1_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR depth exposure</td>
</tr>
<tr>
<td>hdr_index1_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>HDR depth gain</td>
</tr>
<tr>
<td>hdr_index1_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>HDR IR brightness</td>
</tr>
<tr>
<td>hdr_index1_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR IR max AE</td>
</tr>
<tr>
<td>hdr_index0_laser_control</td>
<td>-</td>
<td>Added</td>
<td>HDR laser control parameters</td>
</tr>
<tr>
<td>hdr_index0_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR depth exposure</td>
</tr>
<tr>
<td>hdr_index0_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>HDR depth gain</td>
</tr>
<tr>
<td>hdr_index0_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>HDR IR brightness</td>
</tr>
<tr>
<td>hdr_index0_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR IR max AE</td>
</tr>
<tr>
<td>laser_index1_laser_control</td>
<td>-</td>
<td>Added</td>
<td>Laser interleave control</td>
</tr>
<tr>
<td>laser_index1_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser depth exposure</td>
</tr>
<tr>
<td>laser_index1_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>Laser depth gain</td>
</tr>
<tr>
<td>laser_index1_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>Laser IR brightness</td>
</tr>
<tr>
<td>laser_index1_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser IR max AE</td>
</tr>
<tr>
<td>laser_index0_laser_control</td>
<td>-</td>
<td>Added</td>
<td>Laser interleave control</td>
</tr>
<tr>
<td>laser_index0_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser depth exposure</td>
</tr>
<tr>
<td>laser_index0_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>Laser depth gain</td>
</tr>
<tr>
<td>laser_index0_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>Laser IR brightness</td>
</tr>
<tr>
<td>laser_index0_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser IR max AE</td>
</tr>
<tr>
<td>software_trigger_enabled</td>
<td>-</td>
<td>Added</td>
<td>Software trigger enable</td>
</tr>
<tr>
<td>enable_ptp_config</td>
<td>-</td>
<td>Added</td>
<td>PTP configuration (Gemini 335Le)</td>
</tr>
<tr>
<td>align_target_stream</td>
<td>-</td>
<td>Added</td>
<td>Target stream for alignment</td>
</tr>
<tr>
<td>spatial_fast_filter_radius</td>
<td>-</td>
<td>Added</td>
<td>Fast spatial filter radius</td>
</tr>
<tr>
<td>spatial_moderate_filter_diff_threshold</td>
<td>-</td>
<td>Added</td>
<td>Moderate spatial filter difference threshold</td>
</tr>
<tr>
<td>spatial_moderate_filter_magnitude</td>
<td>-</td>
<td>Added</td>
<td>Moderate spatial filter magnitude</td>
</tr>
<tr>
<td>spatial_moderate_filter_radius</td>
<td>-</td>
<td>Added</td>
<td>Moderate spatial filter radius</td>
</tr>
<tr>
<td>color.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Color image transport plugins</td>
</tr>
<tr>
<td>depth.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Depth image transport plugins</td>
</tr>
<tr>
<td>left_ir.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Left IR transport plugins</td>
</tr>
<tr>
<td>right_ir.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Right IR transport plugins</td>
</tr>
<tr>
<td>force_ip_enable</td>
<td>-</td>
<td>Added</td>
<td>Force IP feature</td>
</tr>
<tr>
<td>force_ip_mac</td>
<td>-</td>
<td>Added</td>
<td>Force IP MAC address</td>
</tr>
<tr>
<td>force_ip_dhcp</td>
<td>-</td>
<td>Added</td>
<td>DHCP auto assignment</td>
</tr>
<tr>
<td>force_ip_address</td>
<td>-</td>
<td>Added</td>
<td>Force IP static address</td>
</tr>
<tr>
<td>force_ip_subnet_mask</td>
<td>-</td>
<td>Added</td>
<td>Force IP subnet mask</td>
</tr>
<tr>
<td>force_ip_gateway</td>
<td>-</td>
<td>Added</td>
<td>Force IP gateway</td>
</tr>
</tbody>
</table>”h]”hX3<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Parameter Name</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>upgrade_firmware</td>
<td>-</td>
<td>Added</td>
<td>Firmware upgrade path</td>
</tr>
<tr>
<td>preset_firmware_path</td>
<td>-</td>
<td>Added</td>
<td>Preset firmware file path</td>
</tr>
<tr>
<td>load_config_json_file_path</td>
<td>-</td>
<td>Added</td>
<td>Load JSON configuration</td>
</tr>
<tr>
<td>export_config_json_file_path</td>
<td>-</td>
<td>Added</td>
<td>Export JSON configuration</td>
</tr>
<tr>
<td>uvc_backend</td>
<td>-</td>
<td>Added</td>
<td>libuvc / v4l2 backend selection</td>
</tr>
<tr>
<td>enable_color_auto_exposure_priority</td>
<td>-</td>
<td>Added</td>
<td>AE priority control</td>
</tr>
<tr>
<td>color_flip</td>
<td>-</td>
<td>Added</td>
<td>Color image vertical flip</td>
</tr>
<tr>
<td>color_mirror</td>
<td>-</td>
<td>Added</td>
<td>Color image horizontal mirror</td>
</tr>
<tr>
<td>depth_flip</td>
<td>-</td>
<td>Added</td>
<td>Depth image vertical flip</td>
</tr>
<tr>
<td>depth_mirror</td>
<td>-</td>
<td>Added</td>
<td>Depth image horizontal mirror</td>
</tr>
<tr>
<td>left_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Left IR vertical flip</td>
</tr>
<tr>
<td>left_ir_mirror</td>
<td>-</td>
<td>Added</td>
<td>Left IR horizontal mirror</td>
</tr>
<tr>
<td>right_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Right IR vertical flip</td>
</tr>
<tr>
<td>right_ir_mirror</td>
<td>-</td>
<td>Added</td>
<td>Right IR horizontal mirror</td>
</tr>
<tr>
<td>enable_left_ir_sequence_id_filter</td>
<td>-</td>
<td>Added</td>
<td>Left IR sequence ID filter</td>
</tr>
<tr>
<td>enable_right_ir_sequence_id_filter</td>
<td>-</td>
<td>Added</td>
<td>Right IR sequence ID filter</td>
</tr>
<tr>
<td>enable_accel_data_correction</td>
<td>-</td>
<td>Added</td>
<td>Accelerometer data correction</td>
</tr>
<tr>
<td>enable_gyro_data_correction</td>
<td>-</td>
<td>Added</td>
<td>Gyroscope data correction</td>
</tr>
<tr>
<td>enumerate_net_device</td>
<td>-</td>
<td>Added</td>
<td>Automatic enumeration of network devices</td>
</tr>
<tr>
<td>net_device_ip</td>
<td>-</td>
<td>Added</td>
<td>Network device IP address</td>
</tr>
<tr>
<td>net_device_port</td>
<td>-</td>
<td>Added</td>
<td>Network device port</td>
</tr>
<tr>
<td>exposure_range_mode</td>
<td>-</td>
<td>Added</td>
<td>Exposure range mode: default / ultimate / regular</td>
</tr>
<tr>
<td>disparity_to_depth_mode</td>
<td>-</td>
<td>Added</td>
<td>Hardware disparity-to-depth conversion</td>
</tr>
<tr>
<td>ldp_power_level</td>
<td>-</td>
<td>Added</td>
<td>LDP power level</td>
</tr>
<tr>
<td>time_sync_period</td>
<td>-</td>
<td>Added</td>
<td>Time synchronization period</td>
</tr>
<tr>
<td>gmsl_trigger_fps</td>
<td>-</td>
<td>Added</td>
<td>GMSL trigger frame rate</td>
</tr>
<tr>
<td>enable_gmsl_trigger</td>
<td>-</td>
<td>Added</td>
<td>GMSL trigger enable</td>
</tr>
<tr>
<td>disparity_range_mode</td>
<td>-</td>
<td>Added</td>
<td>Disparity range mode</td>
</tr>
<tr>
<td>disparity_search_offset</td>
<td>-</td>
<td>Added</td>
<td>Disparity search offset</td>
</tr>
<tr>
<td>disparity_offset_config</td>
<td>-</td>
<td>Added</td>
<td>Disparity offset configuration</td>
</tr>
<tr>
<td>offset_index0</td>
<td>-</td>
<td>Added</td>
<td>Disparity offset index 0</td>
</tr>
<tr>
<td>offset_index1</td>
<td>-</td>
<td>Added</td>
<td>Disparity offset index 1</td>
</tr>
<tr>
<td>interleave_ae_mode</td>
<td>-</td>
<td>Added</td>
<td>AE interleave mode</td>
</tr>
<tr>
<td>interleave_frame_enable</td>
<td>-</td>
<td>Added</td>
<td>Interleaved frame enable</td>
</tr>
<tr>
<td>interleave_skip_enable</td>
<td>-</td>
<td>Added</td>
<td>Skip IR frame enable</td>
</tr>
<tr>
<td>interleave_skip_index</td>
<td>-</td>
<td>Added</td>
<td>Skip IR frame index</td>
</tr>
<tr>
<td>hdr_index1_laser_control</td>
<td>-</td>
<td>Added</td>
<td>HDR laser control parameters</td>
</tr>
<tr>
<td>hdr_index1_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR depth exposure</td>
</tr>
<tr>
<td>hdr_index1_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>HDR depth gain</td>
</tr>
<tr>
<td>hdr_index1_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>HDR IR brightness</td>
</tr>
<tr>
<td>hdr_index1_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR IR max AE</td>
</tr>
<tr>
<td>hdr_index0_laser_control</td>
<td>-</td>
<td>Added</td>
<td>HDR laser control parameters</td>
</tr>
<tr>
<td>hdr_index0_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR depth exposure</td>
</tr>
<tr>
<td>hdr_index0_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>HDR depth gain</td>
</tr>
<tr>
<td>hdr_index0_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>HDR IR brightness</td>
</tr>
<tr>
<td>hdr_index0_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>HDR IR max AE</td>
</tr>
<tr>
<td>laser_index1_laser_control</td>
<td>-</td>
<td>Added</td>
<td>Laser interleave control</td>
</tr>
<tr>
<td>laser_index1_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser depth exposure</td>
</tr>
<tr>
<td>laser_index1_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>Laser depth gain</td>
</tr>
<tr>
<td>laser_index1_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>Laser IR brightness</td>
</tr>
<tr>
<td>laser_index1_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser IR max AE</td>
</tr>
<tr>
<td>laser_index0_laser_control</td>
<td>-</td>
<td>Added</td>
<td>Laser interleave control</td>
</tr>
<tr>
<td>laser_index0_depth_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser depth exposure</td>
</tr>
<tr>
<td>laser_index0_depth_gain</td>
<td>-</td>
<td>Added</td>
<td>Laser depth gain</td>
</tr>
<tr>
<td>laser_index0_ir_brightness</td>
<td>-</td>
<td>Added</td>
<td>Laser IR brightness</td>
</tr>
<tr>
<td>laser_index0_ir_ae_max_exposure</td>
<td>-</td>
<td>Added</td>
<td>Laser IR max AE</td>
</tr>
<tr>
<td>software_trigger_enabled</td>
<td>-</td>
<td>Added</td>
<td>Software trigger enable</td>
</tr>
<tr>
<td>enable_ptp_config</td>
<td>-</td>
<td>Added</td>
<td>PTP configuration (Gemini 335Le)</td>
</tr>
<tr>
<td>align_target_stream</td>
<td>-</td>
<td>Added</td>
<td>Target stream for alignment</td>
</tr>
<tr>
<td>spatial_fast_filter_radius</td>
<td>-</td>
<td>Added</td>
<td>Fast spatial filter radius</td>
</tr>
<tr>
<td>spatial_moderate_filter_diff_threshold</td>
<td>-</td>
<td>Added</td>
<td>Moderate spatial filter difference threshold</td>
</tr>
<tr>
<td>spatial_moderate_filter_magnitude</td>
<td>-</td>
<td>Added</td>
<td>Moderate spatial filter magnitude</td>
</tr>
<tr>
<td>spatial_moderate_filter_radius</td>
<td>-</td>
<td>Added</td>
<td>Moderate spatial filter radius</td>
</tr>
<tr>
<td>color.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Color image transport plugins</td>
</tr>
<tr>
<td>depth.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Depth image transport plugins</td>
</tr>
<tr>
<td>left_ir.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Left IR transport plugins</td>
</tr>
<tr>
<td>right_ir.image_raw.enable_pub_plugins</td>
<td>-</td>
<td>Added</td>
<td>Right IR transport plugins</td>
</tr>
<tr>
<td>force_ip_enable</td>
<td>-</td>
<td>Added</td>
<td>Force IP feature</td>
</tr>
<tr>
<td>force_ip_mac</td>
<td>-</td>
<td>Added</td>
<td>Force IP MAC address</td>
</tr>
<tr>
<td>force_ip_dhcp</td>
<td>-</td>
<td>Added</td>
<td>DHCP auto assignment</td>
</tr>
<tr>
<td>force_ip_address</td>
<td>-</td>
<td>Added</td>
<td>Force IP static address</td>
</tr>
<tr>
<td>force_ip_subnet_mask</td>
<td>-</td>
<td>Added</td>
<td>Force IP subnet mask</td>
</tr>
<tr>
<td>force_ip_gateway</td>
<td>-</td>
<td>Added</td>
<td>Force IP gateway</td>
2025-10-22 03:17:31 +00:00
</tr>
2025-10-22 03:11:03 +00:00
</tbody>
</table>”…”�”}”hj‹sbah}”(h ]”h"]”h$]”h&]”h(]”Œformat”jMjNjOuh*j<hK™hjXhhhh+ubh>)�”}”(hŒ2Removed Parameters (main only, removed in v2-main)”h]”hH)�”}”(hŒ2Removed Parameters (main only, removed in v2-main)”h]”hŒ2Removed Parameters (main only, removed in v2-main)”…”�”}”(hjžhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjšhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h=hM\hjXhhhh+ubj=)�”}”(hX‚<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>enable_3d_reconstruction_mode</td>
<td>3D reconstruction mode deprecated</td>
</tr>
<tr>
<td>enable_hardware_reset</td>
<td>Hardware reset interface deprecated</td>
</tr>
<tr>
<td>enable_hardware_noise_removal_filter</td>
<td>Hardware noise removal filter deprecated</td>
</tr>
<tr>
<td>laser_on_off_mode</td>
<td>Old laser on/off interface, replaced by interleave / laser_index</td>
</tr>
<tr>
<td>enable_3d_reconstruction_mode</td>
<td>3D reconstruction mode repeated; no longer used in v2-main</td>
</tr>
<tr>
<td>device_preset</td>
<td>Some logic migrated to new firmware / interleave parameters</td>
</tr>
<tr>
<td>enable_trigger_out</td>
<td>Old software trigger interface replaced by software_trigger_enabled</td>
</tr>
<tr>
<td>retry_on_usb3_detection_failure</td>
<td>Optional; logic adjusted or removed in v2-main</td>
</tr>
<tr>
<td>enable_color_undistortion</td>
<td>Old interface logic integrated elsewhere; still exists in v2-main but usage may be adjusted</td>
</tr>
</tbody>
</table>”h]”hX‚<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>enable_3d_reconstruction_mode</td>
<td>3D reconstruction mode deprecated</td>
</tr>
<tr>
<td>enable_hardware_reset</td>
<td>Hardware reset interface deprecated</td>
</tr>
<tr>
<td>enable_hardware_noise_removal_filter</td>
<td>Hardware noise removal filter deprecated</td>
</tr>
<tr>
<td>laser_on_off_mode</td>
<td>Old laser on/off interface, replaced by interleave / laser_index</td>
</tr>
<tr>
<td>enable_3d_reconstruction_mode</td>
<td>3D reconstruction mode repeated; no longer used in v2-main</td>
</tr>
<tr>
<td>device_preset</td>
<td>Some logic migrated to new firmware / interleave parameters</td>
</tr>
<tr>
<td>enable_trigger_out</td>
<td>Old software trigger interface replaced by software_trigger_enabled</td>
</tr>
<tr>
<td>retry_on_usb3_detection_failure</td>
<td>Optional; logic adjusted or removed in v2-main</td>
</tr>
<tr>
<td>enable_color_undistortion</td>
<td>Old interface logic integrated elsewhere; still exists in v2-main but usage may be adjusted</td>
2025-10-22 03:17:31 +00:00
</tr>
</tbody>
2025-10-22 03:11:03 +00:00
</table>”…”�”}”hj²sbah}”(h ]”h"]”h$]”h&]”h(]”Œformat”jMjNjOuh*j<hM^hjXhhhh+ubeh}”(h ]”Œparameter-differences”ah"]”h$]”Œparameter differences”ah&]”h(]”uh*h hK•hj@hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒTopic Differences”h]”hH)�”}”(hŒTopic Differences”h]”hŒTopic Differences”…”�”}”(hjÐhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjÌhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhM�hjÉhh+ubh>)�”}”(hŒ0v2-main adds the following topics based on main:”h]”(hH)�”}”(hŒv2-main”h]”hŒv2-main”…”�”}”(hjèhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjähhhh+hKubhŒ) adds the following topics based on main:”…”�”}”(hjähhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hM�hjÉhhhh+ubj=)�”}”(hXx<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Topic</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>/camera/device_status</td>
<td>-</td>
<td>Added</td>
<td>Publishes device status (frame rate delay, device connection status, etc.)</td>
</tr>
</tbody>
</table>”h]”hXx<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Topic</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>/camera/device_status</td>
<td>-</td>
<td>Added</td>
<td>Publishes device status (frame rate delay, device connection status, etc.)</td>
2025-10-22 03:17:31 +00:00
</tr>
</tbody>
2025-10-22 03:11:03 +00:00
</table>”…”�”}”hjsbah}”(h ]”h"]”h$]”h&]”h(]”Œformat”jMjNjOuh*j<hM‘hjÉhhhh+ubeh}”(h ]”Œtopic-differences”ah"]”h$]”Œtopic differences”ah&]”h(]”uh*h hM�hj@hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒService Differences”h]”hH)�”}”(hŒService Differences”h]”hŒService Differences”…”�”}”(hjhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhjhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhM¤hjhh+ubh>)�”}”(hŒ2v2-main adds the following services based on main:”h]”(hH)�”}”(hŒv2-main”h]”hŒv2-main”…”�”}”(hj6hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hGhj2hhhh+hKubhŒ+ adds the following services based on main:”…”�”}”(hj2hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h=hM¦hjhhhh+ubj=)�”}”(hX¤
<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Service</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>get_ptp_config</td>
<td>-</td>
<td>Added</td>
<td>Get PTP configuration</td>
</tr>
<tr>
<td>set_ptp_config</td>
<td>-</td>
<td>Added</td>
<td>Set PTP configuration</td>
</tr>
<tr>
<td>get_streams_enable</td>
<td>-</td>
<td>Added</td>
<td>Get the enable status of each stream</td>
</tr>
<tr>
<td>set_streams_enable</td>
<td>-</td>
<td>Added</td>
<td>Set the enable status of each stream</td>
</tr>
<tr>
<td>get_user_calib_params</td>
<td>-</td>
<td>Added</td>
<td>Get user calibration parameters</td>
</tr>
<tr>
<td>set_user_calib_params</td>
<td>-</td>
<td>Added</td>
<td>Set user calibration parameters</td>
</tr>
<tr>
<td>read_customer_data</td>
<td>-</td>
<td>Added</td>
<td>Read user-stored custom data</td>
</tr>
<tr>
<td>write_customer_data</td>
<td>-</td>
<td>Added</td>
<td>Write user-stored custom data</td>
</tr>
<tr>
<td>send_software_trigger</td>
<td>-</td>
<td>Added</td>
<td>Send software trigger</td>
</tr>
<tr>
<td>set_color_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for color image</td>
</tr>
<tr>
<td>set_depth_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for depth image</td>
</tr>
<tr>
<td>set_color_flip</td>
<td>-</td>
<td>Added</td>
<td>Set color image vertical flip</td>
</tr>
<tr>
<td>set_depth_flip</td>
<td>-</td>
<td>Added</td>
<td>Set depth image vertical flip</td>
</tr>
<tr>
<td>set_color_rotation</td>
<td>-</td>
<td>Added</td>
<td>Set color image rotation</td>
</tr>
<tr>
<td>set_depth_rotation</td>
<td>-</td>
<td>Added</td>
<td>Set depth image rotation</td>
</tr>
<tr>
<td>set_left_ir_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for left IR</td>
</tr>
<tr>
<td>set_right_ir_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for right IR</td>
</tr>
<tr>
<td>set_left_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Left IR vertical flip</td>
</tr>
<tr>
<td>set_right_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Right IR vertical flip</td>
</tr>
<tr>
<td>set_left_ir_rotation</td>
<td>-</td>
<td>Added</td>
<td>Left IR rotation</td>
</tr>
<tr>
<td>set_right_ir_rotation</td>
<td>-</td>
<td>Added</td>
<td>Right IR rotation</td>
</tr>
<tr>
<td>set_reset_timestamp</td>
<td>-</td>
<td>Added</td>
<td>Reset timestamp</td>
</tr>
<tr>
<td>set_sync_hosttime</td>
<td>-</td>
<td>Added</td>
<td>Synchronize host time</td>
</tr>
<tr>
<td>set_sync_interleaverlaser</td>
<td>-</td>
<td>Added</td>
<td>Interleaver laser synchronization</td>
</tr>
<tr>
<td>set_filter</td>
<td>-</td>
<td>Added</td>
<td>Set depth/point cloud filters</td>
</tr>
</tbody>
</table>”h]”hX¤
<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Service</strong></th>
<th><strong>main</strong></th>
<th><strong>v2-main</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>get_ptp_config</td>
<td>-</td>
<td>Added</td>
<td>Get PTP configuration</td>
</tr>
<tr>
<td>set_ptp_config</td>
<td>-</td>
<td>Added</td>
<td>Set PTP configuration</td>
</tr>
<tr>
<td>get_streams_enable</td>
<td>-</td>
<td>Added</td>
<td>Get the enable status of each stream</td>
</tr>
<tr>
<td>set_streams_enable</td>
<td>-</td>
<td>Added</td>
<td>Set the enable status of each stream</td>
</tr>
<tr>
<td>get_user_calib_params</td>
<td>-</td>
<td>Added</td>
<td>Get user calibration parameters</td>
</tr>
<tr>
<td>set_user_calib_params</td>
<td>-</td>
<td>Added</td>
<td>Set user calibration parameters</td>
</tr>
<tr>
<td>read_customer_data</td>
<td>-</td>
<td>Added</td>
<td>Read user-stored custom data</td>
</tr>
<tr>
<td>write_customer_data</td>
<td>-</td>
<td>Added</td>
<td>Write user-stored custom data</td>
</tr>
<tr>
<td>send_software_trigger</td>
<td>-</td>
<td>Added</td>
<td>Send software trigger</td>
</tr>
<tr>
<td>set_color_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for color image</td>
</tr>
<tr>
<td>set_depth_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for depth image</td>
</tr>
<tr>
<td>set_color_flip</td>
<td>-</td>
<td>Added</td>
<td>Set color image vertical flip</td>
</tr>
<tr>
<td>set_depth_flip</td>
<td>-</td>
<td>Added</td>
<td>Set depth image vertical flip</td>
</tr>
<tr>
<td>set_color_rotation</td>
<td>-</td>
<td>Added</td>
<td>Set color image rotation</td>
</tr>
<tr>
<td>set_depth_rotation</td>
<td>-</td>
<td>Added</td>
<td>Set depth image rotation</td>
</tr>
<tr>
<td>set_left_ir_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for left IR</td>
</tr>
<tr>
<td>set_right_ir_ae_roi</td>
<td>-</td>
<td>Added</td>
<td>Set AE ROI for right IR</td>
</tr>
<tr>
<td>set_left_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Left IR vertical flip</td>
</tr>
<tr>
<td>set_right_ir_flip</td>
<td>-</td>
<td>Added</td>
<td>Right IR vertical flip</td>
</tr>
<tr>
<td>set_left_ir_rotation</td>
<td>-</td>
<td>Added</td>
<td>Left IR rotation</td>
</tr>
<tr>
<td>set_right_ir_rotation</td>
<td>-</td>
<td>Added</td>
<td>Right IR rotation</td>
</tr>
<tr>
<td>set_reset_timestamp</td>
<td>-</td>
<td>Added</td>
<td>Reset timestamp</td>
</tr>
<tr>
<td>set_sync_hosttime</td>
<td>-</td>
<td>Added</td>
<td>Synchronize host time</td>
</tr>
<tr>
<td>set_sync_interleaverlaser</td>
<td>-</td>
<td>Added</td>
<td>Interleaver laser synchronization</td>
</tr>
<tr>
<td>set_filter</td>
<td>-</td>
<td>Added</td>
<td>Set depth/point cloud filters</td>
2025-10-22 03:17:31 +00:00
</tr>
2025-10-22 03:11:03 +00:00
</tbody>
</table>”…”�”}”hjNsbah}”(h ]”h"]”h$]”h&]”h(]”Œformat”jMjNjOuh*j<hM¨hjhhhh+ubeh}”(h ]”Œservice-differences”ah"]”h$]”Œservice differences”ah&]”h(]”uh*h hM¤hj@hhhh+ubeh}”(h ]”Œ,comparison-between-main-and-v2-main-branches”ah"]”h$]”Œ,comparison between main and v2-main branches”ah&]”h(]”uh*h hK!hh hhhh+ubeh}”(h ]”Œ*migrating-from-main-to-open-source-v2-main”ah"]”h$]”Œ*migrating from main to open-source v2-main”ah&]”h(]”uh*h hKhhhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”Œsource”h+Œtranslation_progress”}”(Œtotal”KŒ
2025-10-22 03:17:31 +00:00
translated”Kuuh*hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(Œoutput”NhNŒ generator”NŒ datestamp”NŒ root_prefix”Œ/”Œ source_link”NŒ
2025-10-22 03:11:03 +00:00
source_url”NŒ
toc_backlinks”Œentry”Œfootnote_backlinks”ˆŒ