Voyant API 0.8.0
Loading...
Searching...
No Matches
carbon_config.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
7#include <cstdint>
8#include <memory>
9#include <string>
10#include <vector>
11
29{
30public:
33
45 static std::unique_ptr<CarbonConfig> fromJson(const std::string& path);
46
47 // Non-copyable, non-movable (owns raw FFI pointer)
48 CarbonConfig(const CarbonConfig&) = delete;
52
53 // ── Connection ────────────────────────────────────────────────────────────
54 CarbonConfig& setBindAddr(const std::string& v);
55 CarbonConfig& setGroupAddr(const std::string& v);
56 CarbonConfig& setInterfaceAddr(const std::string& v);
57
58 // ── Receiver ──────────────────────────────────────────────────────────────
63
64 // ── DSP ───────────────────────────────────────────────────────────────────
69
70 // ── Frame Assembler ───────────────────────────────────────────────────────
72
73 // ── Geometric Bounds ──────────────────────────────────────────────────────
82
83 // ── Spatial Outlier Filter ────────────────────────────────────────────────
87
88 // ── Elevation Interpolator ────────────────────────────────────────────────
91 CarbonConfig& setMissingElevations(const std::vector<uint8_t>& elevations);
92
93 // ── Peaks Mirroring ───────────────────────────────────────────────────────
95 CarbonConfig& setMirrorGroupAddr(const std::string& v);
96 CarbonConfig& setMirrorBindAddr(const std::string& v);
97
98 // ── Eval ──────────────────────────────────────────────────────────────────
100 CarbonConfig& setReportDir(const std::string& v);
101
102private:
103 friend class CarbonClient;
104 CarbonConfigC* cfg_; // opaque pointer — type defined in carbon_client_ffi.hpp
105 explicit CarbonConfig(CarbonConfigC* raw); // takes ownership
106};
Client for receiving frames from a Carbon LiDAR sensor.
Definition carbon_client.hpp:38
Configuration for the Carbon LiDAR pipeline.
Definition carbon_config.hpp:29
CarbonConfig & setMirrorBindAddr(const std::string &v)
CarbonConfig & setRangeMin(float v)
CarbonConfig & setAzimuthDegMax(float v)
CarbonConfig & operator=(CarbonConfig &&)=delete
CarbonConfig & setBindAddr(const std::string &v)
CarbonConfig & setElevationFovDeg(float v)
CarbonConfig & setMissingElevations(const std::vector< uint8_t > &elevations)
CarbonConfig & setElevationDegMin(float v)
CarbonConfig(CarbonConfigC *raw)
CarbonConfig & operator=(const CarbonConfig &)=delete
CarbonConfig & setMirrorPeaks(bool v)
CarbonConfig & setSpatialMinNeighbors(uint8_t v)
CarbonConfig & setVelCorrFactor(float v)
CarbonConfig & setBandwidthHz(float v)
CarbonConfig & setReportDir(const std::string &v)
CarbonConfig & setDopplerMax(float v)
CarbonConfig & setKeepInvalidPoints(bool v)
CarbonConfig & setReceiverChannelCapacity(size_t v)
CarbonConfig & setGroupAddr(const std::string &v)
CarbonConfig & setInterpRangeThreshold(float v)
static std::unique_ptr< CarbonConfig > fromJson(const std::string &path)
CarbonConfig & setUseMsgTimestamp(bool v)
CarbonConfig(CarbonConfig &&)=delete
CarbonConfig & setSpatialDopplerThreshold(float v)
CarbonConfig & setSpatialRangeThreshold(float v)
CarbonConfig & setRecvBufferSize(size_t v)
CarbonConfig & setInterfaceAddr(const std::string &v)
CarbonConfig & setAzimuthDegMin(float v)
CarbonConfig & setRangeMax(float v)
CarbonConfig & setInterpDopplerThreshold(float v)
CarbonConfig & setElevationDegMax(float v)
CarbonConfig & setDopplerMin(float v)
CarbonConfig & setPfa(float v)
CarbonConfig & setEvalMode(bool v)
CarbonConfigC * cfg_
Definition carbon_config.hpp:104
CarbonConfig & setMirrorGroupAddr(const std::string &v)
CarbonConfig(const CarbonConfig &)=delete
CarbonConfig & setBatchSize(size_t v)