Time-of-Flight Library(ToF)  3.2.2
camera_config.h
1 #ifndef _CHRONOPTICS_TOF_CAMERA_CONFIG_H_
2 #define _CHRONOPTICS_TOF_CAMERA_CONFIG_H_
3 
4 #include <chronoptics/tof/processing_config.h>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 /** ToF cameras made by Chronoptics
11  */
12 enum tof_camera_type {
13  TOF_CAMERA_TYPE_OPT8241 = 1, /** Original Moa and first generation Kea camera with opt sensor */
14  TOF_CAMERA_TYPE_OPT8241_EXT = 4, /** First generation Kea camera with opt sensor and external modulation */
15  TOF_CAMERA_TYPE_MLX75027 = 6, /** Newer generation Kea cameras with mlx sensor */
16 };
17 
18 /** Operating mode of the cameras' sensor
19  */
20 enum tof_sensor_mode {
21  TOF_SENSOR_MODE_NORMAL = 0, /** Normal mode ToF sensor mod (A - B) */
22  TOF_SENSOR_MODE_COMMON = 1, /** Common mode (A + B) */
23  TOF_SENSOR_MODE_EXTERNAL_DEMOD = 4, /** Use external demodulation */
24  TOF_SENSOR_MODE_EXTERNAL_SIGNAL = 5, /** Use the light source as an input */
25  TOF_SENSOR_MODE_TAP_A = 8, /** Only tap a is read out */
26  TOF_SENSOR_MODE_TAP_B = 9, /** Only tap b is read out */
27  TOF_SENSOR_MODE_TAP_AB = 10, /** Both A and B tap are read out, this means double the data transmission */
28 };
29 
30 /** Region of interest
31  */
32 typedef struct tof_roi* tof_roi_t;
33 
34 /** Destruct tof_roi */
35 TOF_EXPORT void tof_roi_delete(tof_roi_t ptr);
36 
37 /** Get the number of rows in the image sensor
38  * @param ptr Pointer to class
39  * @param error Pointer to error
40  * @return Number of rows
41  */
42 TOF_EXPORT int32_t tof_roi_sensor_rows(const tof_roi_t ptr, tof_error_t *error);
43 
44 /** Get the number of columns in the image sensor
45  * @param ptr Pointer to class
46  * @param error Pointer to error
47  * @return Number of columsn
48  */
49 TOF_EXPORT int32_t tof_roi_sensor_cols(const tof_roi_t ptr, tof_error_t *error);
50 
51 /** Get the row offset in pixels
52  * @param ptr Pointer to class
53  * @param error Pointer to error
54  * @return Row offset
55  */
56 TOF_EXPORT int32_t tof_roi_get_row_offset(const tof_roi_t ptr, tof_error_t *error);
57 
58 /** Set the row offset in pixels
59  * @param ptr Pointer to class
60  * @param row_offset Row offset
61  * @param error Pointer to error
62  */
63 TOF_EXPORT void tof_roi_set_row_offset(tof_roi_t ptr, int32_t row_offset, tof_error_t *error);
64 
65 /** Get the column offset in pixels
66  * @param ptr Pointer to class
67  * @param error Pointer to error
68  * @return Column offset
69  */
70 TOF_EXPORT int32_t tof_roi_get_col_offset(const tof_roi_t ptr, tof_error_t *error);
71 
72 /** Set the column offset in pixels
73  * @param ptr Pointer to class
74  * @param col_offset Column offset
75  * @param error Pointer to error
76  */
77 TOF_EXPORT void tof_roi_set_col_offset(tof_roi_t ptr, int32_t col_offset, tof_error_t *error);
78 
79 /** Get the number of rows in the output image
80  * @param ptr Pointer to class
81  * @param error Pointer to error
82  * @return Image rows
83  */
84 TOF_EXPORT int32_t tof_roi_get_img_rows(const tof_roi_t ptr, tof_error_t *error);
85 
86 /** Set the number of rows in the output image
87  * @param ptr Pointer to class
88  * @param img_rows Image rows
89  * @param error Pointer to error
90  */
91 TOF_EXPORT void tof_roi_set_img_rows(tof_roi_t ptr, int32_t img_rows, tof_error_t *error);
92 
93 /** Get the number of columns in the output image
94  * @param ptr Pointer to class
95  * @param error Pointer to error
96  * @return Image columns
97  */
98 TOF_EXPORT int32_t tof_roi_get_img_cols(const tof_roi_t ptr, tof_error_t *error);
99 
100 /** Set the number of columns in the output image
101  * @param ptr Pointer to class
102  * @param img_cols Image columns
103  * @param error Pointer to error
104  */
105 TOF_EXPORT void tof_roi_set_img_cols(tof_roi_t ptr, int32_t img_cols, tof_error_t *error);
106 
107 /** This class allows you to view/edit the camera settings
108  */
109 typedef struct tof_camera_config* tof_camera_config_t;
110 
111 /** Destruct tof_camera_config */
112 TOF_EXPORT void tof_camera_config_delete(tof_camera_config_t ptr);
113 
114 /** Read camera config from disk
115  * @param ptr Pointer to class
116  * @param file_location Location of camera config on disk
117  * @param error Pointer to error
118  * @return New object
119  */
120 TOF_EXPORT tof_camera_config_t tof_camera_config_new_from_disk(const char* file_location, tof_error_t *error);
121 
122 /** Write camera config to disk
123  * @param ptr Pointer to class
124  * @param file_location Location to save camera config to
125  * @param error Pointer to error
126  */
127 TOF_EXPORT void tof_camera_config_write(const tof_camera_config_t ptr, const char* file_location, tof_error_t *error);
128 
129 /** Get the camera type
130  * @param ptr Pointer to class
131  * @param error Pointer to error
132  * @return Camera type
133  */
134 TOF_EXPORT enum tof_camera_type tof_camera_config_get_type(const tof_camera_config_t ptr, tof_error_t *error);
135 
136 /** Reset camera config to default
137  * @param ptr Pointer to class
138  * @param error Pointer to error
139  */
140 TOF_EXPORT void tof_camera_config_reset(tof_camera_config_t ptr, tof_error_t *error);
141 
142 /** Get the amount of frames in the config. Having multiple frames allows you to
143  * configure different modulation frequencies or integration times per frame.
144  * @param ptr Pointer to class
145  * @param error Pointer to error
146  * @return Frame size
147  */
148 TOF_EXPORT size_t tof_camera_config_frame_size(const tof_camera_config_t ptr, tof_error_t *error);
149 
150 /** Add a default frame to the camera config
151  * @param ptr Pointer to class
152  * @param error Pointer to error
153  */
154 TOF_EXPORT void tof_camera_config_add_frame(tof_camera_config_t ptr, tof_error_t *error);
155 
156 /** Generate default processing config from camera configuration
157  * @param ptr Pointer to class
158  * @param error Pointer to error
159  * @return The default processing config
160  */
161 TOF_EXPORT tof_processing_config_t tof_camera_config_default_processing(const tof_camera_config_t ptr, tof_error_t *error);
162 
163 /** Erase specified frame
164  * @param ptr Pointer to class
165  * @param frame Frame number
166  * @param error Pointer to error
167  */
168 TOF_EXPORT void tof_camera_config_erase_frame(tof_camera_config_t ptr, size_t frame, tof_error_t *error);
169 
170 /** Get the phase shifts. Value ranges from 0.0 to 1.0 which translates to 0-2
171  * pi
172  * @param ptr Pointer to class
173  * @param frame Frame number
174  * @param phase_shifts Phase shifts
175  * @param capacity The amount of data the above pointer can hold
176  * @param error Pointer to error
177  * @return Number of pointers filled or complete array size
178  */
179 TOF_EXPORT size_t tof_camera_config_get_phase_shifts(const tof_camera_config_t ptr, size_t frame, float* phase_shifts, size_t capacity, tof_error_t *error);
180 
181 /** Set the phase shifts. Value ranges from 0.0 to 1.0 which translates to 0-2
182  * pi
183  * @param ptr Pointer to class
184  * @param frame Frame number
185  * @param phase_shifts Phase shifts
186  * @param phase_shifts_size The size of the above array
187  * @param error Pointer to error
188  */
189 TOF_EXPORT void tof_camera_config_set_phase_shifts(tof_camera_config_t ptr, size_t frame, const float* phase_shifts, size_t phase_shifts_size, tof_error_t *error);
190 
191 /** Get the integration time
192  * @param ptr Pointer to class
193  * @param frame Frame number
194  * @param integration_time Integration time in micro seconds
195  * @param capacity The amount of data the above pointer can hold
196  * @param error Pointer to error
197  * @return Number of pointers filled or complete array size
198  */
199 TOF_EXPORT size_t tof_camera_config_get_integration_time(const tof_camera_config_t ptr, size_t frame, uint32_t* integration_time, size_t capacity, tof_error_t *error);
200 
201 /** Set the integration time
202  * @param ptr Pointer to class
203  * @param frame Frame number
204  * @param integration_time Integration time in micro seconds
205  * @param integration_time_size The size of the above array
206  * @param error Pointer to error
207  */
208 TOF_EXPORT void tof_camera_config_set_integration_time(tof_camera_config_t ptr, size_t frame, const uint32_t* integration_time, size_t integration_time_size, tof_error_t *error);
209 
210 /** Get the mode to set the camera's depth sensor to
211  * @param ptr Pointer to class
212  * @param frame Frame number
213  * @param error Pointer to error
214  * @return Sensor mode
215  */
216 TOF_EXPORT enum tof_sensor_mode tof_camera_config_get_sensor_mode(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
217 
218 /** Set the mode to set the camera's depth sensor to
219  * @param ptr Pointer to class
220  * @param frame Frame number
221  * @param sensor_mode Sensor mode
222  * @param error Pointer to error
223  */
224 TOF_EXPORT void tof_camera_config_set_sensor_mode(tof_camera_config_t ptr, size_t frame, enum tof_sensor_mode sensor_mode, tof_error_t *error);
225 
226 /** Get the modulation frequency
227  * @param ptr Pointer to class
228  * @param frame Frame number
229  * @param error Pointer to error
230  * @return Modulation frequency in MHz
231  */
232 TOF_EXPORT float tof_camera_config_get_modulation_frequency(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
233 
234 /** Set the modulation frequency
235  * @param ptr Pointer to class
236  * @param frame Frame number
237  * @param modulation_frequency Modulation frequency in MHz
238  * @param error Pointer to error
239  */
240 TOF_EXPORT void tof_camera_config_set_modulation_frequency(tof_camera_config_t ptr, size_t frame, float modulation_frequency, tof_error_t *error);
241 
242 /** Get the duty cycle
243  * @param ptr Pointer to class
244  * @param frame Frame number
245  * @param error Pointer to error
246  * @return Duty cycle 0.0 to 1.0
247  */
248 TOF_EXPORT float tof_camera_config_get_duty_cycle(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
249 
250 /** Set the duty cycle
251  * @param ptr Pointer to class
252  * @param frame Frame number
253  * @param duty_cycle Duty cycle 0.0 to 1.0
254  * @param error Pointer to error
255  */
256 TOF_EXPORT void tof_camera_config_set_duty_cycle(tof_camera_config_t ptr, size_t frame, float duty_cycle, tof_error_t *error);
257 
258 /** Get the region of interest
259  * @param ptr Pointer to class
260  * @param frame Frame number
261  * @param error Pointer to error
262  * @return Region of interest
263  */
264 TOF_EXPORT tof_roi_t tof_camera_config_get_roi(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
265 
266 /** Set the region of interest
267  * @param ptr Pointer to class
268  * @param frame Frame number
269  * @param roi Region of interest
270  * @param error Pointer to error
271  */
272 TOF_EXPORT void tof_camera_config_set_roi(tof_camera_config_t ptr, size_t frame, tof_roi_t roi, tof_error_t *error);
273 
274 /** Get the amount of binning
275  * @param ptr Pointer to class
276  * @param frame Frame number
277  * @param error Pointer to error
278  * @return Amount of binning 0=none, 1=x2, 2=x4, 3=x8
279  */
280 TOF_EXPORT uint8_t tof_camera_config_get_binning(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
281 
282 /** Set the amount of binning
283  * @param ptr Pointer to class
284  * @param frame Frame number
285  * @param binning Amount of binning 0=none, 1=x2, 2=x4, 3=x8
286  * @param error Pointer to error
287  */
288 TOF_EXPORT void tof_camera_config_set_binning(tof_camera_config_t ptr, size_t frame, uint8_t binning, tof_error_t *error);
289 
290 /** Get is the image flipped
291  * @param ptr Pointer to class
292  * @param frame Frame number
293  * @param error Pointer to error
294  * @return Image is flipped
295  */
296 TOF_EXPORT bool tof_camera_config_get_flip(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
297 
298 /** Set is the image flipped
299  * @param ptr Pointer to class
300  * @param frame Frame number
301  * @param flip Image is flipped
302  * @param error Pointer to error
303  */
304 TOF_EXPORT void tof_camera_config_set_flip(tof_camera_config_t ptr, size_t frame, bool flip, tof_error_t *error);
305 
306 /** Get is the image mirrored
307  * @param ptr Pointer to class
308  * @param frame Frame number
309  * @param error Pointer to error
310  * @return Image is mirrored
311  */
312 TOF_EXPORT bool tof_camera_config_get_mirror(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
313 
314 /** Set is the image mirrored
315  * @param ptr Pointer to class
316  * @param frame Frame number
317  * @param mirror Image is mirrored
318  * @param error Pointer to error
319  */
320 TOF_EXPORT void tof_camera_config_set_mirror(tof_camera_config_t ptr, size_t frame, bool mirror, tof_error_t *error);
321 
322 /** Get the image sensor gain
323  * @param ptr Pointer to class
324  * @param error Pointer to error
325  * @return Image sensor gain
326  */
327 TOF_EXPORT float tof_camera_config_get_gain(const tof_camera_config_t ptr, tof_error_t *error);
328 
329 /** Set the image sensor gain
330  * @param ptr Pointer to class
331  * @param gain Image sensor gain
332  * @param error Pointer to error
333  */
334 TOF_EXPORT void tof_camera_config_set_gain(tof_camera_config_t ptr, float gain, tof_error_t *error);
335 
336 /** Get the kind of camera synchronization
337  * @param ptr Pointer to class
338  * @param error Pointer to error
339  * @return The kind of sync mode. 0 waits for the vsync pulse before starting
340  * the next frame. 1 optional vsync 2 is no frame syncing
341  */
342 TOF_EXPORT int32_t tof_camera_config_get_sync_mode(const tof_camera_config_t ptr, tof_error_t *error);
343 
344 /** Set the kind of camera synchronization
345  * @param ptr Pointer to class
346  * @param sync_mode The kind of sync mode. 0 waits for the vsync pulse before
347  * starting the next frame. 1 optional vsync 2 is no frame syncing
348  * @param error Pointer to error
349  */
350 TOF_EXPORT void tof_camera_config_set_sync_mode(tof_camera_config_t ptr, int32_t sync_mode, tof_error_t *error);
351 
352 /** Get the maximum integration time possible
353  * @param ptr Pointer to class
354  * @param frame Frame number
355  * @param maximum_integration_time Maximum integration time in micro seconds
356  * @param capacity The amount of data the above pointer can hold
357  * @param error Pointer to error
358  * @return Number of pointers filled or complete array size
359  */
360 TOF_EXPORT size_t tof_camera_config_maximum_integration_time(tof_camera_config_t ptr, size_t frame, uint32_t* maximum_integration_time, size_t capacity, tof_error_t *error);
361 
362 /** Get the DAC gain
363  * @param ptr Pointer to class
364  * @param dac The DAC gain
365  * @param capacity The amount of data the above pointer can hold
366  * @param error Pointer to error
367  * @return Number of pointers filled or complete array size
368  */
369 TOF_EXPORT size_t tof_camera_config_get_dac(const tof_camera_config_t ptr, uint16_t* dac, size_t capacity, tof_error_t *error);
370 
371 /** Set the DAC gain
372  * @param ptr Pointer to class
373  * @param dac The DAC gain
374  * @param dac_size The size of the above array
375  * @param error Pointer to error
376  */
377 TOF_EXPORT void tof_camera_config_set_dac(tof_camera_config_t ptr, const uint16_t* dac, size_t dac_size, tof_error_t *error);
378 
379 /** Get the mipi speed for the MLX75027
380  * @param ptr Pointer to class
381  * @param error Pointer to error
382  * @return The mipi speed. Can only be the values 300, 600, 704, 800 and 960
383  */
384 TOF_EXPORT int32_t tof_camera_config_get_mlx_mipi_speed(const tof_camera_config_t ptr, tof_error_t *error);
385 
386 /** Set the mipi speed for the MLX75027
387  * @param ptr Pointer to class
388  * @param mipi_speed The mipi speed. Can only be the values 300, 600, 704, 800
389  * and 960
390  * @param error Pointer to error
391  */
392 TOF_EXPORT void tof_camera_config_set_mlx_mipi_speed(tof_camera_config_t ptr, int32_t mipi_speed, tof_error_t *error);
393 
394 /** Get the preheat time
395  * @param ptr Pointer to class
396  * @param frame Frame number
397  * @param error Pointer to error
398  * @return The preheat time
399  */
400 TOF_EXPORT uint32_t tof_camera_config_get_mlx_preheat(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
401 
402 /** Set the preheat time
403  * @param ptr Pointer to class
404  * @param frame Frame number
405  * @param preheat The preheat time
406  * @param error Pointer to error
407  */
408 TOF_EXPORT void tof_camera_config_set_mlx_preheat(tof_camera_config_t ptr, size_t frame, uint32_t preheat, tof_error_t *error);
409 
410 /** Get enable preheat
411  * @param ptr Pointer to class
412  * @param frame Frame number
413  * @param error Pointer to error
414  * @return Enable preheating
415  */
416 TOF_EXPORT bool tof_camera_config_get_mlx_preheat_enable(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
417 
418 /** Set enable preheat
419  * @param ptr Pointer to class
420  * @param frame Frame number
421  * @param enable Enable preheating
422  * @param error Pointer to error
423  */
424 TOF_EXPORT void tof_camera_config_set_mlx_preheat_enable(tof_camera_config_t ptr, size_t frame, bool enable, tof_error_t *error);
425 
426 /** Set the Nios hex for the keaB cameras
427  * @param ptr Pointer to class
428  * @param file_location File location of the nios hex file
429  * @param error Pointer to error
430  */
431 TOF_EXPORT void tof_camera_config_set_opt_kea_nios_hex(tof_camera_config_t ptr, const char* file_location, tof_error_t *error);
432 
433 /** Get the opt8241 number of sub and quad frames
434  * @param ptr Pointer to class
435  * @param error Pointer to error
436  * @return[2] Number of subs and quads respectively
437  */
438 TOF_EXPORT int32_t* tof_camera_config_get_opt_kea_sub_quad(const tof_camera_config_t ptr, tof_error_t *error);
439 
440 /** Set the opt8241 number of sub and quad frames
441  * @param ptr Pointer to class
442  * @param subs_quads[2] Number of subs and quads respectively
443  * @param error Pointer to error
444  */
445 TOF_EXPORT void tof_camera_config_set_opt_kea_sub_quad(tof_camera_config_t ptr, const int32_t* subs_quads, tof_error_t *error);
446 
447 /** Get the processing configuration for when the depth is calculated on camera
448  * @param ptr Pointer to class
449  * @param error Pointer to error
450  * @return The pipeline processing to be done on camera
451  */
452 TOF_EXPORT tof_processing_config_t tof_camera_config_get_processing(const tof_camera_config_t ptr, tof_error_t *error);
453 
454 /** Set the processing configuration for when the depth is calculated on camera
455  * @param ptr Pointer to class
456  * @param processing The pipeline processing to be done on camera
457  * @param error Pointer to error
458  */
459 TOF_EXPORT void tof_camera_config_set_processing(tof_camera_config_t ptr, tof_processing_config_t processing, tof_error_t *error);
460 
461 /** Get the time this depth frame will take. This is useful when you want a
462  * steady but lower framerate.
463  * @param ptr Pointer to class
464  * @param frame Frame number
465  * @param error Pointer to error
466  * @return Frame time in micro seconds
467  */
468 TOF_EXPORT uint32_t tof_camera_config_get_frame_time(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
469 
470 /** Set the time this depth frame will take. This is useful when you want a
471  * steady but lower framerate.
472  * @param ptr Pointer to class
473  * @param frame Frame number
474  * @param frame_time Frame time in micro seconds
475  * @param error Pointer to error
476  */
477 TOF_EXPORT void tof_camera_config_set_frame_time(tof_camera_config_t ptr, size_t frame, uint32_t frame_time, tof_error_t *error);
478 
479 /** Get phase offset for illumination and sensor. The phase offsets are two
480  * floating point values corresponding to the phase delay for the illumination
481  * and sensor respectively. The values should be between 0.0 and 1.0 where 0.0
482  * is no phase offset and 1.0 is 360 degree phase offset
483  * @param ptr Pointer to class
484  * @param frame Frame number
485  * @param error Pointer to error
486  * @return[2] Image is mirrored
487  */
488 TOF_EXPORT float* tof_camera_config_get_global_phase_offset(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
489 
490 /** Set phase offset for illumination and sensor. The phase offsets are two
491  * floating point values corresponding to the phase delay for the illumination
492  * and sensor respectively. The values should be between 0.0 and 1.0 where 0.0
493  * is no phase offset and 1.0 is 360 degree phase offset
494  * @param ptr Pointer to class
495  * @param frame Frame number
496  * @param phase_offset[2] Image is mirrored
497  * @param error Pointer to error
498  */
499 TOF_EXPORT void tof_camera_config_set_global_phase_offset(tof_camera_config_t ptr, size_t frame, const float* phase_offset, tof_error_t *error);
500 
501 /** Get the illumination mode
502  * @param ptr Pointer to class
503  * @param frame Frame number
504  * @param error Pointer to error
505  * @return Illumination mode. 0 is actively modulating, 2 is active low
506  * (illumination disabled) and 3 is active high
507  */
508 TOF_EXPORT uint8_t tof_camera_config_get_illumination_mode(const tof_camera_config_t ptr, size_t frame, tof_error_t *error);
509 
510 /** Set the illumination mode
511  * @param ptr Pointer to class
512  * @param frame Frame number
513  * @param illumination_mode Illumination mode. 0 is actively modulating, 2 is
514  * active low (illumination disabled) and 3 is active high
515  * @param error Pointer to error
516  */
517 TOF_EXPORT void tof_camera_config_set_illumination_mode(tof_camera_config_t ptr, size_t frame, uint8_t illumination_mode, tof_error_t *error);
518 
519 /** Get the image offsets. This configuration is only for sensors with column
520  * phase offsets.
521  * @param ptr Pointer to class
522  * @param frame Frame number
523  * @param image_offsets The image offset per column in 0.0 to 1.0
524  * @param capacity The amount of data the above pointer can hold
525  * @param error Pointer to error
526  * @return Number of pointers filled or complete array size
527  */
528 TOF_EXPORT size_t tof_camera_config_get_image_offsets(const tof_camera_config_t ptr, size_t frame, float* image_offsets, size_t capacity, tof_error_t *error);
529 
530 /** Set the image offsets. This configuration is only for sensors with column
531  * phase offsets.
532  * @param ptr Pointer to class
533  * @param frame Frame number
534  * @param image_offsets The image offset per column in 0.0 to 1.0
535  * @param image_offsets_size The size of the above array
536  * @param error Pointer to error
537  */
538 TOF_EXPORT void tof_camera_config_set_image_offsets(tof_camera_config_t ptr, size_t frame, const float* image_offsets, size_t image_offsets_size, tof_error_t *error);
539 
540 /** Get the width of the rgb sensor
541  * @param ptr Pointer to class
542  * @param error Pointer to error
543  * @return Width in pixels
544  */
545 TOF_EXPORT size_t tof_camera_config_get_rgb_width(tof_camera_config_t ptr, tof_error_t *error);
546 
547 /** Get the height of the rgb sensor
548  * @param ptr Pointer to class
549  * @param error Pointer to error
550  * @return Height in pixels
551  */
552 TOF_EXPORT size_t tof_camera_config_get_rgb_height(tof_camera_config_t ptr, tof_error_t *error);
553 
554 #ifdef __cplusplus
555 }
556 #endif
557 
558 #endif