mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 20:17:47 +08:00
update OrbbecSDK version to 2.10.2
This commit is contained in:
@@ -101,6 +101,16 @@ OB_EXPORT void ob_delete_depth_work_mode_list(ob_depth_work_mode_list *work_mode
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT const char *ob_device_get_current_preset_name(const ob_device *device, ob_error **error);
|
OB_EXPORT const char *ob_device_get_current_preset_name(const ob_device *device, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the version of the current depth work mode.
|
||||||
|
*
|
||||||
|
* @param[in] device The device object.
|
||||||
|
* @param[out] error Pointer to an error object that will be set if an error occurs.
|
||||||
|
*
|
||||||
|
* @return const char* The version string, e.g. "1.2.3". Empty string when the device does not
|
||||||
|
* support versioned modes.
|
||||||
|
*/
|
||||||
|
OB_EXPORT const char *ob_device_get_current_preset_depth_work_mode_version(const ob_device *device, ob_error **error);
|
||||||
/**
|
/**
|
||||||
* @brief Get the available preset list.
|
* @brief Get the available preset list.
|
||||||
* @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
|
* @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
|
||||||
@@ -113,6 +123,17 @@ OB_EXPORT const char *ob_device_get_current_preset_name(const ob_device *device,
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error);
|
OB_EXPORT void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Load the preset by preset name and the target depth work mode version.
|
||||||
|
* When multiple presets share the same name, the version selects the exact one.
|
||||||
|
*
|
||||||
|
* @param[in] device The device object.
|
||||||
|
* @param[in] preset_name The preset name. The name should be one of the preset names returned by @ref ob_device_get_available_preset_list.
|
||||||
|
* @param[in] version The target depth work mode version string, e.g. "1.2.3". Must not be empty.
|
||||||
|
* @param[out] error Pointer to an error object that will be set if an error occurs.
|
||||||
|
*/
|
||||||
|
OB_EXPORT void ob_device_load_preset_by_depth_work_mode_version(ob_device *device, const char *preset_name, const char *version, ob_error **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Load preset from json string.
|
* @brief Load preset from json string.
|
||||||
* @brief After loading the custom preset, the settings in the custom preset will set to the device immediately.
|
* @brief After loading the custom preset, the settings in the custom preset will set to the device immediately.
|
||||||
@@ -217,6 +238,18 @@ OB_EXPORT const char *ob_device_preset_list_get_name(const ob_device_preset_list
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT bool ob_device_preset_list_has_preset(const ob_device_preset_list *preset_list, const char *preset_name, ob_error **error);
|
OB_EXPORT bool ob_device_preset_list_has_preset(const ob_device_preset_list *preset_list, const char *preset_name, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the target depth work mode version of the preset at the specified index.
|
||||||
|
*
|
||||||
|
* @param[in] preset_list Data structure containing a list of presets
|
||||||
|
* @param[in] index Index of the target preset
|
||||||
|
* @param[out] error Pointer to an error object that will be set if an error occurs.
|
||||||
|
*
|
||||||
|
* @return const char* The version string of the depth work mode, e.g. "1.2.3". Empty string when the
|
||||||
|
* device does not support versioned modes.
|
||||||
|
*/
|
||||||
|
OB_EXPORT const char *ob_device_preset_list_get_depth_work_mode_version(const ob_device_preset_list *preset_list, uint32_t index, ob_error **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check if the device supports the frame interleave feature.
|
* @brief Check if the device supports the frame interleave feature.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -80,6 +80,20 @@ OB_EXPORT void ob_enable_net_device_enumeration(ob_context *context, bool enable
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT bool ob_force_ip_config(const char *macAddress, ob_net_ip_config config, ob_error **error);
|
OB_EXPORT bool ob_force_ip_config(const char *macAddress, ob_net_ip_config config, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send a GigE Vision Action Command via GVCP.
|
||||||
|
*
|
||||||
|
* @param[in] deviceKey Device key to match.
|
||||||
|
* @param[in] groupKey Group key to match against the camera's Action blocks.
|
||||||
|
* @param[in] groupMask Group mask, bitwise-ANDed with each Action block's mask.
|
||||||
|
* @param[in] destIp Destination IPv4 address. NULL or "255.255.255.255" uses broadcast.
|
||||||
|
* @param[in] scheduledTime PTP absolute timestamp. 0 = immediate trigger, non-zero = scheduled.
|
||||||
|
* @param[out] error Pointer to an error object that will be populated if an error occurs.
|
||||||
|
*
|
||||||
|
* @return bool true on success. Fire-and-forget; does not wait for camera ACK.
|
||||||
|
*/
|
||||||
|
OB_EXPORT bool ob_send_action_command(uint32_t deviceKey, uint32_t groupKey, uint32_t groupMask, const char *destIp, uint64_t scheduledTime, ob_error **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the GVCP port scheme used for network device discovery and control.
|
* @brief Set the GVCP port scheme used for network device discovery and control.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1578,6 +1578,12 @@ typedef enum {
|
|||||||
* @brief The device captures data in software synchronization mode, starting acquisition based on the system time.
|
* @brief The device captures data in software synchronization mode, starting acquisition based on the system time.
|
||||||
*/
|
*/
|
||||||
OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_SYNCED = 1 << 8,
|
OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_SYNCED = 1 << 8,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Group actions trigger mode.
|
||||||
|
* @note The device waits for a GVCP ACTION_CMD matching the configured action parameters.
|
||||||
|
*/
|
||||||
|
OB_MULTI_DEVICE_SYNC_MODE_GROUP_ACTIONS = 1 << 9,
|
||||||
} ob_multi_device_sync_mode,
|
} ob_multi_device_sync_mode,
|
||||||
OBMultiDeviceSyncMode;
|
OBMultiDeviceSyncMode;
|
||||||
|
|
||||||
|
|||||||
@@ -674,6 +674,7 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable FPS boost in trigger mode
|
* @brief Enable FPS boost in trigger mode
|
||||||
|
* Not effective for devices connected via USB 2.x or lower
|
||||||
*/
|
*/
|
||||||
OB_PROP_FPS_BOOST_BOOL = 275,
|
OB_PROP_FPS_BOOST_BOOL = 275,
|
||||||
|
|
||||||
@@ -695,6 +696,44 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
OB_PROP_COLOR_AE_AWB_STATUS_INT = 287,
|
OB_PROP_COLOR_AE_AWB_STATUS_INT = 287,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Number of Action Signal blocks supported by the device
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_SIGNAL_COUNT_INT = 296,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Device Key, shared across all Action Commands
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_DEVICE_KEY_INT = 297,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Maximum number of scheduled Action Commands that can be queued by the device
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_SCHEDULED_COMMAND_QUEUE_SIZE_INT = 298,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Signal selector, 0..N-1; subsequent selector-scoped reads/writes target the selected block.
|
||||||
|
* @note The selector is stateful. The selector, Group Key, and Group Mask
|
||||||
|
* must be written serially as one caller-controlled sequence. Do not
|
||||||
|
* interleave this sequence with Action Command property operations
|
||||||
|
* from another thread on the same device.
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_SELECTOR_INT = 299,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Group Key for the currently selected block.
|
||||||
|
* @note Must be written serially with OB_PROP_ACTION_SELECTOR_INT and
|
||||||
|
* OB_PROP_ACTION_GROUP_MASK_INT on the same device.
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_GROUP_KEY_INT = 300,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Group Mask for the currently selected block.
|
||||||
|
* @note Must be written serially with OB_PROP_ACTION_SELECTOR_INT and
|
||||||
|
* OB_PROP_ACTION_GROUP_KEY_INT on the same device.
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_GROUP_MASK_INT = 301,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Baseline calibration parameters
|
* @brief Baseline calibration parameters
|
||||||
*/
|
*/
|
||||||
@@ -978,6 +1017,11 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
OB_PROP_DEPTH_AUTO_EXPOSURE_PRIORITY_INT = 2052,
|
OB_PROP_DEPTH_AUTO_EXPOSURE_PRIORITY_INT = 2052,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Color camera WB control
|
||||||
|
*/
|
||||||
|
OB_PROP_COLOR_WB_CTRL_INT = 2053,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Software disparity to depth
|
* @brief Software disparity to depth
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -157,6 +157,24 @@ public:
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send a GigE Vision Action Command via GVCP.
|
||||||
|
*
|
||||||
|
* @param deviceKey Device key to match.
|
||||||
|
* @param groupKey Group key to match.
|
||||||
|
* @param groupMask Group mask, bitwise-ANDed with Action block masks.
|
||||||
|
* @param destIp Destination IPv4 address. Defaults to "255.255.255.255" for broadcast.
|
||||||
|
* @param scheduledTime PTP timestamp. 0 = immediate, non-zero = scheduled.
|
||||||
|
*
|
||||||
|
* @return bool true on success.
|
||||||
|
*/
|
||||||
|
bool sendActionCommand(uint32_t deviceKey, uint32_t groupKey, uint32_t groupMask, const char *destIp = "255.255.255.255", uint64_t scheduledTime = 0) {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
bool ok = ob_send_action_command(deviceKey, groupKey, groupMask, destIp, scheduledTime, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the GVCP port scheme used for network device discovery and control.
|
* @brief Set the GVCP port scheme used for network device discovery and control.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -880,6 +880,31 @@ public:
|
|||||||
Error::handle(&error);
|
Error::handle(&error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief load the preset by preset name and the target depth work mode version.
|
||||||
|
* The version is forwarded to the depth work mode switch when loading the preset.
|
||||||
|
* @param[in] presetName The preset name to set. The name should be one of the preset names returned by @ref getAvailablePresetList.
|
||||||
|
* @param[in] version The target depth work mode version string, e.g. "1.2.3". Must not be empty.
|
||||||
|
*/
|
||||||
|
void loadPreset(const char *presetName, const char *version) const {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
ob_device_load_preset_by_depth_work_mode_version(impl_, presetName, version, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the version of the current depth work mode.
|
||||||
|
*
|
||||||
|
* @return const char* The version string, e.g. "1.2.3". Empty string when the device
|
||||||
|
* does not support versioned modes.
|
||||||
|
*/
|
||||||
|
const char *getCurrentPresetDepthWorkModeVersion() const {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
const char *version = ob_device_get_current_preset_depth_work_mode_version(impl_, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get available preset list
|
* @brief Get available preset list
|
||||||
* @brief The available preset list usually defined by the device manufacturer and restores on the device.
|
* @brief The available preset list usually defined by the device manufacturer and restores on the device.
|
||||||
@@ -1836,6 +1861,21 @@ public:
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the depth work mode version of the preset at the specified index
|
||||||
|
*
|
||||||
|
* @param[in] index the index of the device preset
|
||||||
|
*
|
||||||
|
* @return const char* the version string of the depth work mode, e.g. "1.2.3". Empty string
|
||||||
|
* when the device does not support versioned modes.
|
||||||
|
*/
|
||||||
|
const char *getDepthWorkModeVersion(uint32_t index) {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
const char *version = ob_device_preset_list_get_depth_work_mode_version(impl_, index, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief check if the preset list contains the special name preset.
|
* @brief check if the preset list contains the special name preset.
|
||||||
* @param[in] name The name of the preset
|
* @param[in] name The name of the preset
|
||||||
|
|||||||
@@ -177,8 +177,12 @@ public:
|
|||||||
* @return std::shared_ptr< Frame > The processed frame.
|
* @return std::shared_ptr< Frame > The processed frame.
|
||||||
*/
|
*/
|
||||||
virtual std::shared_ptr<Frame> process(std::shared_ptr<const Frame> frame) const {
|
virtual std::shared_ptr<Frame> process(std::shared_ptr<const Frame> frame) const {
|
||||||
|
const ob_frame *frameImpl = nullptr;
|
||||||
|
if(frame) {
|
||||||
|
frameImpl = frame->getImpl();
|
||||||
|
}
|
||||||
ob_error *error = nullptr;
|
ob_error *error = nullptr;
|
||||||
auto result = ob_filter_process(impl_, frame->getImpl(), &error);
|
auto result = ob_filter_process(impl_, frameImpl, &error);
|
||||||
Error::handle(&error);
|
Error::handle(&error);
|
||||||
if(!result) {
|
if(!result) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@@ -192,8 +196,12 @@ public:
|
|||||||
* @param[in] frame The pending frame. The processing result is returned by the callback function.
|
* @param[in] frame The pending frame. The processing result is returned by the callback function.
|
||||||
*/
|
*/
|
||||||
virtual void pushFrame(std::shared_ptr<Frame> frame) const {
|
virtual void pushFrame(std::shared_ptr<Frame> frame) const {
|
||||||
|
const ob_frame *frameImpl = nullptr;
|
||||||
|
if(frame) {
|
||||||
|
frameImpl = frame->getImpl();
|
||||||
|
}
|
||||||
ob_error *error = nullptr;
|
ob_error *error = nullptr;
|
||||||
ob_filter_push_frame(impl_, frame->getImpl(), &error);
|
ob_filter_push_frame(impl_, frameImpl, &error);
|
||||||
Error::handle(&error);
|
Error::handle(&error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
|
|||||||
# Import target "ob::OrbbecSDK" for configuration "Release"
|
# Import target "ob::OrbbecSDK" for configuration "Release"
|
||||||
set_property(TARGET ob::OrbbecSDK APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
set_property(TARGET ob::OrbbecSDK APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||||
set_target_properties(ob::OrbbecSDK PROPERTIES
|
set_target_properties(ob::OrbbecSDK PROPERTIES
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.1"
|
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.2"
|
||||||
IMPORTED_SONAME_RELEASE "libOrbbecSDK.so.2"
|
IMPORTED_SONAME_RELEASE "libOrbbecSDK.so.2"
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND _cmake_import_check_targets ob::OrbbecSDK )
|
list(APPEND _cmake_import_check_targets ob::OrbbecSDK )
|
||||||
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.1" )
|
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.2" )
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
# Commands beyond this point should not need to know the version.
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
set(CMAKE_IMPORT_FILE_VERSION)
|
||||||
|
|||||||
@@ -9,19 +9,19 @@
|
|||||||
# The variable CVF_VERSION must be set before calling configure_file().
|
# The variable CVF_VERSION must be set before calling configure_file().
|
||||||
|
|
||||||
|
|
||||||
set(PACKAGE_VERSION "2.10.1")
|
set(PACKAGE_VERSION "2.10.2")
|
||||||
|
|
||||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
else()
|
else()
|
||||||
|
|
||||||
if("2.10.1" MATCHES "^([0-9]+)\\.")
|
if("2.10.2" MATCHES "^([0-9]+)\\.")
|
||||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||||
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
||||||
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
set(CVF_VERSION_MAJOR "2.10.1")
|
set(CVF_VERSION_MAJOR "2.10.2")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION_RANGE)
|
if(PACKAGE_FIND_VERSION_RANGE)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
libOrbbecSDK.so.2.10.1
|
libOrbbecSDK.so.2.10.2
|
||||||
BIN
Binary file not shown.
@@ -101,6 +101,16 @@ OB_EXPORT void ob_delete_depth_work_mode_list(ob_depth_work_mode_list *work_mode
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT const char *ob_device_get_current_preset_name(const ob_device *device, ob_error **error);
|
OB_EXPORT const char *ob_device_get_current_preset_name(const ob_device *device, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the version of the current depth work mode.
|
||||||
|
*
|
||||||
|
* @param[in] device The device object.
|
||||||
|
* @param[out] error Pointer to an error object that will be set if an error occurs.
|
||||||
|
*
|
||||||
|
* @return const char* The version string, e.g. "1.2.3". Empty string when the device does not
|
||||||
|
* support versioned modes.
|
||||||
|
*/
|
||||||
|
OB_EXPORT const char *ob_device_get_current_preset_depth_work_mode_version(const ob_device *device, ob_error **error);
|
||||||
/**
|
/**
|
||||||
* @brief Get the available preset list.
|
* @brief Get the available preset list.
|
||||||
* @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
|
* @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
|
||||||
@@ -113,6 +123,17 @@ OB_EXPORT const char *ob_device_get_current_preset_name(const ob_device *device,
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error);
|
OB_EXPORT void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Load the preset by preset name and the target depth work mode version.
|
||||||
|
* When multiple presets share the same name, the version selects the exact one.
|
||||||
|
*
|
||||||
|
* @param[in] device The device object.
|
||||||
|
* @param[in] preset_name The preset name. The name should be one of the preset names returned by @ref ob_device_get_available_preset_list.
|
||||||
|
* @param[in] version The target depth work mode version string, e.g. "1.2.3". Must not be empty.
|
||||||
|
* @param[out] error Pointer to an error object that will be set if an error occurs.
|
||||||
|
*/
|
||||||
|
OB_EXPORT void ob_device_load_preset_by_depth_work_mode_version(ob_device *device, const char *preset_name, const char *version, ob_error **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Load preset from json string.
|
* @brief Load preset from json string.
|
||||||
* @brief After loading the custom preset, the settings in the custom preset will set to the device immediately.
|
* @brief After loading the custom preset, the settings in the custom preset will set to the device immediately.
|
||||||
@@ -217,6 +238,18 @@ OB_EXPORT const char *ob_device_preset_list_get_name(const ob_device_preset_list
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT bool ob_device_preset_list_has_preset(const ob_device_preset_list *preset_list, const char *preset_name, ob_error **error);
|
OB_EXPORT bool ob_device_preset_list_has_preset(const ob_device_preset_list *preset_list, const char *preset_name, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the target depth work mode version of the preset at the specified index.
|
||||||
|
*
|
||||||
|
* @param[in] preset_list Data structure containing a list of presets
|
||||||
|
* @param[in] index Index of the target preset
|
||||||
|
* @param[out] error Pointer to an error object that will be set if an error occurs.
|
||||||
|
*
|
||||||
|
* @return const char* The version string of the depth work mode, e.g. "1.2.3". Empty string when the
|
||||||
|
* device does not support versioned modes.
|
||||||
|
*/
|
||||||
|
OB_EXPORT const char *ob_device_preset_list_get_depth_work_mode_version(const ob_device_preset_list *preset_list, uint32_t index, ob_error **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check if the device supports the frame interleave feature.
|
* @brief Check if the device supports the frame interleave feature.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -80,6 +80,20 @@ OB_EXPORT void ob_enable_net_device_enumeration(ob_context *context, bool enable
|
|||||||
*/
|
*/
|
||||||
OB_EXPORT bool ob_force_ip_config(const char *macAddress, ob_net_ip_config config, ob_error **error);
|
OB_EXPORT bool ob_force_ip_config(const char *macAddress, ob_net_ip_config config, ob_error **error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send a GigE Vision Action Command via GVCP.
|
||||||
|
*
|
||||||
|
* @param[in] deviceKey Device key to match.
|
||||||
|
* @param[in] groupKey Group key to match against the camera's Action blocks.
|
||||||
|
* @param[in] groupMask Group mask, bitwise-ANDed with each Action block's mask.
|
||||||
|
* @param[in] destIp Destination IPv4 address. NULL or "255.255.255.255" uses broadcast.
|
||||||
|
* @param[in] scheduledTime PTP absolute timestamp. 0 = immediate trigger, non-zero = scheduled.
|
||||||
|
* @param[out] error Pointer to an error object that will be populated if an error occurs.
|
||||||
|
*
|
||||||
|
* @return bool true on success. Fire-and-forget; does not wait for camera ACK.
|
||||||
|
*/
|
||||||
|
OB_EXPORT bool ob_send_action_command(uint32_t deviceKey, uint32_t groupKey, uint32_t groupMask, const char *destIp, uint64_t scheduledTime, ob_error **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the GVCP port scheme used for network device discovery and control.
|
* @brief Set the GVCP port scheme used for network device discovery and control.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1578,6 +1578,12 @@ typedef enum {
|
|||||||
* @brief The device captures data in software synchronization mode, starting acquisition based on the system time.
|
* @brief The device captures data in software synchronization mode, starting acquisition based on the system time.
|
||||||
*/
|
*/
|
||||||
OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_SYNCED = 1 << 8,
|
OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_SYNCED = 1 << 8,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Group actions trigger mode.
|
||||||
|
* @note The device waits for a GVCP ACTION_CMD matching the configured action parameters.
|
||||||
|
*/
|
||||||
|
OB_MULTI_DEVICE_SYNC_MODE_GROUP_ACTIONS = 1 << 9,
|
||||||
} ob_multi_device_sync_mode,
|
} ob_multi_device_sync_mode,
|
||||||
OBMultiDeviceSyncMode;
|
OBMultiDeviceSyncMode;
|
||||||
|
|
||||||
|
|||||||
@@ -674,6 +674,7 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable FPS boost in trigger mode
|
* @brief Enable FPS boost in trigger mode
|
||||||
|
* Not effective for devices connected via USB 2.x or lower
|
||||||
*/
|
*/
|
||||||
OB_PROP_FPS_BOOST_BOOL = 275,
|
OB_PROP_FPS_BOOST_BOOL = 275,
|
||||||
|
|
||||||
@@ -695,6 +696,44 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
OB_PROP_COLOR_AE_AWB_STATUS_INT = 287,
|
OB_PROP_COLOR_AE_AWB_STATUS_INT = 287,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Number of Action Signal blocks supported by the device
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_SIGNAL_COUNT_INT = 296,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Device Key, shared across all Action Commands
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_DEVICE_KEY_INT = 297,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Maximum number of scheduled Action Commands that can be queued by the device
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_SCHEDULED_COMMAND_QUEUE_SIZE_INT = 298,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Signal selector, 0..N-1; subsequent selector-scoped reads/writes target the selected block.
|
||||||
|
* @note The selector is stateful. The selector, Group Key, and Group Mask
|
||||||
|
* must be written serially as one caller-controlled sequence. Do not
|
||||||
|
* interleave this sequence with Action Command property operations
|
||||||
|
* from another thread on the same device.
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_SELECTOR_INT = 299,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Group Key for the currently selected block.
|
||||||
|
* @note Must be written serially with OB_PROP_ACTION_SELECTOR_INT and
|
||||||
|
* OB_PROP_ACTION_GROUP_MASK_INT on the same device.
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_GROUP_KEY_INT = 300,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Action Group Mask for the currently selected block.
|
||||||
|
* @note Must be written serially with OB_PROP_ACTION_SELECTOR_INT and
|
||||||
|
* OB_PROP_ACTION_GROUP_KEY_INT on the same device.
|
||||||
|
*/
|
||||||
|
OB_PROP_ACTION_GROUP_MASK_INT = 301,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Baseline calibration parameters
|
* @brief Baseline calibration parameters
|
||||||
*/
|
*/
|
||||||
@@ -978,6 +1017,11 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
OB_PROP_DEPTH_AUTO_EXPOSURE_PRIORITY_INT = 2052,
|
OB_PROP_DEPTH_AUTO_EXPOSURE_PRIORITY_INT = 2052,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Color camera WB control
|
||||||
|
*/
|
||||||
|
OB_PROP_COLOR_WB_CTRL_INT = 2053,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Software disparity to depth
|
* @brief Software disparity to depth
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -157,6 +157,24 @@ public:
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send a GigE Vision Action Command via GVCP.
|
||||||
|
*
|
||||||
|
* @param deviceKey Device key to match.
|
||||||
|
* @param groupKey Group key to match.
|
||||||
|
* @param groupMask Group mask, bitwise-ANDed with Action block masks.
|
||||||
|
* @param destIp Destination IPv4 address. Defaults to "255.255.255.255" for broadcast.
|
||||||
|
* @param scheduledTime PTP timestamp. 0 = immediate, non-zero = scheduled.
|
||||||
|
*
|
||||||
|
* @return bool true on success.
|
||||||
|
*/
|
||||||
|
bool sendActionCommand(uint32_t deviceKey, uint32_t groupKey, uint32_t groupMask, const char *destIp = "255.255.255.255", uint64_t scheduledTime = 0) {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
bool ok = ob_send_action_command(deviceKey, groupKey, groupMask, destIp, scheduledTime, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the GVCP port scheme used for network device discovery and control.
|
* @brief Set the GVCP port scheme used for network device discovery and control.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -880,6 +880,31 @@ public:
|
|||||||
Error::handle(&error);
|
Error::handle(&error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief load the preset by preset name and the target depth work mode version.
|
||||||
|
* The version is forwarded to the depth work mode switch when loading the preset.
|
||||||
|
* @param[in] presetName The preset name to set. The name should be one of the preset names returned by @ref getAvailablePresetList.
|
||||||
|
* @param[in] version The target depth work mode version string, e.g. "1.2.3". Must not be empty.
|
||||||
|
*/
|
||||||
|
void loadPreset(const char *presetName, const char *version) const {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
ob_device_load_preset_by_depth_work_mode_version(impl_, presetName, version, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the version of the current depth work mode.
|
||||||
|
*
|
||||||
|
* @return const char* The version string, e.g. "1.2.3". Empty string when the device
|
||||||
|
* does not support versioned modes.
|
||||||
|
*/
|
||||||
|
const char *getCurrentPresetDepthWorkModeVersion() const {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
const char *version = ob_device_get_current_preset_depth_work_mode_version(impl_, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get available preset list
|
* @brief Get available preset list
|
||||||
* @brief The available preset list usually defined by the device manufacturer and restores on the device.
|
* @brief The available preset list usually defined by the device manufacturer and restores on the device.
|
||||||
@@ -1836,6 +1861,21 @@ public:
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the depth work mode version of the preset at the specified index
|
||||||
|
*
|
||||||
|
* @param[in] index the index of the device preset
|
||||||
|
*
|
||||||
|
* @return const char* the version string of the depth work mode, e.g. "1.2.3". Empty string
|
||||||
|
* when the device does not support versioned modes.
|
||||||
|
*/
|
||||||
|
const char *getDepthWorkModeVersion(uint32_t index) {
|
||||||
|
ob_error *error = nullptr;
|
||||||
|
const char *version = ob_device_preset_list_get_depth_work_mode_version(impl_, index, &error);
|
||||||
|
Error::handle(&error);
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief check if the preset list contains the special name preset.
|
* @brief check if the preset list contains the special name preset.
|
||||||
* @param[in] name The name of the preset
|
* @param[in] name The name of the preset
|
||||||
|
|||||||
@@ -177,8 +177,12 @@ public:
|
|||||||
* @return std::shared_ptr< Frame > The processed frame.
|
* @return std::shared_ptr< Frame > The processed frame.
|
||||||
*/
|
*/
|
||||||
virtual std::shared_ptr<Frame> process(std::shared_ptr<const Frame> frame) const {
|
virtual std::shared_ptr<Frame> process(std::shared_ptr<const Frame> frame) const {
|
||||||
|
const ob_frame *frameImpl = nullptr;
|
||||||
|
if(frame) {
|
||||||
|
frameImpl = frame->getImpl();
|
||||||
|
}
|
||||||
ob_error *error = nullptr;
|
ob_error *error = nullptr;
|
||||||
auto result = ob_filter_process(impl_, frame->getImpl(), &error);
|
auto result = ob_filter_process(impl_, frameImpl, &error);
|
||||||
Error::handle(&error);
|
Error::handle(&error);
|
||||||
if(!result) {
|
if(!result) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@@ -192,8 +196,12 @@ public:
|
|||||||
* @param[in] frame The pending frame. The processing result is returned by the callback function.
|
* @param[in] frame The pending frame. The processing result is returned by the callback function.
|
||||||
*/
|
*/
|
||||||
virtual void pushFrame(std::shared_ptr<Frame> frame) const {
|
virtual void pushFrame(std::shared_ptr<Frame> frame) const {
|
||||||
|
const ob_frame *frameImpl = nullptr;
|
||||||
|
if(frame) {
|
||||||
|
frameImpl = frame->getImpl();
|
||||||
|
}
|
||||||
ob_error *error = nullptr;
|
ob_error *error = nullptr;
|
||||||
ob_filter_push_frame(impl_, frame->getImpl(), &error);
|
ob_filter_push_frame(impl_, frameImpl, &error);
|
||||||
Error::handle(&error);
|
Error::handle(&error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
|
|||||||
# Import target "ob::OrbbecSDK" for configuration "Release"
|
# Import target "ob::OrbbecSDK" for configuration "Release"
|
||||||
set_property(TARGET ob::OrbbecSDK APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
set_property(TARGET ob::OrbbecSDK APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||||
set_target_properties(ob::OrbbecSDK PROPERTIES
|
set_target_properties(ob::OrbbecSDK PROPERTIES
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.1"
|
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.2"
|
||||||
IMPORTED_SONAME_RELEASE "libOrbbecSDK.so.2"
|
IMPORTED_SONAME_RELEASE "libOrbbecSDK.so.2"
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND _cmake_import_check_targets ob::OrbbecSDK )
|
list(APPEND _cmake_import_check_targets ob::OrbbecSDK )
|
||||||
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.1" )
|
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.10.2" )
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
# Commands beyond this point should not need to know the version.
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
set(CMAKE_IMPORT_FILE_VERSION)
|
||||||
|
|||||||
@@ -9,19 +9,19 @@
|
|||||||
# The variable CVF_VERSION must be set before calling configure_file().
|
# The variable CVF_VERSION must be set before calling configure_file().
|
||||||
|
|
||||||
|
|
||||||
set(PACKAGE_VERSION "2.10.1")
|
set(PACKAGE_VERSION "2.10.2")
|
||||||
|
|
||||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
else()
|
else()
|
||||||
|
|
||||||
if("2.10.1" MATCHES "^([0-9]+)\\.")
|
if("2.10.2" MATCHES "^([0-9]+)\\.")
|
||||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||||
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
||||||
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
set(CVF_VERSION_MAJOR "2.10.1")
|
set(CVF_VERSION_MAJOR "2.10.2")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PACKAGE_FIND_VERSION_RANGE)
|
if(PACKAGE_FIND_VERSION_RANGE)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
libOrbbecSDK.so.2.10.1
|
libOrbbecSDK.so.2.10.2
|
||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user