1#ifndef _CHRONOPTICS_TOF_USER_CONFIG_H_
2#define _CHRONOPTICS_TOF_USER_CONFIG_H_
4#include <chronoptics/tof/camera_config.h>
5#include <chronoptics/tof/camera.h>
6#include <chronoptics/tof/processing_config.h>
14enum tof_integration_time {
15 TOF_INTEGRATION_TIME_SHORT = 0,
16 TOF_INTEGRATION_TIME_MEDIUM = 1,
17 TOF_INTEGRATION_TIME_LONG = 2,
22enum tof_imaging_environment {
23 TOF_IMAGING_ENVIRONMENT_INSIDE = 0,
24 TOF_IMAGING_ENVIRONMENT_SUNLIGHT = 1,
30 TOF_STRATEGY_BALANCED = 0,
31 TOF_STRATEGY_SPEED = 1,
32 TOF_STRATEGY_ACCURACY = 2,
38 TOF_CONFIG_MODE_LONG_RANGE_DYNAMIC_SCENE = 1,
39 TOF_CONFIG_MODE_MEDIUM_RANGE_DYNAMIC_SCENE = 2,
40 TOF_CONFIG_MODE_MEDIUM_RANGE_BALANCED = 3,
41 TOF_CONFIG_MODE_SHORT_RANGE_HIGH_SPEED = 4,
42 TOF_CONFIG_MODE_LONG_RANGE_HIGH_RESOLUTION = 5,
43 TOF_CONFIG_MODE_MEDIUM_RANGE_STATIC_SCENE = 6,
44 TOF_CONFIG_MODE_FAR_OUT_STATIC_SCENE = 7,
50typedef struct tof_user_config* tof_user_config_t;
53TOF_EXPORT
void tof_user_config_delete(tof_user_config_t ptr);
60TOF_EXPORT tof_user_config_t tof_user_config_new_default(tof_error_t *error);
68TOF_EXPORT tof_camera_config_t tof_user_config_to_camera_config(
const tof_user_config_t ptr, tof_camera_t camera, tof_error_t *error);
75TOF_EXPORT
enum tof_imaging_environment tof_user_config_get_environment(
const tof_user_config_t ptr, tof_error_t *error);
82TOF_EXPORT
void tof_user_config_set_environment(tof_user_config_t ptr,
enum tof_imaging_environment imaging_environment, tof_error_t *error);
89TOF_EXPORT
float tof_user_config_get_max_distance(
const tof_user_config_t ptr, tof_error_t *error);
96TOF_EXPORT
void tof_user_config_set_max_distance(tof_user_config_t ptr,
float max_distance, tof_error_t *error);
103TOF_EXPORT
float tof_user_config_get_fps(
const tof_user_config_t ptr, tof_error_t *error);
110TOF_EXPORT
void tof_user_config_set_fps(tof_user_config_t ptr,
float fps, tof_error_t *error);
117TOF_EXPORT
bool tof_user_config_get_lens_flare(
const tof_user_config_t ptr, tof_error_t *error);
124TOF_EXPORT
void tof_user_config_set_lens_flare(tof_user_config_t ptr,
bool lens_flare, tof_error_t *error);
131TOF_EXPORT
bool tof_user_config_get_translucent(
const tof_user_config_t ptr, tof_error_t *error);
138TOF_EXPORT
void tof_user_config_set_translucent(tof_user_config_t ptr,
bool translucent, tof_error_t *error);
147TOF_EXPORT
bool tof_user_config_get_hdr(
const tof_user_config_t ptr, tof_error_t *error);
156TOF_EXPORT
void tof_user_config_set_hdr(tof_user_config_t ptr,
bool hdr, tof_error_t *error);
163TOF_EXPORT
enum tof_integration_time tof_user_config_get_integration_time(
const tof_user_config_t ptr, tof_error_t *error);
170TOF_EXPORT
void tof_user_config_set_integration_time(tof_user_config_t ptr,
enum tof_integration_time int_time, tof_error_t *error);
177TOF_EXPORT
enum tof_strategy tof_user_config_get_strategy(
const tof_user_config_t ptr, tof_error_t *error);
184TOF_EXPORT
void tof_user_config_set_strategy(tof_user_config_t ptr,
enum tof_strategy strategy, tof_error_t *error);
192TOF_EXPORT int32_t tof_user_config_get_channel(
const tof_user_config_t ptr, tof_error_t *error);
200TOF_EXPORT
void tof_user_config_set_channel(tof_user_config_t ptr, int32_t channel, tof_error_t *error);
208TOF_EXPORT tof_camera_config_t tof_config_mode_camera_config(tof_camera_t camera,
enum tof_config_mode config_mode, tof_error_t *error);
216TOF_EXPORT tof_processing_config_t tof_config_mode_processing_config(tof_camera_t camera,
enum tof_config_mode config_mode, tof_error_t *error);
223TOF_EXPORT
bool tof_hdr_possible(tof_camera_config_t config, tof_error_t *error);
230TOF_EXPORT
bool tof_phase_unwrap_possible(tof_camera_config_t config, tof_error_t *error);
236TOF_EXPORT
void tof_apply_default_processing_config(tof_camera_t camera, tof_error_t *error);