ifw-ccf 5.0.2
Loading...
Searching...
No Matches
base.hpp
Go to the documentation of this file.
1
5#ifndef CCF_COMMON_BASE_HPP_H_
6#define CCF_COMMON_BASE_HPP_H_
7
8#include <execinfo.h>
9#include <iostream>
10#include <cstdlib>
11#include <cxxabi.h>
12#include <fmt/format.h>
13
14#include <boost/exception/diagnostic_information.hpp>
15
16#include <config-ng/ciiConfigApi.hpp>
17
18#include <Recif.hpp>
19
20#include <ifw/fnd/defs/dataType.hpp>
21
22#include <ifw/core/utils/base/base.hpp>
23#include <ifw/core/utils/system/system.hpp>
24#include <ifw/core/utils/time/time.hpp>
25#include <ifw/core/utils/conversion/conversion.hpp>
26#include <ifw/core/utils/bat/config.hpp>
27
29
30
31namespace ifw::ccf {
32
33 extern std::string ccf_application_name;
34
35 void SetApplicationLogName(const std::string& app_name);
36
37 log4cplus::Logger& Logger();
38 log4cplus::Logger& FastLogger();
39
41 constexpr auto CCF_VERSION = "1.2.0";
42
44 constexpr auto IFW_VERSION = "4.0";
45
46 constexpr auto NO_VALUE = "__NO__VALUE__";
47
49 const std::string DB_DELIM = std::string(ifw::core::utils::bat::CONFIG_DB_DELIMITER);
50
51 // @{
52 const std::string DB_NODE_SM_STATUS_STATE =
53 ("sm" + DB_DELIM + "status" + DB_DELIM + "state");
54 const std::string DB_NODE_SM_STATUS_SUBSTATE =
55 ("sm" + DB_DELIM + "status" + DB_DELIM + "substate");
56 const std::string DB_NODE_SM_STATE =
57 ("sm" + DB_DELIM + "state");
58 // @}
59
60 void PrintStackTrace();
61
63 ifw::fnd::datatype::DataType CiiCfgNodeToIfwDataType(elt::configng::CiiConfigInstanceNode& node);
64
65 // }
66
68 // @{
69 constexpr auto META_KEY_EXPO_RATE = "MetaExpoType";
70 constexpr auto META_KEY_EXPO_TIME = "MetaExpoTime";
71 constexpr auto META_KEY_EXPO_WIN_BINX = "MetaExpoWinBinX";
72 constexpr auto META_KEY_EXPO_WIN_BINY = "MetaExpoWinBinY";
73 constexpr auto META_KEY_EXPO_WIN_STARTX = "MetaExpoWinStartX";
74 constexpr auto META_KEY_EXPO_WIN_STARTY = "MetaExpoWinStartY";
75 constexpr auto META_KEY_SYSTEM = "MetaSystem";
76 constexpr auto META_KEY_CAM_NAME = "MetaCamName";
77 constexpr auto META_KEY_CAM_ID = "MetaCamId";
78 constexpr auto META_KEY_CAM_MODEL = "MetaCamModel";
79 constexpr auto META_KEY_CAM_CHIPMODEL = "MetaCamChipModel";
80 constexpr auto META_KEY_CAM_TYPE = "MetaCamType";
81 // @}
82
84 // @{
85 constexpr auto STATE_ON_NOT_OP_NOT_READY = "On::NotOperational::NotReady";
86 constexpr auto STATE_ON_NOT_OP_READY = "On::NotOperational::Ready";
87 constexpr auto STATE_ON_OP_IDLE = "On::Operational::Idle";
88 constexpr auto STATE_ON_OP_ACQ = "On::Operational::Acquisition";
89 constexpr auto STATE_ON_OP_ACQ_NOT_REC = "On::Operational::Acquisition::NotRecording";
90 constexpr auto STATE_ON_OP_ACQ_REC = "On::Operational::Acquisition::Recording";
91 // @}
92
93 enum class ThreadType {
94 MONITOR = 1,
98 UNDEFINED = -1
99 };
100
102 void SendThrMsg(const std::string& command,
103 const std::string& sender_thread_name,
104 const std::string& receiver_thread_name,
105 const std::string& data);
106
108 bool ReceiveThrMsg(const std::string& receiver_thread_name,
109 const double time_out,
110 ifw::ccf::mptk::Message& message);
111
115 void DecomposeSmStatus(const std::string& sm_state,
116 std::string& sum_state,
117 std::string& sum_substate);
118
120 class Base {
121 public:
122
125 return s_mptk_mgr;
126 }
127
128
129 Base();
130 ~Base();
131
133 const std::string& GetClassName() const;
134
135 protected:
137 void SetClassName(const std::string& class_name);
138
139 private:
140 static ifw::ccf::mptk::Manager s_mptk_mgr;
141 std::string m_class_name;
142 };
143
145 void AssertPtr(const void* ptr,
146 const std::string& object,
147 const std::string& location);
148
150 enum class HwStatus {
151 NOT_OK = 0,
152 OK
153 };
154
156 enum class Status {
157 FAILURE = 0,
158 SUCCESS = 1
159 };
160
162 // @{
163 constexpr auto SUCCESS = "Success";
164 constexpr auto FAILURE = "Failure";
165 // @}
166
168 std::string StatusToStr(ifw::ccf::Status status);
169
171 enum class PubType {
172 UNDEFINED = -1,
173 RECORDING = 1,
175 };
176
178 enum class PubStatus {
179 ACTIVE = recif::RecStatusNames::Active,
180 COMPLETED = recif::RecStatusNames::Completed,
181 STOPPED = recif::RecStatusNames::Stopped,
182 ABORTED = recif::RecStatusNames::Aborted,
183 FAILED = recif::RecStatusNames::Failed,
184 UNDEFINED = recif::RecStatusNames::Undefined
185 };
186
188 void ResetRecStatusObj(std::shared_ptr<recif::RecStatus>& rec_status_obj,
189 const recif::RecStatusNames rec_status = recif::RecStatusNames::Undefined);
190
192 void CopyRecStatusObj(const std::shared_ptr<recif::RecStatus>& src_rec_status_obj,
193 const std::shared_ptr<recif::RecStatus>& trg_rec_status_obj);
194
196 enum class ProcStatus {
197 UNDEFINED = -1,
198 IDLE = 1,
199 PROCESSING = 32,
200 FINISHED = 128,
201 FAILED = 256
202 };
203
204 // TODO: Change name to Acquisition Mode.
206 enum class ExpoMode {
207 FINITE = 1,
210 };
211
213 // @{
214 constexpr auto CFG_NODE_ACQUISITION = "acquisition";
215 constexpr auto CFG_NODE_MONITORING = "monitoring";
216 constexpr auto CFG_NODE_TELEMETRY = "telemetry";
217 constexpr auto CFG_NODE_PROCESSING = "processing";
218 constexpr auto CFG_NODE_RECORDING = "recording";
219 constexpr auto CFG_NODE_SERVER = "server";
220 constexpr auto CFG_NODE_TASKS = "tasks";
221
222 constexpr auto CFG_KEY_ADAPTER = "adapter";
223 constexpr auto CFG_KEY_ADDRESS = "address";
224 constexpr auto CFG_KEY_AUTO_ADJUST_TIME_RATE = "auto_adjust_time_rate";
225 constexpr auto CFG_KEY_ALLOW_FRAME_SKIPPING = "allow_frame_skipping";
226 constexpr auto CFG_KEY_ALLOW_LOST_FRAMES = "allow_lost_frames";
227 constexpr auto CFG_KEY_AUTO_STOP_ACQ_AFTER_REC = "auto_stop_acq_after_rec";
228 constexpr auto CFG_KEY_ENABLED = "enabled";
229 constexpr auto CFG_KEY_DEVICES = "devices";
230 constexpr auto CFG_KEY_HEIGHT = "height";
231 constexpr auto CFG_KEY_ID = "id";
232 constexpr auto CFG_KEY_INIT_SETUP = "init_setup";
233 constexpr auto CFG_KEY_INPUT_QUEUE_SIZE = "input_queue_size";
234 constexpr auto CFG_KEY_MANUFACTURER = "manufacturer";
235 constexpr auto CFG_KEY_MAPPING = "mapping";
236 constexpr auto CFG_KEY_MAX_RATE = "max_rate";
237 constexpr auto CFG_KEY_MAX_RESOLUTION = "max_resolution";
238 constexpr auto CFG_KEY_METADATA_MAP = "metadata_map";
239 constexpr auto CFG_KEY_METADATA_KEY = "metadata_key";
240 constexpr auto CFG_KEY_MODEL = "model";
241 constexpr auto CFG_KEY_NAME = "name";
242 constexpr auto CFG_KEY_NAMES = "names";
243 constexpr auto CFG_KEY_NB_OF_SAMPLES = "nb_of_samples";
244 constexpr auto CFG_KEY_OLDB_NODE = "oldb_node";
245 constexpr auto CFG_KEY_OUPUT_QUEUE_SIZE = "output_queue_size";
246 constexpr auto CFG_KEY_PERIOD = "period";
247 constexpr auto CFG_KEY_PIPELINE = "pipeline";
248 constexpr auto CFG_KEY_PROPERTIES = "properties";
249 constexpr auto CFG_KEY_PROTOCOL = "protocol";
250 constexpr auto CFG_KEY_PUBLISHERS = "publishers";
251 constexpr auto CFG_KEY_RECIPES = "recipes";
252 constexpr auto CFG_KEY_REC_HIST_EXP = "rec_hist_expiration";
253 constexpr auto CFG_KEY_REC_HIST_SIZE = "rec_hist_size";
254 constexpr auto CFG_KEY_RESOLUTION = "resolution";
255 constexpr auto CFG_KEY_SDK = "sdk";
256 constexpr auto CFG_KEY_SIMULATION = "simulation";
257 constexpr auto CFG_KEY_SIM_ADDRESS = "sim_address";
258 constexpr auto CFG_KEY_TYPE = "type";
259 constexpr auto CFG_KEY_VALUE = "value";
260 constexpr auto CFG_KEY_WIDTH = "width";
261 constexpr auto CFG_KEY_WRITE_ON_INIT = "write_on_init";
262 // @}
263
265 // @{
266 constexpr auto SETUP_NODE_EXPO = "expo";
267 constexpr auto SETUP_NODE_SIM = "sim";
268
269 constexpr auto SETUP_KEY_ADDRESS = "address";
270 constexpr auto SETUP_KEY_BASENAME = "basename";
271 constexpr auto SETUP_KEY_BIN_X = "bin_x";
272 constexpr auto SETUP_KEY_BIN_Y = "bin_y";
273 constexpr auto SETUP_KEY_DELAY = "delay";
274 constexpr auto SETUP_KEY_ENABLED = "enabled";
275 constexpr auto SETUP_KEY_FILE = "file";
276 constexpr auto SETUP_KEY_FORMAT = "format";
277 constexpr auto SETUP_KEY_FRAME_RATE = "frame_rate";
278 constexpr auto SETUP_KEY_FRAME_RATE_LIMIT = "frame_rate_limit";
279 constexpr auto SETUP_KEY_INTERFACE = "interface";
280 constexpr auto SETUP_KEY_MAX_RATE = "max_rate";
281 constexpr auto SETUP_KEY_MAX_SHIFT = "max_shift";
282 constexpr auto SETUP_KEY_MAX_SHIFT_PR_FRAME = "max_shift_pr_frame";
283 constexpr auto SETUP_KEY_MAX_SIZE = "max_size";
284 constexpr auto SETUP_KEY_MODE = "mode";
285 constexpr auto SETUP_KEY_NB = "nb";
286 constexpr auto SETUP_KEY_RATE = "rate";
287 constexpr auto SETUP_KEY_NOISE = "noise";
288 constexpr auto SETUP_KEY_PORT = "port";
289 constexpr auto SETUP_KEY_TIME = "time";
290 constexpr auto SETUP_KEY_TYPE = "type";
291 constexpr auto SETUP_KEY_WIN_START_X = "win_start_x";
292 constexpr auto SETUP_KEY_WIN_START_Y = "win_start_y";
293 constexpr auto SETUP_KEY_WIN_WIDTH = "win_width";
294 constexpr auto SETUP_KEY_WIN_HEIGHT = "win_height";
295 // @}
296
298 // @{
299 constexpr auto EXPO_MODE_FINITE = "Finite";
300 constexpr auto EXPO_MODE_CONTINUOUS = "Continuous";
301 constexpr auto EXPO_MODE_INACTIVE = "Inactive";
302 // @}
303
304 // Prefix prepended to Recording Session IDs.
305 constexpr auto REC_ID_PREFIX = "RecId";
306
308 ExpoMode ExpoModeToNb(const std::string& expo_mode);
309
311 enum class SimType {
312 FILE = 1,
314 };
315
317 // @{
318 constexpr auto SIM_TYPE_FILE_STR = "File";
319 constexpr auto SIM_TYPE_PATTERN1_STR = "Pattern1";
320 // @}
321
323 // @{
324 constexpr auto PUB_STAT_NAME_ACTIVE = "Active";
325 constexpr auto PUB_STAT_NAME_COMPLETED = "Completed";
326 constexpr auto PUB_STAT_NAME_STOPPED = "Stopped";
327 constexpr auto PUB_STAT_NAME_ABORTED = "Aborted";
328 constexpr auto PUB_STAT_NAME_FAILED = "Failed";
329 constexpr auto PUB_STAT_NAME_UNDEFINED = "Undefined";
330 // @}
331
333 std::string RecStatusNameToStr(recif::RecStatusNames rec_status_nb);
334
336 std::string PubStatusNameToStr(PubStatus pub_status_nb);
337
339 std::string BuildKey(const std::vector<std::string>& elements);
340
342 std::vector<std::string> SplitKey(const std::string& key);
343
344}
345
346#define CCFTIME ifw::core::utils::time::Time()
347
350// inline void CcfDebug(const std::string& location,
351// const std::string& msg) {
352// fmt::print("{}:{}#> {}\n", ifw::core::utils::time::IsoTimeNow(), location, msg);
353// std::fflush(stdout);
354// }
355
356
357#define CCFDEBUG(msg) \
358 do { \
359 fmt::print(stdout, "CCF-DEBUG#####>>>>> {}: {}\n", IFWLOC, msg); \
360 std::fflush(stdout); \
361 } while (0)
362
363
366#define CCFTHROW(msg) throw rad::Exception(IFWLOC + ": " + msg)
367
368#endif // CCF_COMMON_BASE_HPP_H_
Class to be used as parent all CCF classes.
Definition base.hpp:120
static ifw::ccf::mptk::Manager & Mptk()
Return reference to internal MPTK instance (singleton).
Definition base.hpp:124
void SetClassName(const std::string &class_name)
Set the name of the class in question.
Definition base.cpp:129
const std::string & GetClassName() const
Return the allocated name of the class.
Definition base.cpp:124
~Base()
Definition base.cpp:122
Base()
Definition base.cpp:120
IFW CTD Multiprocessing Toolkit Manager class.
Definition manager.hpp:21
IFW CTD Multiprocessing Toolkit Message class.
Definition message.hpp:24
Definition appBase.cpp:9
void CopyRecStatusObj(const std::shared_ptr< recif::RecStatus > &src_rec_status_obj, const std::shared_ptr< recif::RecStatus > &trg_rec_status_obj)
Cope the members of one Recording Status Object to another.
Definition base.cpp:189
constexpr auto SETUP_KEY_NOISE
Definition base.hpp:287
constexpr auto PUB_STAT_NAME_COMPLETED
Definition base.hpp:325
constexpr auto META_KEY_CAM_ID
Definition base.hpp:77
constexpr auto SETUP_KEY_PORT
Definition base.hpp:288
constexpr auto CFG_KEY_ID
Definition base.hpp:231
constexpr auto SETUP_KEY_FILE
Definition base.hpp:275
constexpr auto CFG_KEY_MODEL
Definition base.hpp:240
constexpr auto META_KEY_EXPO_WIN_BINX
Definition base.hpp:71
constexpr auto STATE_ON_OP_ACQ_REC
Definition base.hpp:90
constexpr auto CFG_KEY_NAME
Definition base.hpp:241
constexpr auto SETUP_KEY_ADDRESS
Definition base.hpp:269
constexpr auto SETUP_KEY_INTERFACE
Definition base.hpp:279
constexpr auto SETUP_KEY_RATE
Definition base.hpp:286
SimType
Simulation type.
Definition base.hpp:311
constexpr auto SIM_TYPE_PATTERN1_STR
Definition base.hpp:319
PubStatus
Defines the various possible states of a Data Publisher.
Definition base.hpp:178
log4cplus::Logger & FastLogger()
Definition base.cpp:34
const std::string DB_NODE_SM_STATE
Definition base.hpp:56
constexpr auto SETUP_KEY_FORMAT
Definition base.hpp:276
constexpr auto PUB_STAT_NAME_FAILED
Definition base.hpp:328
log4cplus::Logger & Logger()
Definition base.cpp:23
constexpr auto CFG_KEY_PUBLISHERS
Definition base.hpp:250
constexpr auto STATE_ON_OP_ACQ_NOT_REC
Definition base.hpp:89
constexpr auto SIM_TYPE_FILE_STR
Definition base.hpp:318
constexpr auto CFG_KEY_NB_OF_SAMPLES
Definition base.hpp:243
constexpr auto CFG_KEY_WRITE_ON_INIT
Definition base.hpp:261
constexpr auto CFG_KEY_ALLOW_LOST_FRAMES
Definition base.hpp:226
const std::string DB_DELIM
Definition base.hpp:49
ExpoMode ExpoModeToNb(const std::string &expo_mode)
Convert exposure mode from number representation to string.
Definition base.cpp:134
constexpr auto CFG_KEY_ALLOW_FRAME_SKIPPING
Definition base.hpp:225
constexpr auto SETUP_KEY_BIN_X
Definition base.hpp:271
constexpr auto CFG_KEY_MAPPING
Definition base.hpp:235
constexpr auto CFG_KEY_NAMES
Definition base.hpp:242
constexpr auto CFG_KEY_PIPELINE
Definition base.hpp:247
constexpr auto META_KEY_EXPO_WIN_STARTY
Definition base.hpp:74
constexpr auto META_KEY_EXPO_TIME
Definition base.hpp:70
constexpr auto PUB_STAT_NAME_STOPPED
Definition base.hpp:326
constexpr auto STATE_ON_NOT_OP_READY
Definition base.hpp:86
constexpr auto CFG_KEY_AUTO_ADJUST_TIME_RATE
Definition base.hpp:224
constexpr auto SETUP_KEY_FRAME_RATE_LIMIT
Definition base.hpp:278
ThreadType
Definition base.hpp:93
constexpr auto CFG_NODE_PROCESSING
Definition base.hpp:217
void ResetRecStatusObj(std::shared_ptr< recif::RecStatus > &rec_status_obj, const recif::RecStatusNames rec_status)
Reset the members of the Recording Status Object.
Definition base.cpp:171
constexpr auto SETUP_KEY_WIN_START_X
Definition base.hpp:291
const std::string DB_NODE_SM_STATUS_SUBSTATE
Definition base.hpp:54
constexpr auto CFG_KEY_METADATA_MAP
Definition base.hpp:238
constexpr auto CFG_NODE_TELEMETRY
Definition base.hpp:216
constexpr auto CFG_KEY_OLDB_NODE
Definition base.hpp:244
constexpr auto META_KEY_EXPO_RATE
Definition base.hpp:69
constexpr auto CCF_VERSION
Version of CCF.
Definition base.hpp:41
bool ReceiveThrMsg(const std::string &receiver_thread_name, const double time_out, ifw::ccf::mptk::Message &message)
Receive a message from the given thread. Returns true if message received.
Definition base.cpp:57
constexpr auto SETUP_KEY_MODE
Definition base.hpp:284
constexpr auto PUB_STAT_NAME_ABORTED
Definition base.hpp:327
constexpr auto CFG_NODE_RECORDING
Definition base.hpp:218
std::string RecStatusNameToStr(recif::RecStatusNames rec_status_nb)
Recording Status name, number to string representation.
Definition base.cpp:166
constexpr auto SETUP_NODE_SIM
Definition base.hpp:267
constexpr auto SETUP_NODE_EXPO
Definition base.hpp:266
constexpr auto CFG_KEY_INIT_SETUP
Definition base.hpp:232
constexpr auto CFG_KEY_PROPERTIES
Definition base.hpp:248
constexpr auto CFG_KEY_MAX_RATE
Definition base.hpp:236
constexpr auto CFG_NODE_SERVER
Definition base.hpp:219
std::string StatusToStr(ifw::ccf::Status status)
Convert the status from number to string.
Definition base.cpp:146
constexpr auto SETUP_KEY_BIN_Y
Definition base.hpp:272
constexpr auto SETUP_KEY_MAX_RATE
Definition base.hpp:280
const std::string DB_NODE_SM_STATUS_STATE
Definition base.hpp:52
constexpr auto META_KEY_EXPO_WIN_STARTX
Definition base.hpp:73
constexpr auto CFG_KEY_MANUFACTURER
Definition base.hpp:234
constexpr auto META_KEY_SYSTEM
Definition base.hpp:75
ExpoMode
Exposure modes.
Definition base.hpp:206
constexpr auto SETUP_KEY_DELAY
Definition base.hpp:273
constexpr auto CFG_KEY_ENABLED
Definition base.hpp:228
constexpr auto CFG_KEY_MAX_RESOLUTION
Definition base.hpp:237
constexpr auto EXPO_MODE_FINITE
Definition base.hpp:299
constexpr auto SUCCESS
Definition base.hpp:163
constexpr auto CFG_KEY_HEIGHT
Definition base.hpp:230
constexpr auto CFG_KEY_VALUE
Definition base.hpp:259
constexpr auto CFG_KEY_REC_HIST_SIZE
Definition base.hpp:253
constexpr auto CFG_KEY_SDK
Definition base.hpp:255
constexpr auto CFG_KEY_OUPUT_QUEUE_SIZE
Definition base.hpp:245
constexpr auto CFG_KEY_ADAPTER
Definition base.hpp:222
ProcStatus
Possible states for a Processing Recipe defined.
Definition base.hpp:196
constexpr auto CFG_KEY_INPUT_QUEUE_SIZE
Definition base.hpp:233
std::string PubStatusNameToStr(PubStatus pub_status_nb)
Publisher status, number representation to string.
Definition base.cpp:154
constexpr auto CFG_KEY_TYPE
Definition base.hpp:258
constexpr auto REC_ID_PREFIX
Definition base.hpp:305
std::string ccf_application_name
constexpr auto SETUP_KEY_TYPE
Definition base.hpp:290
constexpr auto SETUP_KEY_MAX_SIZE
Definition base.hpp:283
constexpr auto META_KEY_EXPO_WIN_BINY
Definition base.hpp:72
std::vector< std::string > SplitKey(const std::string &key)
Split up a concatenated key.
Definition base.cpp:244
constexpr auto EXPO_MODE_INACTIVE
Definition base.hpp:301
constexpr auto SETUP_KEY_FRAME_RATE
Definition base.hpp:277
constexpr auto CFG_KEY_METADATA_KEY
Definition base.hpp:239
constexpr auto CFG_KEY_PERIOD
Definition base.hpp:246
constexpr auto STATE_ON_NOT_OP_NOT_READY
Definition base.hpp:85
constexpr auto CFG_KEY_SIM_ADDRESS
Definition base.hpp:257
constexpr auto STATE_ON_OP_IDLE
Definition base.hpp:87
constexpr auto SETUP_KEY_WIN_HEIGHT
Definition base.hpp:294
constexpr auto EXPO_MODE_CONTINUOUS
Definition base.hpp:300
constexpr auto CFG_KEY_RESOLUTION
Definition base.hpp:254
HwStatus
HW status values.
Definition base.hpp:150
constexpr auto CFG_NODE_ACQUISITION
Definition base.hpp:214
constexpr auto META_KEY_CAM_CHIPMODEL
Definition base.hpp:79
constexpr auto IFW_VERSION
Version of IFW.
Definition base.hpp:44
void DecomposeSmStatus(const std::string &sm_state, std::string &sum_state, std::string &sum_substate)
Definition base.cpp:206
constexpr auto SETUP_KEY_TIME
Definition base.hpp:289
constexpr auto SETUP_KEY_ENABLED
Definition base.hpp:274
constexpr auto SETUP_KEY_WIN_START_Y
Definition base.hpp:292
constexpr auto META_KEY_CAM_MODEL
Definition base.hpp:78
PubType
A Publisher may be Recording or Not-Recording. A Recording Publisher publishes data into files.
Definition base.hpp:171
constexpr auto META_KEY_CAM_TYPE
Definition base.hpp:80
constexpr auto STATE_ON_OP_ACQ
Definition base.hpp:88
void SetApplicationLogName(const std::string &app_name)
Definition base.cpp:15
constexpr auto META_KEY_CAM_NAME
Definition base.hpp:76
constexpr auto SETUP_KEY_BASENAME
Definition base.hpp:270
constexpr auto CFG_KEY_SIMULATION
Definition base.hpp:256
constexpr auto SETUP_KEY_MAX_SHIFT_PR_FRAME
Definition base.hpp:282
constexpr auto FAILURE
Definition base.hpp:164
constexpr auto CFG_KEY_ADDRESS
Definition base.hpp:223
constexpr auto PUB_STAT_NAME_UNDEFINED
Definition base.hpp:329
Status
General status variable.
Definition base.hpp:156
constexpr auto SETUP_KEY_MAX_SHIFT
Definition base.hpp:281
constexpr auto PUB_STAT_NAME_ACTIVE
Definition base.hpp:324
ifw::fnd::datatype::DataType CiiCfgNodeToIfwDataType(elt::configng::CiiConfigInstanceNode &node)
Determine IFW data type from a CII Cfg Node.
Definition base.cpp:75
constexpr auto SETUP_KEY_NB
Definition base.hpp:285
constexpr auto CFG_KEY_WIDTH
Definition base.hpp:260
constexpr auto CFG_NODE_MONITORING
Definition base.hpp:215
constexpr auto SETUP_KEY_WIN_WIDTH
Definition base.hpp:293
constexpr auto CFG_KEY_RECIPES
Definition base.hpp:251
constexpr auto CFG_KEY_PROTOCOL
Definition base.hpp:249
constexpr auto CFG_KEY_AUTO_STOP_ACQ_AFTER_REC
Definition base.hpp:227
constexpr auto CFG_KEY_DEVICES
Definition base.hpp:229
constexpr auto NO_VALUE
Definition base.hpp:46
std::string BuildKey(const std::vector< std::string > &elements)
Build a concatenated key from a number of elements (<el1>.<el2.>...).
Definition base.cpp:240
constexpr auto CFG_KEY_REC_HIST_EXP
Definition base.hpp:252
void AssertPtr(const void *ptr, const std::string &object, const std::string &location)
Check that pointer is not nullptr and raise rad::exception in case it is.
Definition base.cpp:65
constexpr auto CFG_NODE_TASKS
Definition base.hpp:220
void SendThrMsg(const std::string &command, const std::string &sender_thread_name, const std::string &receiver_thread_name, const std::string &data)
Send MPTK message via internal Message Bus.
Definition base.cpp:47
void PrintStackTrace()
Definition base.cpp:248