Voyant API 0.9.2
Loading...
Searching...
No Matches
carbon_client_ffi.hpp
Go to the documentation of this file.
1// Copyright (c) 2024-2025 Voyant Photonics, Inc.
2// All rights reserved.
3
4#pragma once
5
6#include <cstdarg>
7#include <cstdint>
8#include <cstdlib>
9#include <ostream>
10#include <new>
11#include <voyant_types_ffi.hpp>
12
19struct CarbonClientHandleC;
20
26struct CarbonConfigC;
27
36
37extern "C" {
38
46CarbonClientHandleC *carbon_client_new(const CarbonConfigC *config);
47
53bool carbon_client_start(CarbonClientHandleC *handle);
54
59void carbon_client_stop(CarbonClientHandleC *handle);
60
64bool carbon_client_is_running(const CarbonClientHandleC *handle);
65
71int32_t carbon_client_copy_latest_into(CarbonClientHandleC *handle, uint8_t *dest, uintptr_t len);
72
79bool carbon_client_get_sensor_state(const CarbonClientHandleC *handle, SensorState *out);
80
87uint8_t carbon_client_send_sdl(CarbonClientHandleC *handle, const SdlCommandParams *params);
88
95uint8_t carbon_client_poll_sdl(CarbonClientHandleC *handle);
96
100void carbon_client_free(CarbonClientHandleC *handle);
101
107CarbonConfigC *carbon_config_new();
108
117CarbonConfigC *carbon_config_from_json(const char *path);
118
122void carbon_config_free(CarbonConfigC *cfg);
123
127void carbon_config_set_bind_addr(CarbonConfigC *cfg, const char *v);
128
132void carbon_config_set_group_addr(CarbonConfigC *cfg, const char *v);
133
137void carbon_config_set_interface_addr(CarbonConfigC *cfg, const char *v);
138
142void carbon_config_set_use_msg_timestamp(CarbonConfigC *cfg, bool v);
143
147void carbon_config_set_batch_size(CarbonConfigC *cfg, uintptr_t v);
148
152void carbon_config_set_recv_buffer_size(CarbonConfigC *cfg, uintptr_t v);
153
157void carbon_config_set_receiver_channel_capacity(CarbonConfigC *cfg, uintptr_t v);
158
162void carbon_config_set_pfa(CarbonConfigC *cfg, float v);
163
167void carbon_config_set_vel_corr_factor(CarbonConfigC *cfg, float v);
168
172void carbon_config_set_bandwidth_hz(CarbonConfigC *cfg, float v);
173
177void carbon_config_set_elevation_fov_deg(CarbonConfigC *cfg, float v);
178
182void carbon_config_set_keep_invalid_points(CarbonConfigC *cfg, bool v);
183
187void carbon_config_set_range_min(CarbonConfigC *cfg, float v);
188
192void carbon_config_set_range_max(CarbonConfigC *cfg, float v);
193
197void carbon_config_set_doppler_min(CarbonConfigC *cfg, float v);
198
202void carbon_config_set_doppler_max(CarbonConfigC *cfg, float v);
203
207void carbon_config_set_azimuth_deg_min(CarbonConfigC *cfg, float v);
208
212void carbon_config_set_azimuth_deg_max(CarbonConfigC *cfg, float v);
213
217void carbon_config_set_elevation_deg_min(CarbonConfigC *cfg, float v);
218
222void carbon_config_set_elevation_deg_max(CarbonConfigC *cfg, float v);
223
227void carbon_config_set_spatial_range_threshold(CarbonConfigC *cfg, float v);
228
232void carbon_config_set_spatial_doppler_threshold(CarbonConfigC *cfg, float v);
233
237void carbon_config_set_spatial_min_neighbors(CarbonConfigC *cfg, uint8_t v);
238
242void carbon_config_set_interp_range_threshold(CarbonConfigC *cfg, float v);
243
247void carbon_config_set_interp_doppler_threshold(CarbonConfigC *cfg, float v);
248
254 const uint8_t *elevations,
255 uintptr_t len);
256
260void carbon_config_set_mirror_peaks(CarbonConfigC *cfg, bool v);
261
265void carbon_config_set_mirror_group_addr(CarbonConfigC *cfg, const char *v);
266
270void carbon_config_set_mirror_bind_addr(CarbonConfigC *cfg, const char *v);
271
275void carbon_config_set_eval_mode(CarbonConfigC *cfg, bool v);
276
280void carbon_config_set_report_dir(CarbonConfigC *cfg, const char *v);
281
285void carbon_config_set_fpga_target_addr(CarbonConfigC *cfg, const char *v);
286
290void carbon_config_set_sdl_timeout_sec(CarbonConfigC *cfg, float v);
291
295void carbon_config_set_sdl_max_retries(CarbonConfigC *cfg, uint8_t v);
296
297} // extern "C"
void carbon_config_set_interface_addr(CarbonConfigC *cfg, const char *v)
void carbon_config_set_sdl_max_retries(CarbonConfigC *cfg, uint8_t v)
void carbon_config_set_interp_range_threshold(CarbonConfigC *cfg, float v)
void carbon_config_set_mirror_group_addr(CarbonConfigC *cfg, const char *v)
bool carbon_client_is_running(const CarbonClientHandleC *handle)
void carbon_config_set_fpga_target_addr(CarbonConfigC *cfg, const char *v)
bool carbon_client_get_sensor_state(const CarbonClientHandleC *handle, SensorState *out)
void carbon_config_set_mirror_bind_addr(CarbonConfigC *cfg, const char *v)
bool carbon_client_start(CarbonClientHandleC *handle)
CarbonConfigC * carbon_config_new()
void carbon_config_set_interp_doppler_threshold(CarbonConfigC *cfg, float v)
void carbon_config_set_recv_buffer_size(CarbonConfigC *cfg, uintptr_t v)
void carbon_config_set_use_msg_timestamp(CarbonConfigC *cfg, bool v)
void carbon_config_set_receiver_channel_capacity(CarbonConfigC *cfg, uintptr_t v)
void carbon_config_set_keep_invalid_points(CarbonConfigC *cfg, bool v)
void carbon_config_set_elevation_deg_min(CarbonConfigC *cfg, float v)
void carbon_config_set_vel_corr_factor(CarbonConfigC *cfg, float v)
void carbon_config_set_report_dir(CarbonConfigC *cfg, const char *v)
void carbon_config_set_range_max(CarbonConfigC *cfg, float v)
void carbon_config_set_bandwidth_hz(CarbonConfigC *cfg, float v)
uint8_t carbon_client_send_sdl(CarbonClientHandleC *handle, const SdlCommandParams *params)
void carbon_client_free(CarbonClientHandleC *handle)
void carbon_config_set_eval_mode(CarbonConfigC *cfg, bool v)
uint8_t carbon_client_poll_sdl(CarbonClientHandleC *handle)
void carbon_config_set_batch_size(CarbonConfigC *cfg, uintptr_t v)
void carbon_config_set_elevation_deg_max(CarbonConfigC *cfg, float v)
void carbon_config_set_azimuth_deg_min(CarbonConfigC *cfg, float v)
void carbon_config_set_pfa(CarbonConfigC *cfg, float v)
void carbon_config_set_doppler_min(CarbonConfigC *cfg, float v)
void carbon_config_set_spatial_doppler_threshold(CarbonConfigC *cfg, float v)
void carbon_config_free(CarbonConfigC *cfg)
void carbon_config_set_mirror_peaks(CarbonConfigC *cfg, bool v)
void carbon_config_set_doppler_max(CarbonConfigC *cfg, float v)
CarbonClientHandleC * carbon_client_new(const CarbonConfigC *config)
CarbonConfigC * carbon_config_from_json(const char *path)
void carbon_config_set_group_addr(CarbonConfigC *cfg, const char *v)
void carbon_config_set_elevation_fov_deg(CarbonConfigC *cfg, float v)
void carbon_config_set_missing_elevations(CarbonConfigC *cfg, const uint8_t *elevations, uintptr_t len)
void carbon_config_set_spatial_range_threshold(CarbonConfigC *cfg, float v)
void carbon_config_set_azimuth_deg_max(CarbonConfigC *cfg, float v)
void carbon_client_stop(CarbonClientHandleC *handle)
void carbon_config_set_sdl_timeout_sec(CarbonConfigC *cfg, float v)
void carbon_config_set_bind_addr(CarbonConfigC *cfg, const char *v)
int32_t carbon_client_copy_latest_into(CarbonClientHandleC *handle, uint8_t *dest, uintptr_t len)
void carbon_config_set_spatial_min_neighbors(CarbonConfigC *cfg, uint8_t v)
void carbon_config_set_range_min(CarbonConfigC *cfg, float v)
Definition carbon_client_ffi.hpp:28
float frame_rate_fps
Definition carbon_client_ffi.hpp:32
float hfov_deg
Definition carbon_client_ffi.hpp:30
uint8_t ramp_length
Definition carbon_client_ffi.hpp:34
uint8_t req_state
Definition carbon_client_ffi.hpp:29
float ramp_bandwidth_ghz
Definition carbon_client_ffi.hpp:33
float hfov_center_deg
Definition carbon_client_ffi.hpp:31
Definition voyant_types_ffi.hpp:292