1#ifndef _CHRONOPTICS_TOF_KEA_CAMERA_H_
2#define _CHRONOPTICS_TOF_KEA_CAMERA_H_
4#include <chronoptics/tof/camera.h>
5#include <chronoptics/tof/processing_config.h>
6#include <chronoptics/tof/camera_config.h>
7#include <chronoptics/tof/gige_interface.h>
15typedef struct tof_kea_camera* tof_kea_camera_t;
18TOF_EXPORT
void tof_kea_camera_delete(tof_kea_camera_t ptr);
33TOF_EXPORT tof_kea_camera_t tof_kea_camera_new(
const tof_processing_config_t processing_config,
const char* serial, tof_error_t *error);
48TOF_EXPORT tof_kea_camera_t tof_kea_camera_new_simple(
const char* serial, tof_error_t *error);
64TOF_EXPORT tof_kea_camera_t tof_kea_camera_new_both_configs(
const tof_processing_config_t processing_config,
const char* serial,
const tof_camera_config_t camera_config, tof_error_t *error);
71TOF_EXPORT
bool tof_kea_camera_on_camera_processing_capable(
const tof_kea_camera_t ptr, tof_error_t *error);
78TOF_EXPORT
bool tof_kea_camera_get_on_camera_processing(
const tof_kea_camera_t ptr, tof_error_t *error);
86TOF_EXPORT
void tof_kea_camera_set_on_camera_processing(tof_kea_camera_t ptr,
bool on_camera_processing, tof_error_t *error);
94TOF_EXPORT uint32_t tof_kea_camera_get_delay(
const tof_kea_camera_t ptr, tof_error_t *error);
102TOF_EXPORT
void tof_kea_camera_set_delay(tof_kea_camera_t ptr, uint32_t delay, tof_error_t *error);
109TOF_EXPORT uint16_t tof_kea_camera_get_packet_size(
const tof_kea_camera_t ptr, tof_error_t *error);
116TOF_EXPORT
void tof_kea_camera_set_packet_size(tof_kea_camera_t ptr, uint16_t size, tof_error_t *error);
123TOF_EXPORT
void tof_kea_camera_set_camera_config(tof_kea_camera_t ptr,
const tof_camera_config_t camera_config, tof_error_t *error);
131TOF_EXPORT
void tof_kea_camera_set_configurations(tof_kea_camera_t ptr,
const tof_camera_config_t camera_config,
const tof_processing_config_t processing_config, tof_error_t *error);
138TOF_EXPORT
const char* tof_kea_camera_version(tof_kea_camera_t ptr, tof_error_t *error);
145TOF_EXPORT
bool tof_kea_camera_software_trigger_capable(tof_kea_camera_t ptr, tof_error_t *error);
151TOF_EXPORT
void tof_kea_camera_software_trigger(tof_kea_camera_t ptr, tof_error_t *error);
158TOF_EXPORT
bool tof_kea_camera_remote_update_capable(tof_kea_camera_t ptr, tof_error_t *error);
169TOF_EXPORT
void tof_kea_camera_remote_update(tof_kea_camera_t ptr,
const char* file_location, tof_error_t *error);
176TOF_EXPORT
bool tof_kea_camera_multiple_configurations_possible(
const tof_kea_camera_t ptr, tof_error_t *error);
186TOF_EXPORT
void tof_kea_camera_set_multiple_configurations(tof_kea_camera_t ptr,
const tof_camera_config_t* camera_configs,
size_t camera_configs_size,
const tof_processing_config_t* pro_configs,
size_t pro_configs_size, tof_error_t *error);
193TOF_EXPORT
bool tof_kea_camera_get_temperatures_capable(tof_kea_camera_t ptr, tof_error_t *error);
202TOF_EXPORT
size_t tof_kea_camera_get_temperatures(tof_kea_camera_t ptr,
float* temperatures,
size_t capacity, tof_error_t *error);
209TOF_EXPORT
bool tof_kea_camera_persistent_ip_capable(
const tof_kea_camera_t ptr, tof_error_t *error);
216TOF_EXPORT tof_persistent_ip_t tof_kea_camera_get_persistent_ip(
const tof_kea_camera_t ptr, tof_error_t *error);
224TOF_EXPORT
void tof_kea_camera_set_persistent_ip(tof_kea_camera_t ptr,
const tof_persistent_ip_t persistent_ip, tof_error_t *error);
231TOF_EXPORT
bool tof_kea_camera_apply_persistent_ip_capable(
const tof_kea_camera_t ptr, tof_error_t *error);
238TOF_EXPORT
void tof_kea_camera_apply_persistent_ip(tof_kea_camera_t ptr, tof_error_t *error);
242typedef struct tof_discovered_kea* tof_discovered_kea_t;
245TOF_EXPORT
void tof_discovered_kea_delete(tof_discovered_kea_t ptr);
252TOF_EXPORT
const char* tof_discovered_kea_serial(
const tof_discovered_kea_t ptr, tof_error_t *error);
259TOF_EXPORT
const char* tof_discovered_kea_info(
const tof_discovered_kea_t ptr, tof_error_t *error);
266TOF_EXPORT
const char* tof_discovered_kea_model(
const tof_discovered_kea_t ptr, tof_error_t *error);
273TOF_EXPORT
bool tof_discovered_kea_is_tui(
const tof_discovered_kea_t ptr, tof_error_t *error);
281TOF_EXPORT
size_t tof_discover_kea_cameras(tof_discovered_kea_t* available_kea_cameras,
size_t capacity, tof_error_t *error);
299TOF_EXPORT tof_kea_camera_t tof_create_kea_camera_gige(
const tof_processing_config_t processing_config,
const char* serial, uint16_t packet_size, tof_error_t *error);