OrbbecSDK 1.10.18
OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras
Loading...
Searching...
No Matches
Macros | Functions
MultipleDevices.h File Reference

This file contains the multiple devices related API witch is used to control the synchronization between multiple devices and the synchronization between different sensor within single device. More...

#include "ObTypes.h"
#include "Device.h"

Go to the source code of this file.

Macros

#define ob_device_timer_reset   ob_device_timestamp_reset
 Alias for ob_device_timestamp_reset since it is more accurate.
 

Functions

uint16_t ob_device_get_supported_multi_device_sync_mode_bitmap (ob_device *device, ob_error **error)
 Get the supported multi device sync mode bitmap of the device.
 
void ob_device_set_multi_device_sync_config (ob_device *device, const ob_multi_device_sync_config *config, ob_error **error)
 set the multi device sync configuration of the device.
 
ob_multi_device_sync_config ob_device_get_multi_device_sync_config (ob_device *device, ob_error **error)
 get the multi device sync configuration of the device.
 
void ob_device_trigger_capture (ob_device *device, ob_error **error)
 send the capture command to the device.
 
void ob_device_set_timestamp_reset_config (ob_device *device, const ob_device_timestamp_reset_config *config, ob_error **error)
 set the timestamp reset configuration of the device.
 
ob_device_timestamp_reset_config ob_device_get_timestamp_reset_config (ob_device *device, ob_error **error)
 get the timestamp reset configuration of the device.
 
void ob_device_timestamp_reset (ob_device *device, ob_error **error)
 send the timestamp reset command to the device.
 
void ob_device_timer_sync_with_host (ob_device *device, ob_error **error)
 synchronize the timer of the device with the host.
 

Detailed Description

This file contains the multiple devices related API witch is used to control the synchronization between multiple devices and the synchronization between different sensor within single device.

The synchronization between multiple devices is complex, and different models have different synchronization modes and limitations. please refer to the product manual for details.

As the Depth and Infrared are the same sensor physically, the behavior of the Infrared is same as the Depth in the synchronization mode.

Definition in file MultipleDevices.h.

Macro Definition Documentation

◆ ob_device_timer_reset

#define ob_device_timer_reset   ob_device_timestamp_reset

Alias for ob_device_timestamp_reset since it is more accurate.

Definition at line 106 of file MultipleDevices.h.

Function Documentation

◆ ob_device_get_supported_multi_device_sync_mode_bitmap()

uint16_t ob_device_get_supported_multi_device_sync_mode_bitmap ( ob_device device,
ob_error **  error 
)

Get the supported multi device sync mode bitmap of the device.

For example, if the return value is 0b00001100, it means the device supports OB_MULTI_DEVICE_SYNC_MODE_PRIMARY and OB_MULTI_DEVICE_SYNC_MODE_SECONDARY. User can check the supported mode by the code:

if(supported_mode_bitmap & OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN){
//support OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN
}
if(supported_mode_bitmap & OB_MULTI_DEVICE_SYNC_MODE_STANDALONE){
//support OB_MULTI_DEVICE_SYNC_MODE_STANDALONE
}
// and so on
@ OB_MULTI_DEVICE_SYNC_MODE_STANDALONE
standalone mode
Definition ObTypes.h:1272
@ OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN
free run mode
Definition ObTypes.h:1265
Parameters
[in]deviceThe device handle.
[out]errorThe error information.
Returns
uint16_t return the supported multi device sync mode bitmap of the device.

◆ ob_device_set_multi_device_sync_config()

void ob_device_set_multi_device_sync_config ( ob_device device,
const ob_multi_device_sync_config config,
ob_error **  error 
)

set the multi device sync configuration of the device.

Parameters
[in]deviceThe device handle.
[in]configThe multi device sync configuration.
[out]errorThe error information.

◆ ob_device_get_multi_device_sync_config()

ob_multi_device_sync_config ob_device_get_multi_device_sync_config ( ob_device device,
ob_error **  error 
)

get the multi device sync configuration of the device.

Parameters
[in]deviceThe device handle.
[out]errorThe error information.
Returns
ob_multi_device_sync_config return the multi device sync configuration of the device.

◆ ob_device_trigger_capture()

void ob_device_trigger_capture ( ob_device device,
ob_error **  error 
)

send the capture command to the device.

The device will start one time image capture after receiving the capture command when it is in the OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING

Attention
The frequency of the user call this function multiplied by the number of frames per trigger should be less than the frame rate of the stream. The number of frames per trigger can be set by framesPerTrigger.
For some models,receive and execute the capture command will have a certain delay and performance consumption, so the frequency of calling this function should not be too high, please refer to the product manual for the specific supported frequency.
If the device is not in the OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING mode, device will ignore the capture command.
Parameters
[in]deviceThe device handle.
[out]errorThe error information.

◆ ob_device_set_timestamp_reset_config()

void ob_device_set_timestamp_reset_config ( ob_device device,
const ob_device_timestamp_reset_config config,
ob_error **  error 
)

set the timestamp reset configuration of the device.

Parameters
[in]deviceThe device handle.
[in]configThe timestamp reset configuration.
[out]errorThe error information.

◆ ob_device_get_timestamp_reset_config()

ob_device_timestamp_reset_config ob_device_get_timestamp_reset_config ( ob_device device,
ob_error **  error 
)

get the timestamp reset configuration of the device.

Parameters
[in]deviceThe device handle.
[out]errorThe error information.
Returns
ob_device_timestamp_reset_config return the timestamp reset configuration of the device.

◆ ob_device_timestamp_reset()

void ob_device_timestamp_reset ( ob_device device,
ob_error **  error 
)

send the timestamp reset command to the device.

The device will reset the timer for calculating the timestamp for output frames to 0 after receiving the timestamp reset command when the timestamp reset function is enabled. The timestamp reset function can be enabled by call ob_device_set_timestamp_reset_config.

Attention
If the stream of the device is started, the timestamp of the continuous frames output by the stream will jump once after the timestamp reset.
Due to the timer of device is not high-accuracy, the timestamp of the continuous frames output by the stream will drift after a long time. User can call this function periodically to reset the timer to avoid the timestamp drift, the recommended interval time is 60 minutes.
Parameters
[in]deviceThe device handle.
[out]errorThe error information.

◆ ob_device_timer_sync_with_host()

void ob_device_timer_sync_with_host ( ob_device device,
ob_error **  error 
)

synchronize the timer of the device with the host.

After calling this function, the timer of the device will be synchronized with the host. User can call this function to multiple devices to synchronize all timers of the devices.

Attention
If the stream of the device is started, the timestamp of the continuous frames output by the stream will may jump once after the timer sync.
Due to the timer of device is not high-accuracy, the timestamp of the continuous frames output by the stream will drift after a long time. User can call this function periodically to synchronize the timer to avoid the timestamp drift, the recommended interval time is 60 minutes.
Parameters
[in]deviceThe device handle.
[out]errorThe error information.