Configuration for the Carbon LiDAR pipeline.
More...
#include <carbon_config.hpp>
Configuration for the Carbon LiDAR pipeline.
Construct with default values, then use setters to override what you need. Pass to CarbonClient constructor — the client clones it internally.
Setters return *this for optional chaining:
CarbonConfig & setBindAddr(const std::string &v)
CarbonConfig & setGroupAddr(const std::string &v)
CarbonConfig & setInterfaceAddr(const std::string &v)
CarbonConfig & setRangeMax(float v)
◆ CarbonConfig() [1/4]
| CarbonConfig::CarbonConfig |
( |
| ) |
|
◆ ~CarbonConfig()
| CarbonConfig::~CarbonConfig |
( |
| ) |
|
◆ CarbonConfig() [2/4]
◆ CarbonConfig() [3/4]
◆ CarbonConfig() [4/4]
| CarbonConfig::CarbonConfig |
( |
CarbonConfigC * | raw | ) |
|
|
explicitprivate |
◆ fromJson()
| std::unique_ptr< CarbonConfig > CarbonConfig::fromJson |
( |
const std::string & | path | ) |
|
|
static |
Load a CarbonConfig from a JSON file. Missing fields default to their standard values. Returns nullptr on failure (file not found, parse error, or validation failure).
if (!config) {
friend class CarbonClient
Definition carbon_config.hpp:137
static std::unique_ptr< CarbonConfig > fromJson(const std::string &path)
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ setAzimuthDegMax()
◆ setAzimuthDegMin()
◆ setBandwidthHz()
◆ setBatchSize()
◆ setBindAddr()
| CarbonConfig & CarbonConfig::setBindAddr |
( |
const std::string & | v | ) |
|
◆ setDopplerMax()
◆ setDopplerMin()
◆ setElevationDegMax()
◆ setElevationDegMin()
◆ setElevationFovDeg()
◆ setEvalMode()
◆ setFpgaTargetAddr()
| CarbonConfig & CarbonConfig::setFpgaTargetAddr |
( |
const std::string & | v | ) |
|
◆ setGroupAddr()
| CarbonConfig & CarbonConfig::setGroupAddr |
( |
const std::string & | v | ) |
|
◆ setInterfaceAddr()
| CarbonConfig & CarbonConfig::setInterfaceAddr |
( |
const std::string & | v | ) |
|
◆ setInterpDopplerThreshold()
| CarbonConfig & CarbonConfig::setInterpDopplerThreshold |
( |
float | v | ) |
|
◆ setInterpRangeThreshold()
| CarbonConfig & CarbonConfig::setInterpRangeThreshold |
( |
float | v | ) |
|
◆ setKeepInvalidPoints()
◆ setMissingElevations()
| CarbonConfig & CarbonConfig::setMissingElevations |
( |
const std::vector< uint8_t > & | elevations | ) |
|
◆ setObserverOnly()
Observer-only mode: passively receive the point stream without sending anything to the FPGA. Disables SDL commands, host<->FPGA time-sync, and comms-health probing so multiple clients can share one sensor — but only with Multicast transport; under the default unicast the sensor streams to a single client. Exactly one primary (non-observer) client should own the FPGA.
◆ setPeakCombineBeatOutlierRemoval()
| CarbonConfig & CarbonConfig::setPeakCombineBeatOutlierRemoval |
( |
bool | v | ) |
|
Enable beat outlier removal. Default: true.
◆ setPeakCombineBeatThreshHz()
| CarbonConfig & CarbonConfig::setPeakCombineBeatThreshHz |
( |
float | v | ) |
|
Static beat-frequency threshold (Hz); pass 0 for dynamic.
◆ setPeakCombineClusterMinSize()
| CarbonConfig & CarbonConfig::setPeakCombineClusterMinSize |
( |
size_t | v | ) |
|
Minimum inlier/survivor count. Default: 1.
◆ setPeakCombineSnrPreThresholdEnabled()
| CarbonConfig & CarbonConfig::setPeakCombineSnrPreThresholdEnabled |
( |
bool | v | ) |
|
Enable stage-0 per-peak SNR gate. Default: true.
◆ setPeakCombineSnrPreThresholdMaxDb()
| CarbonConfig & CarbonConfig::setPeakCombineSnrPreThresholdMaxDb |
( |
float | v | ) |
|
SNR threshold (dB) at DC. Default: 13.0.
◆ setPeakCombineSnrPreThresholdMinDb()
| CarbonConfig & CarbonConfig::setPeakCombineSnrPreThresholdMinDb |
( |
float | v | ) |
|
SNR threshold floor (dB). Default: 10.0.
◆ setPeakCombineSnrPreThresholdSlopeDbPerHz()
| CarbonConfig & CarbonConfig::setPeakCombineSnrPreThresholdSlopeDbPerHz |
( |
float | v | ) |
|
SNR slope (dB/Hz). Default: 6.0e-7.
◆ setPeakCombineTwinOnly()
| CarbonConfig & CarbonConfig::setPeakCombineTwinOnly |
( |
bool | v | ) |
|
Use legacy literal-twin-only pairing. Default: false.
◆ setRangeMax()
◆ setRangeMin()
◆ setRdOutlierDopplerThreshMaxMps()
| CarbonConfig & CarbonConfig::setRdOutlierDopplerThreshMaxMps |
( |
float | v | ) |
|
Doppler tolerance (m/s) at ref_range. Default: 0.2.
◆ setRdOutlierDopplerThreshMinMps()
| CarbonConfig & CarbonConfig::setRdOutlierDopplerThreshMinMps |
( |
float | v | ) |
|
Doppler tolerance (m/s) at origin. Default: 0.08.
◆ setRdOutlierRangeThreshMaxM()
| CarbonConfig & CarbonConfig::setRdOutlierRangeThreshMaxM |
( |
float | v | ) |
|
Range tolerance (m) at ref_range. Default: 0.4.
◆ setRdOutlierRangeThreshMinM()
| CarbonConfig & CarbonConfig::setRdOutlierRangeThreshMinM |
( |
float | v | ) |
|
Range tolerance (m) at origin. Default: 0.1.
◆ setRdOutlierRefRangeM()
| CarbonConfig & CarbonConfig::setRdOutlierRefRangeM |
( |
float | v | ) |
|
Reference range (m). Default: 150.
◆ setReceiverChannelCapacity()
| CarbonConfig & CarbonConfig::setReceiverChannelCapacity |
( |
size_t | v | ) |
|
◆ setRecvBufferSize()
◆ setReportDir()
| CarbonConfig & CarbonConfig::setReportDir |
( |
const std::string & | v | ) |
|
◆ setSdlMaxRetries()
◆ setSdlTimeoutSec()
◆ setSpatialFilterEnabled()
| CarbonConfig & CarbonConfig::setSpatialFilterEnabled |
( |
bool | v | ) |
|
Enable the point-stage spatial outlier filter. Default: true.
◆ setSpatialMinValidNeighbors()
| CarbonConfig & CarbonConfig::setSpatialMinValidNeighbors |
( |
uint8_t | v | ) |
|
Minimum number of valid neighbors before either check runs. Default: 1.
◆ setSpatialPointClusterSize()
| CarbonConfig & CarbonConfig::setSpatialPointClusterSize |
( |
uint8_t | v | ) |
|
Minimum number of range- and Doppler-close neighbors required to keep a point. Default: 1.
◆ setSpatialSupportThreshold()
| CarbonConfig & CarbonConfig::setSpatialSupportThreshold |
( |
float | v | ) |
|
Drop the point when its own confidence plus the sum over Doppler-close neighbors falls below this. Default: 1.0.
◆ setStreamTransport()
How the sensor delivers its push stream: StreamTransport::Unicast (default; the sensor replies only to this client and arrives reliably even when the host has several network connections active at once) or StreamTransport::Multicast (streams to a shared group so several clients can view one sensor). A primary writes this to the FPGA on connect; observers ignore it.
◆ setUseMsgTimestamp()
◆ setVelCorrFactor()
◆ CarbonClient
◆ cfg_
| CarbonConfigC* CarbonConfig::cfg_ |
|
private |
The documentation for this class was generated from the following file: