Time-of-Flight Library(ToF) 4.0.1
 
user_config.h
1#ifndef _CHRONOPTICS_TOF_USER_CONFIG_H_
2#define _CHRONOPTICS_TOF_USER_CONFIG_H_
3
4#include <chronoptics/tof/camera_config.h>
5#include <chronoptics/tof/camera.h>
6#include <chronoptics/tof/processing_config.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12/** Optimized configurations for different use cases
13 */
14enum tof_config_mode {
15 TOF_CONFIG_MODE_LONG_RANGE_DYNAMIC_SCENE = 1, /** Suitable for most applications */
16 TOF_CONFIG_MODE_MEDIUM_RANGE_DYNAMIC_SCENE = 2, /** For fast moving applications */
17 TOF_CONFIG_MODE_MEDIUM_RANGE_BALANCED = 3, /** Balanced between range, speed and accuracy */
18 TOF_CONFIG_MODE_SHORT_RANGE_HIGH_SPEED = 4, /** Maximum speed mode for short range and fast moving applications */
19 TOF_CONFIG_MODE_LONG_RANGE_HIGH_RESOLUTION = 5, /** Full resolution long range */
20 TOF_CONFIG_MODE_MEDIUM_RANGE_STATIC_SCENE = 6, /** Full resolution for slow changing scene */
21 TOF_CONFIG_MODE_FAR_OUT_STATIC_SCENE = 7, /** Full resolution for slow changing scene */
22};
23
24/** Get the camera config associated with the config mode
25 * @param camera Camera
26 * @param config_mode Config mode
27 * @param error Pointer to error
28 * @return Camera Config
29 */
30TOF_EXPORT tof_camera_config_t tof_config_mode_camera_config(tof_camera_t camera, enum tof_config_mode config_mode, tof_error_t *error);
31
32/** Get the processing config associated with the config mode
33 * @param camera Camera
34 * @param config_mode Config mode
35 * @param error Pointer to error
36 * @return Processing Config
37 */
38TOF_EXPORT tof_processing_config_t tof_config_mode_processing_config(tof_camera_t camera, enum tof_config_mode config_mode, tof_error_t *error);
39
40/** Check whether hdr is possible with current camera config
41 * @param config The camera config to check
42 * @param error Pointer to error
43 * @return Whether hdr is possible
44 */
45TOF_EXPORT bool tof_hdr_possible(tof_camera_config_ct config, tof_error_t *error);
46
47/** Check whether phase unwrap is possible with current camera config
48 * @param config The camera config to check
49 * @param error Pointer to error
50 * @return Whether phase unwrap is possible
51 */
52TOF_EXPORT bool tof_phase_unwrap_possible(tof_camera_config_ct config, tof_error_t *error);
53
54/** Generate processing config based on camera configuration and calibration.
55 * @param camera A camera
56 * @param error Pointer to error
57 */
58TOF_EXPORT void tof_apply_default_processing_config(tof_camera_t camera, tof_error_t *error);
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif