1#ifndef _CHRONOPTICS_TOF_DATA_H_
2#define _CHRONOPTICS_TOF_DATA_H_
4#include <chronoptics/tof/stream.h>
13 TOF_MAT_TYPE_UINT8 = 0,
14 TOF_MAT_TYPE_INT8 = 1,
15 TOF_MAT_TYPE_UINT16 = 2,
16 TOF_MAT_TYPE_INT16 = 3,
17 TOF_MAT_TYPE_INT32 = 4,
18 TOF_MAT_TYPE_FLOAT = 5,
19 TOF_MAT_TYPE_DOUBLE = 6,
20 TOF_MAT_TYPE_FLOAT_4 = 29,
21 TOF_MAT_TYPE_FLOAT_8 = 61,
30typedef void (*tof_user_pointer_destructed_t)(uint8_t* pointer,
size_t capacity,
void* user_data);
34typedef struct tof_data* tof_data_t;
36typedef struct tof_data const* tof_data_ct;
39TOF_EXPORT
void tof_data_delete(tof_data_t ptr);
46TOF_EXPORT
void* tof_data_data(tof_data_t ptr, tof_error_t *error);
53TOF_EXPORT
size_t tof_data_size(tof_data_ct ptr, tof_error_t *error);
60TOF_EXPORT uint64_t tof_data_get_user_data(tof_data_ct ptr, tof_error_t *error);
67TOF_EXPORT
void tof_data_set_user_data(tof_data_t ptr, uint64_t user_data, tof_error_t *error);
74TOF_EXPORT
enum tof_mat_type tof_data_mat_type(tof_data_ct ptr, tof_error_t *error);
81TOF_EXPORT int32_t tof_data_rows(tof_data_ct ptr, tof_error_t *error);
88TOF_EXPORT int32_t tof_data_cols(tof_data_ct ptr, tof_error_t *error);
95TOF_EXPORT uint16_t tof_data_frame_count(tof_data_ct ptr, tof_error_t *error);
102TOF_EXPORT
enum tof_frame_type tof_data_frame_type(tof_data_ct ptr, tof_error_t *error);
109TOF_EXPORT uint32_t tof_data_frame_id(tof_data_ct ptr, tof_error_t *error);
116TOF_EXPORT
float tof_data_modulation_frequency(tof_data_ct ptr, tof_error_t *error);
123TOF_EXPORT uint32_t tof_data_integration_time(tof_data_ct ptr, tof_error_t *error);
130TOF_EXPORT uint32_t tof_data_process(tof_data_ct ptr, tof_error_t *error);
138TOF_EXPORT
float tof_data_scale(tof_data_ct ptr, tof_error_t *error);
146TOF_EXPORT
float tof_data_addition(tof_data_ct ptr, tof_error_t *error);
155TOF_EXPORT
size_t tof_data_temperatures(tof_data_ct ptr,
float* temperatures,
size_t capacity, tof_error_t *error);
162TOF_EXPORT uint8_t tof_data_sync_count(tof_data_ct ptr, tof_error_t *error);
169TOF_EXPORT
bool tof_data_user_allocated(tof_data_ct ptr, tof_error_t *error);
176TOF_EXPORT
void* tof_data_user_pointer(tof_data_ct ptr, tof_error_t *error);
183TOF_EXPORT
const int16_t* tof_data_acceleration(tof_data_ct ptr, tof_error_t *error);
190TOF_EXPORT
const int16_t* tof_data_angular_velocity(tof_data_ct ptr, tof_error_t *error);
197TOF_EXPORT uint64_t tof_data_time_stamp(tof_data_t ptr, tof_error_t *error);