5#include <nlohmann/json.hpp>
32 std::string
corsOrigin =
"https://motion-master.synapticon.com";
40 std::string
mode =
"monitor";
ipAddresses
Definition config.h:230
mailboxStatusFmmu readObjectDictionaryOnPreop
Definition config.h:238
mailboxStatusFmmu useCompleteAccess recorder
Definition config.h:245
driver
Definition config.h:230
adapter
Definition config.h:230
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(ServerConfig, bindAddress, httpPort, wsPort, corsOrigin) NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(FieldbusConfig
mailboxStatusFmmu useCompleteAccess parameters
Definition config.h:245
mailboxStatusFmmu useCompleteAccess parameterCache
Definition config.h:245
mailboxStatusFmmu useCompleteAccess autoTuning std::expected< Config, std::string > parseConfig(const nlohmann::json &doc)
Deserialises a parsed JSONC document into a Config, applying defaults for absent keys.
Definition config.cc:8
mailboxStatusFmmu useCompleteAccess tls
Definition config.h:244
mailboxStatusFmmu useCompleteAccess userCache
Definition config.h:245
std::expected< void, std::string > validateFieldbusConfig(const FieldbusConfig &fieldbus)
Checks the "fieldbus" block. The config file and POST /api/init share it.
Definition config.cc:82
spoe
Definition config.h:230
mailboxStatusFmmu useCompleteAccess server
Definition config.h:244
mailboxStatusFmmu useCompleteAccess logging
Definition config.h:244
mailboxStatusFmmu useCompleteAccess fieldbus
Definition config.h:244
mailboxStatusFmmu useCompleteAccess gameLoop
Definition config.h:244
"autoTuning" block — the auto-tuning child process.
Definition config.h:162
uint16_t port
Definition config.h:172
bool enabled
Definition config.h:165
std::string binaryPath
Definition config.h:168
The whole config file. Top-level keys map to these members.
Definition config.h:214
TlsConfig tls
Definition config.h:218
GameLoopConfig gameLoop
Definition config.h:219
ServerConfig server
Definition config.h:215
RecorderConfig recorder
Definition config.h:220
LoggingConfig logging
Definition config.h:217
ParametersConfig parameters
Definition config.h:223
AutoTuningConfig autoTuning
Definition config.h:224
ParameterCacheConfig parameterCache
Definition config.h:221
UserCacheConfig userCache
Definition config.h:222
FieldbusConfig fieldbus
Definition config.h:216
"fieldbus" block — the driver to auto-init at startup. An empty driver means "do not auto-init"; the ...
Definition config.h:50
std::string driver
"" | "soem" | "spoe".
Definition config.h:51
bool mailboxStatusFmmu
Definition config.h:62
std::string adapter
Definition config.h:52
SpoeConfig spoe
Definition config.h:55
std::vector< std::string > ipAddresses
SPoE only. One IP address per drive. The list order is the position order.
Definition config.h:54
"logging.file" block — the rotating log file.
Definition config.h:185
bool enabled
Definition config.h:188
uint32_t maxFiles
How many rotated files to keep beside the active one.
Definition config.h:202
std::string directory
Definition config.h:197
uint32_t maxSizeMb
Definition config.h:200
std::string level
Definition config.h:193
"gameLoop" block — the real-time cyclic loop.
Definition config.h:75
uint32_t periodUs
Definition config.h:76
int cpuAffinity
Definition config.h:84
"logging" block — verbosity and the log file.
Definition config.h:206
FileLoggingConfig file
Definition config.h:210
std::string level
Definition config.h:209
"parameterCache" block — the on-disk cache of CoE parameter definitions.
Definition config.h:112
bool cacheAllVendors
Definition config.h:117
std::string directory
"" = a standard per-user cache directory; set to override.
Definition config.h:118
bool enabled
Definition config.h:113
"parameters" block — CoE object-dictionary behaviour.
Definition config.h:138
bool useCompleteAccess
Definition config.h:150
bool readObjectDictionaryOnPreop
Definition config.h:144
"recorder" block — the lossless process-data recorder ring.
Definition config.h:88
std::string dumpDir
Definition config.h:103
uint32_t capacity
Definition config.h:96
"server" block — the HTTP API and WebSocket listeners.
Definition config.h:19
std::string corsOrigin
Definition config.h:32
uint16_t httpPort
Definition config.h:30
std::string bindAddress
Definition config.h:29
uint16_t wsPort
Definition config.h:31
"fieldbus.spoe" block — settings that apply only to the SPoE driver.
Definition config.h:36
uint16_t port
The TCP port of the SPoE server on every drive.
Definition config.h:45
std::string mode
Definition config.h:40
uint32_t watchdogMs
Definition config.h:44
"tls" block — certificate paths and startup self-heal policy.
Definition config.h:66
std::string certPath
Definition config.h:69
std::string keyPath
"" = auto-discover, paired with certPath.
Definition config.h:70
bool autoUpdate
Fetch a fresh cert when missing/expired/expiring (false ⇒ off).
Definition config.h:71
"userCache" block — the user-writable file store served at /api/user-cache.
Definition config.h:128
std::string directory
Definition config.h:134