Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
structs.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_CHANNELS_STRUCTS_HPP_
2#define IV_SRC_CHANNELS_STRUCTS_HPP_
3
4#include "channels/enums.hpp"
7#include "core/constants.hpp"
8#include "core/defines.hpp"
9#include "core/enums.hpp"
11#include "model/structs.hpp"
12#include "third_party/magic_enum/magic_enum.hpp"
13
14#include <string>
15#include <utility>
16
17namespace iv::channels
18{
19
21{
22 std::string value;
23 std::optional<std::string> unit;
24};
25
31
43
45{
49
50 ChannelInfo(const iv::channels::ChannelInfo &other) = default;
51 ChannelInfo(const iv::channels::ChannelInfo &&other) = delete;
52 ~ChannelInfo() = default;
53
55 {
56 if (&other == this)
57 {
58 return *this;
59 }
60
61 system = other.system;
62 equipment = other.equipment;
65
66 return *this;
67 }
68
70
71 bool load(const iv::file::xml::node &nodeChannel)
72 {
73 bool result {true};
74 iv::file::xml::node nodeChannelMisc = nodeChannel.getChild(Sections::channelMisc);
78
79 iv::file::xml::node nodeChannelDescriptions = nodeChannel.getChild(Sections::descriptions);
80 result &= descriptions.load(nodeChannelDescriptions);
81 return result;
82 }
83
84 bool save(iv::file::xml::node &nodeChannel) const
85 {
86 bool result {true};
87 iv::file::xml::node nodeChannelMiscInfo = nodeChannel.appendChild(Sections::channelMisc);
88 nodeChannelMiscInfo.addAttribute(Keys::system, system);
89 nodeChannelMiscInfo.addAttribute(Keys::equipment, equipment);
90 nodeChannelMiscInfo.addAttribute(Keys::functionCode, functionCode);
91
92 iv::file::xml::node nodeChannelDescriptions = nodeChannel.appendChild(Sections::descriptions);
93 result &= descriptions.save(nodeChannelDescriptions, Sections::description);
94 return result;
95 }
96
97 std::string system;
98 std::string equipment;
99 std::string functionCode;
101
102private:
103 struct Keys
104 {
105 static constexpr std::string_view system {"System"};
106 static constexpr std::string_view equipment {"Equipment"};
107 static constexpr std::string_view functionCode {"FunctionCode"};
108 };
109 struct Sections
110 {
111 static constexpr std::string_view channelMisc {"Misc"};
112 static constexpr std::string_view descriptions {"Descriptions"};
113 static constexpr std::string_view description {"Description"};
114 };
116 {
117 static constexpr std::string string {};
118 static constexpr iv::eLanguage language {};
119 };
120};
121
123{
132
134
136 : alarmEnabled(other.alarmEnabled), offScan(other.offScan), group(std::move(other.group)),
137 alarmPriority(other.alarmPriority), activationDelay(other.activationDelay),
138 deactivationDelay(other.deactivationDelay), inhibitionChannelTag(std::move(other.inhibitionChannelTag)),
139 inhibitionCondition(other.inhibitionCondition)
140 {
141 }
142
144
146 {
148 offScan = other.offScan;
149 group = other.group;
154
155 return *this;
156 }
157
159 {
160 if (this != &other)
161 {
162 alarmEnabled = other.alarmEnabled;
163 offScan = other.offScan;
164 group = std::move(other.group);
165 alarmPriority = other.alarmPriority;
166 activationDelay = other.activationDelay;
167 deactivationDelay = other.deactivationDelay;
168 inhibitionChannelTag = std::move(other.inhibitionChannelTag);
169 }
170
171 return *this;
172 }
173
174 bool load(const iv::file::xml::node &nodeChannel)
175 {
176 iv::file::xml::node nodeAlarmParameters = nodeChannel.getChild(Sections::alarmParameters);
179 group = nodeAlarmParameters.getAttribute(Keys::group, DefaultValues::group);
180 auto aux_alarmPriority = magic_enum::enum_cast<iv::alarms::eAlarmPriority>(
182 if (aux_alarmPriority.has_value())
183 {
184 alarmPriority = aux_alarmPriority.value();
185 }
186 else
187 {
188 return false;
189 }
195 magic_enum::enum_cast<iv::channels::eInhibitionCondition>(
198 return true;
199 }
200
201 bool save(iv::file::xml::node &nodeChannel) const
202 {
203 iv::file::xml::node nodeAlarmParameters = nodeChannel.appendChild(Sections::alarmParameters);
204 nodeAlarmParameters.addAttribute(Keys::alarmEnabled, alarmEnabled);
205 nodeAlarmParameters.addAttribute(Keys::offScan, offScan);
206 nodeAlarmParameters.addAttribute(Keys::group, group);
207 nodeAlarmParameters.addAttribute(Keys::alarmPriority, magic_enum::enum_name(alarmPriority));
211 nodeAlarmParameters.addAttribute(Keys::inhibitionCondition, magic_enum::enum_name(inhibitionCondition));
212 return true;
213 }
214
215 [[nodiscard]] std::string strInhibitionChannel() const
216 {
217 auto txtIHTag = inhibitionChannelTag;
218
219 if (not txtIHTag.empty())
220 {
221 switch (inhibitionCondition)
222 {
224 txtIHTag += ".CL";
225 break;
227 txtIHTag += ".OP";
228 break;
229 }
230 }
231 else
232 {
233 txtIHTag = "NINH";
234 }
235
236 return txtIHTag;
237 }
238
245
248
249private:
250 struct Keys
251 {
252 static constexpr std::string_view alarmEnabled {"Enabled"};
253 static constexpr std::string_view offScan {"OffScan"};
254 static constexpr std::string_view group {"Group"};
255 static constexpr std::string_view alarmPriority {"Priority"};
256 static constexpr std::string_view activationDelay {"ActivationDelay"};
257 static constexpr std::string_view deactivationDelay {"DeactivationDelay"};
258 static constexpr std::string_view inhibitionChannel {"InhibitionChannel"};
259 static constexpr std::string_view inhibitionCondition {"InhibitionCondition"};
260 };
261 struct Sections
262 {
263 static constexpr std::string_view alarmParameters {"AlarmParameters"};
264 };
266 {
267 static constexpr std::string string {};
268 static constexpr bool alarmEnabled {false};
269 static constexpr bool offScan {false};
270 static constexpr iv::types::groupId group {};
271 static constexpr std::string alarmPriority {"Alarm"};
272 static constexpr iv::types::delay activationDelay {0};
277 };
278};
279
286
288{
290 std::optional<iv::types::comms::j1939SourceAddress> sourceAddress {DefaultValues::sourceAddress};
291
293
298
299 std::vector<J1939Filter> filterParameters;
300
301 void load(const iv::file::xml::node &nodeRegisterInfo)
302 {
303 pgn = nodeRegisterInfo.getAttribute(Keys::pgn, DefaultValues::pgn);
304
305 int16_t source = nodeRegisterInfo.getAttribute(Keys::sourceAddress, DefaultValues::nullSourceAddress);
307 {
308 sourceAddress = source;
309 }
310 else
311 {
313 }
314
315 dataType = magic_enum::enum_cast<iv::eDataType>(
317 .value_or(DefaultValues::dataType);
318
320
321 auto filterParametersNode = nodeRegisterInfo.getChild(Sections::filterParameters);
322 for (const auto &filter: filterParametersNode.getChildren())
323 {
325 filter.getAttribute(Keys::parameterId, DefaultValues::parameterId);
327 magic_enum::enum_cast<iv::eDataType>(filter.getAttribute(Keys::dataType, DefaultValues::string))
328 .value_or(DefaultValues::dataType);
329 iv::types::channelValue value = filter.getAttribute(Keys::filterValue, 0);
330 filterParameters.push_back({parameterId, dataType, value});
331 }
332 }
333
334 void save(iv::file::xml::node &nodeRegisterInfo) const
335 {
336 nodeRegisterInfo.addAttribute(Keys::pgn, pgn);
337
338 if (sourceAddress.has_value())
339 {
340 nodeRegisterInfo.addAttribute(Keys::sourceAddress, sourceAddress.value());
341 }
342 else
343 {
345 }
346
347 nodeRegisterInfo.addAttribute(Keys::dataType, magic_enum::enum_name(dataType));
348 nodeRegisterInfo.addAttribute(Keys::parameterId, parameterId);
349
350 auto filterParametersNode = nodeRegisterInfo.appendChild(Sections::filterParameters);
351 for (const auto &filter: filterParameters)
352 {
353 iv::file::xml::node filterParameter = filterParametersNode.appendChild(Sections::filterParameter);
354 filterParameter.addAttribute(Keys::parameterId, filter.spn);
355 filterParameter.addAttribute(Keys::filterValue, filter.value);
356 filterParameter.addAttribute(Keys::dataType, magic_enum::enum_name(filter.dataType));
357 }
358 }
359
360private:
361 struct Keys
362 {
363 static constexpr std::string_view pgn {"Pgn"};
364 static constexpr std::string_view sourceAddress {"SourceAddress"};
365 static constexpr std::string_view dataType {"DataType"};
366 static constexpr std::string_view parameterId {"ParameterId"};
367 static constexpr std::string_view filterValue {"FilterValue"};
368 };
369
370 struct Sections
371 {
372 static constexpr std::string_view filterParameters {"FilterParameters"};
373 static constexpr std::string_view filterParameter {"FilterParameter"};
374 };
375
376public:
378 {
379 static constexpr iv::types::comms::pgn pgn {};
380 static constexpr std::optional<iv::types::comms::j1939SourceAddress> sourceAddress {std::nullopt};
381 static constexpr int16_t nullSourceAddress {-1};
384 static constexpr std::string string {};
385 };
386};
387
389{
391
393 std::optional<iv::types::comms::j1939SourceAddress> sourceAddress {DefaultValues::sourceAddress};
394
396
398 std::vector<J1939Filter> filterSPNs;
399
400 //Used in dm1 only
402
403 void load(const iv::file::xml::node &nodeRegisterInfo)
404 {
405 pgn = nodeRegisterInfo.getAttribute(Keys::pgn, DefaultValues::pgn);
406
407 int16_t source = nodeRegisterInfo.getAttribute(Keys::sourceAddress, DefaultValues::nullSourceAddress);
409 {
410 sourceAddress = source;
411 }
412 else
413 {
415 }
416
417 spn = nodeRegisterInfo.getAttribute(Keys::spn, DefaultValues::spn);
418
419 subProtocol = magic_enum::enum_cast<iv::comms::canJ1939::eJ1939SubProtocol>(
422
423 dataType = magic_enum::enum_cast<iv::eDataType>(
425 .value_or(DefaultValues::dataType);
426 auto filterSPNsNode = nodeRegisterInfo.getChild(Sections::filterSPNs);
427 for (const auto &filter: filterSPNsNode.getChildren())
428 {
431 magic_enum::enum_cast<iv::eDataType>(filter.getAttribute(Keys::dataType, DefaultValues::string))
432 .value_or(DefaultValues::dataType);
433 iv::types::channelValue value = filter.getAttribute(Keys::filterValue, 0);
434 filterSPNs.push_back({spn, dataType, value});
435 }
436 fmi = nodeRegisterInfo.getAttribute(Keys::fmi, DefaultValues::fmi);
437 }
438
439 void save(iv::file::xml::node &nodeRegisterInfo) const
440 {
441 nodeRegisterInfo.addAttribute(Keys::pgn, pgn);
442
443 if (sourceAddress.has_value())
444 {
445 nodeRegisterInfo.addAttribute(Keys::sourceAddress, sourceAddress.value());
446 }
447 else
448 {
450 }
451
452 nodeRegisterInfo.addAttribute(Keys::spn, spn);
453 nodeRegisterInfo.addAttribute(Keys::subProtocol, magic_enum::enum_name(subProtocol));
454 nodeRegisterInfo.addAttribute(Keys::dataType, magic_enum::enum_name(dataType));
455
456 auto filterSPNsNode = nodeRegisterInfo.appendChild(Sections::filterSPNs);
457 for (const auto &filter: filterSPNs)
458 {
459 iv::file::xml::node filterSPN = filterSPNsNode.appendChild(Sections::filterSPN);
460 filterSPN.addAttribute(Keys::spn, filter.spn);
461 filterSPN.addAttribute(Keys::filterValue, filter.value);
462 filterSPN.addAttribute(Keys::dataType, magic_enum::enum_name(filter.dataType));
463 }
464 nodeRegisterInfo.addAttribute(Keys::fmi, fmi);
465 }
466
467private:
468 struct Keys
469 {
470 static constexpr std::string_view pgn {"Pgn"};
471 static constexpr std::string_view sourceAddress {"SourceAddress"};
472 static constexpr std::string_view spn {"Spn"};
473 static constexpr std::string_view fmi {"Fmi"};
474 static constexpr std::string_view startBit {"StartBit"};
475 static constexpr std::string_view length {"Length"};
476 static constexpr std::string_view endianType {"EndianType"};
477 static constexpr std::string_view direction {"Direction"};
478 static constexpr std::string_view subProtocol {"SubProtocol"};
479 static constexpr std::string_view dataType {"DataType"};
480 static constexpr std::string_view filterValue {"FilterValue"};
481 };
482
483 struct Sections
484 {
485 static constexpr std::string_view filterSPNs {"FilterSPNs"};
486 static constexpr std::string_view filterSPN {"FilterSPN"};
487 };
488
489public:
491 {
492 static constexpr std::string string {};
493 static constexpr std::optional<iv::types::comms::j1939SourceAddress> sourceAddress {std::nullopt};
494 static constexpr int16_t nullSourceAddress {-1};
495 static constexpr iv::types::comms::pgn pgn {};
496 static constexpr iv::types::comms::spn spn {0};
497 static constexpr iv::types::comms::fmi fmi {0};
498 static constexpr uint8_t startBit {0};
499 static constexpr uint8_t length {0};
505 };
506};
507
509{
513
516
521
523
524 void load(const iv::file::xml::node &nodeRegisterInfo)
525 {
526 type = magic_enum::enum_cast<iv::comms::modbus::eRegisterType>(
528 .value_or(DefaultValues::type);
530
531 if (nodeRegisterInfo.attribute(Keys::isExtended.data()) != nullptr)
532 {
534 }
535 else
536 {
538 }
539
540 dataType = magic_enum::enum_cast<iv::eDataType>(
542 .value_or(DefaultValues::dataType);
543 endianType = magic_enum::enum_cast<iv::eEndianType>(
545 .value_or(DefaultValues::endianType);
548 slaveId = static_cast<unsigned char>(nodeRegisterInfo.getAttribute(Keys::slaveId, 0));
549 }
550
551 void save(iv::file::xml::node &nodeRegisterInfo) const
552 {
553 nodeRegisterInfo.addAttribute(Keys::type, magic_enum::enum_name(type));
554 nodeRegisterInfo.addAttribute(Keys::isExtended, isExtended);
555 nodeRegisterInfo.addAttribute(Keys::address, address);
556 nodeRegisterInfo.addAttribute(Keys::dataType, magic_enum::enum_name(dataType));
557 nodeRegisterInfo.addAttribute(Keys::endianType, magic_enum::enum_name(endianType));
559 nodeRegisterInfo.addAttribute(Keys::bitPosition, bitPosition);
560 nodeRegisterInfo.addAttribute(Keys::slaveId, slaveId);
561 }
562
563private:
564 struct Keys
565 {
566 static constexpr std::string_view registerDirection {"RegisterDirection"};
567 static constexpr std::string_view type {"Type"};
568 static constexpr std::string_view isExtended {"IsExtended"};
569 static constexpr std::string_view address {"Address"};
570 static constexpr std::string_view dataType {"DataType"};
571 static constexpr std::string_view endianType {"EndianType"};
572 static constexpr std::string_view registerBitsLength {"RegisterBitsLength"};
573 static constexpr std::string_view bitPosition {"BitPosition"};
574 static constexpr std::string_view slaveId {"SlaveId"};
575 };
576
578 {
579 static constexpr std::string string {};
581 static constexpr bool isExtended {false};
585 static constexpr uint8_t registerBitsLength {16};
586 static constexpr uint8_t bitPosition {0};
587 };
588};
589
591{
595
596 void load(const iv::file::xml::node &nodeRegisterInfo)
597 {
600 fieldType = magic_enum::enum_cast<iv::comms::nmea0183::eFieldType>(
602 .value_or(DefaultValues::fieldType);
603 }
604
605 void save(iv::file::xml::node &nodeRegisterInfo) const
606 {
607 nodeRegisterInfo.addAttribute(Keys::header, header);
609 nodeRegisterInfo.addAttribute(Keys::fieldType, magic_enum::enum_name(fieldType));
610 }
611
612private:
613 struct Keys
614 {
615 static constexpr std::string_view header {"Header"};
616 static constexpr std::string_view fieldPosition {"FieldPosition"};
617 static constexpr std::string_view fieldType {"FieldType"};
618 };
626};
627
629{
631
632 void load(const iv::file::xml::node &nodeRegisterInfo)
633 {
635 }
636
637 void save(iv::file::xml::node &nodeRegisterInfo) const
638 {
639 nodeRegisterInfo.addAttribute(Keys::vdrId, vdrId);
640 }
641
642private:
643 struct Keys
644 {
645 static constexpr std::string_view vdrId {"VdrId"};
646 };
647
649 {
650 static constexpr iv::types::comms::vdr::id vdrId {0};
651 };
652};
653
655{
656 std::string terminalXT;
657 std::string cable;
658 std::string wire;
659 std::string terminalBoard;
660 std::string shipyardTerminal;
661 std::string shipyardElement;
662};
663
671
672namespace controller
673{
674
675}// namespace controller
676
677}// namespace iv::channels
678
679#endif//IV_SRC_CHANNELS_STRUCTS_HPP_
Definition xmlFile.hpp:15
T getAttribute(const std::string_view key, T defaultValue) const
Definition xmlFile.hpp:33
iv::file::xml::node getChild(std::string_view name) const
Definition xmlFile.cpp:43
bool addAttribute(const std::string_view key, T value)
Definition xmlFile.hpp:77
iv::file::xml::node appendChild(std::string_view name)
Definition xmlFile.cpp:53
eAlarmPriority
Definition enums.hpp:13
Definition AlarmsManager.hpp:17
eInhibitionCondition
Definition enums.hpp:11
eJ1939SubProtocol
Definition enums.hpp:41
constexpr iv::types::comms::modbus::modbusAddress maxNonExtendedAddress
Definition defines.hpp:9
eRegisterType
Definition enums.hpp:315
eFieldType
Definition enums.hpp:328
eMessageDirection
Definition enums.hpp:306
static constexpr iv::types::channelValue channelValueInvalid
Definition constants.hpp:14
uint16_t modbusAddress
Definition defines.hpp:37
uint16_t fieldPosition
Definition defines.hpp:48
std::string nmeaHeader
Definition defines.hpp:47
uint16_t id
Definition defines.hpp:54
uint32_t pgn
Definition defines.hpp:25
uint32_t nmea2kParameterId
Definition defines.hpp:32
uint32_t spn
Definition defines.hpp:26
uint8_t fmi
Definition defines.hpp:23
uint8_t slaveId
Definition types.hpp:49
uint64_t timestamp
Definition types.hpp:21
uint16_t delay
Definition types.hpp:69
double channelValue
Definition types.hpp:67
std::string channelId
Definition types.hpp:66
std::string groupId
Definition types.hpp:70
Definition AlarmsManager.cpp:18
eLanguage
Definition enums.hpp:37
eEndianType
Definition enums.hpp:220
eDataType
Definition enums.hpp:207
Definition structs.hpp:27
iv::types::channelValue limitValue
Definition structs.hpp:29
bool hasLimit
Definition structs.hpp:28
Definition structs.hpp:33
bool hasInstrumentFailureHigh
Definition structs.hpp:34
iv::channels::AnalogAlarmLimit lowAlarmLimit
Definition structs.hpp:39
iv::channels::AnalogAlarmLimit highHighAlarmLimit
Definition structs.hpp:41
iv::channels::AnalogAlarmLimit lowLowAlarmLimit
Definition structs.hpp:38
iv::types::channelValue lowEngineeringLimit
Definition structs.hpp:36
iv::types::channelValue highEngineeringLimit
Definition structs.hpp:37
iv::channels::AnalogAlarmLimit highAlarmLimit
Definition structs.hpp:40
bool hasInstrumentFailureLow
Definition structs.hpp:35
static constexpr iv::types::delay activationDelay
Definition structs.hpp:272
static constexpr std::string string
Definition structs.hpp:267
static constexpr bool offScan
Definition structs.hpp:269
static constexpr iv::types::delay deactivationDelay
Definition structs.hpp:273
static constexpr bool alarmEnabled
Definition structs.hpp:268
static constexpr iv::types::groupId group
Definition structs.hpp:270
static constexpr iv::channels::eInhibitionCondition inhibitionCondition
Definition structs.hpp:275
static constexpr std::string alarmPriority
Definition structs.hpp:271
static constexpr iv::types::channelId inhibitionChannel
Definition structs.hpp:274
static constexpr std::string_view group
Definition structs.hpp:254
static constexpr std::string_view alarmEnabled
Definition structs.hpp:252
static constexpr std::string_view offScan
Definition structs.hpp:253
static constexpr std::string_view activationDelay
Definition structs.hpp:256
static constexpr std::string_view inhibitionCondition
Definition structs.hpp:259
static constexpr std::string_view inhibitionChannel
Definition structs.hpp:258
static constexpr std::string_view alarmPriority
Definition structs.hpp:255
static constexpr std::string_view deactivationDelay
Definition structs.hpp:257
static constexpr std::string_view alarmParameters
Definition structs.hpp:263
Definition structs.hpp:123
iv::types::groupId group
Definition structs.hpp:241
std::string strInhibitionChannel() const
Definition structs.hpp:215
ChannelAlarmParameters(const ChannelAlarmParameters &other)=default
ChannelAlarmParameters(ChannelAlarmParameters &&other) noexcept
Definition structs.hpp:135
iv::types::delay deactivationDelay
Definition structs.hpp:244
ChannelAlarmParameters()
Definition structs.hpp:124
iv::alarms::eAlarmPriority alarmPriority
Definition structs.hpp:242
iv::types::delay activationDelay
Definition structs.hpp:243
iv::channels::eInhibitionCondition inhibitionCondition
Definition structs.hpp:247
iv::types::channelId inhibitionChannelTag
Definition structs.hpp:246
ChannelAlarmParameters & operator=(ChannelAlarmParameters &&other) noexcept
Definition structs.hpp:158
bool load(const iv::file::xml::node &nodeChannel)
Definition structs.hpp:174
bool offScan
Definition structs.hpp:240
bool alarmEnabled
Definition structs.hpp:239
ChannelAlarmParameters & operator=(const ChannelAlarmParameters &other)
Definition structs.hpp:145
bool save(iv::file::xml::node &nodeChannel) const
Definition structs.hpp:201
static constexpr std::string string
Definition structs.hpp:117
static constexpr iv::eLanguage language
Definition structs.hpp:118
Definition structs.hpp:104
static constexpr std::string_view equipment
Definition structs.hpp:106
static constexpr std::string_view functionCode
Definition structs.hpp:107
static constexpr std::string_view system
Definition structs.hpp:105
Definition structs.hpp:110
static constexpr std::string_view description
Definition structs.hpp:113
static constexpr std::string_view descriptions
Definition structs.hpp:112
static constexpr std::string_view channelMisc
Definition structs.hpp:111
Definition structs.hpp:45
bool save(iv::file::xml::node &nodeChannel) const
Definition structs.hpp:84
ChannelInfo & operator=(const iv::channels::ChannelInfo &&other)=delete
std::string functionCode
Definition structs.hpp:99
bool load(const iv::file::xml::node &nodeChannel)
Definition structs.hpp:71
ChannelInfo & operator=(const iv::channels::ChannelInfo &other)
Definition structs.hpp:54
ChannelInfo()
Definition structs.hpp:46
iv::model::LocalizedText descriptions
Definition structs.hpp:100
ChannelInfo(const iv::channels::ChannelInfo &other)=default
std::string equipment
Definition structs.hpp:98
std::string system
Definition structs.hpp:97
ChannelInfo(const iv::channels::ChannelInfo &&other)=delete
Definition structs.hpp:21
std::string value
Definition structs.hpp:22
std::optional< std::string > unit
Definition structs.hpp:23
Definition structs.hpp:281
iv::eDataType dataType
Definition structs.hpp:283
iv::types::channelValue value
Definition structs.hpp:284
iv::types::comms::spn spn
Definition structs.hpp:282
static constexpr int16_t nullSourceAddress
Definition structs.hpp:494
static constexpr iv::comms::canJ1939::eJ1939SubProtocol subProtocol
Definition structs.hpp:502
static constexpr iv::types::comms::fmi fmi
Definition structs.hpp:497
static constexpr std::optional< iv::types::comms::j1939SourceAddress > sourceAddress
Definition structs.hpp:493
static constexpr uint8_t length
Definition structs.hpp:499
static constexpr std::string string
Definition structs.hpp:492
static constexpr iv::eEndianType endianType
Definition structs.hpp:500
static constexpr iv::comms::eMessageDirection direction
Definition structs.hpp:501
static constexpr uint8_t startBit
Definition structs.hpp:498
static constexpr iv::types::comms::spn spn
Definition structs.hpp:496
static constexpr iv::eDataType dataType
Definition structs.hpp:504
static constexpr iv::types::comms::pgn pgn
Definition structs.hpp:495
Definition structs.hpp:469
static constexpr std::string_view endianType
Definition structs.hpp:476
static constexpr std::string_view direction
Definition structs.hpp:477
static constexpr std::string_view startBit
Definition structs.hpp:474
static constexpr std::string_view subProtocol
Definition structs.hpp:478
static constexpr std::string_view filterValue
Definition structs.hpp:480
static constexpr std::string_view fmi
Definition structs.hpp:473
static constexpr std::string_view pgn
Definition structs.hpp:470
static constexpr std::string_view length
Definition structs.hpp:475
static constexpr std::string_view dataType
Definition structs.hpp:479
static constexpr std::string_view spn
Definition structs.hpp:472
static constexpr std::string_view sourceAddress
Definition structs.hpp:471
static constexpr std::string_view filterSPNs
Definition structs.hpp:485
static constexpr std::string_view filterSPN
Definition structs.hpp:486
Definition structs.hpp:389
iv::types::comms::pgn pgn
Definition structs.hpp:392
iv::comms::canJ1939::eJ1939SubProtocol subProtocol
Definition structs.hpp:390
void load(const iv::file::xml::node &nodeRegisterInfo)
Definition structs.hpp:403
iv::types::comms::spn spn
Definition structs.hpp:397
iv::types::comms::fmi fmi
Definition structs.hpp:401
std::optional< iv::types::comms::j1939SourceAddress > sourceAddress
Definition structs.hpp:393
void save(iv::file::xml::node &nodeRegisterInfo) const
Definition structs.hpp:439
iv::eDataType dataType
Definition structs.hpp:395
std::vector< J1939Filter > filterSPNs
Definition structs.hpp:398
static constexpr uint8_t registerBitsLength
Definition structs.hpp:585
static constexpr std::string string
Definition structs.hpp:579
static constexpr bool isExtended
Definition structs.hpp:581
static constexpr iv::types::comms::modbus::modbusAddress address
Definition structs.hpp:582
static constexpr iv::comms::modbus::eRegisterType type
Definition structs.hpp:580
static constexpr iv::eEndianType endianType
Definition structs.hpp:584
static constexpr uint8_t bitPosition
Definition structs.hpp:586
static constexpr iv::eDataType dataType
Definition structs.hpp:583
Definition structs.hpp:565
static constexpr std::string_view registerBitsLength
Definition structs.hpp:572
static constexpr std::string_view slaveId
Definition structs.hpp:574
static constexpr std::string_view registerDirection
Definition structs.hpp:566
static constexpr std::string_view type
Definition structs.hpp:567
static constexpr std::string_view endianType
Definition structs.hpp:571
static constexpr std::string_view dataType
Definition structs.hpp:570
static constexpr std::string_view address
Definition structs.hpp:569
static constexpr std::string_view isExtended
Definition structs.hpp:568
static constexpr std::string_view bitPosition
Definition structs.hpp:573
Definition structs.hpp:509
void load(const iv::file::xml::node &nodeRegisterInfo)
Definition structs.hpp:524
iv::comms::modbus::eRegisterType type
Definition structs.hpp:510
void save(iv::file::xml::node &nodeRegisterInfo) const
Definition structs.hpp:551
iv::types::modbus::slaveId slaveId
Definition structs.hpp:522
uint8_t registerBitsLength
Definition structs.hpp:519
iv::types::comms::modbus::modbusAddress address
Definition structs.hpp:512
bool isExtended
Definition structs.hpp:511
iv::eDataType dataType
Definition structs.hpp:514
uint8_t bitPosition
Definition structs.hpp:520
iv::eEndianType endianType
Definition structs.hpp:515
static constexpr iv::types::comms::nmea0183::fieldPosition fieldPosition
Definition structs.hpp:623
static constexpr iv::comms::nmea0183::eFieldType fieldType
Definition structs.hpp:624
static constexpr iv::types::comms::nmea0183::nmeaHeader header
Definition structs.hpp:622
static constexpr std::string string
Definition structs.hpp:621
static constexpr std::string_view fieldPosition
Definition structs.hpp:616
static constexpr std::string_view fieldType
Definition structs.hpp:617
static constexpr std::string_view header
Definition structs.hpp:615
Definition structs.hpp:591
void load(const iv::file::xml::node &nodeRegisterInfo)
Definition structs.hpp:596
iv::comms::nmea0183::eFieldType fieldType
Definition structs.hpp:594
void save(iv::file::xml::node &nodeRegisterInfo) const
Definition structs.hpp:605
iv::types::comms::nmea0183::nmeaHeader header
Definition structs.hpp:592
iv::types::comms::nmea0183::fieldPosition fieldPosition
Definition structs.hpp:593
static constexpr iv::eDataType dataType
Definition structs.hpp:382
static constexpr iv::types::comms::nmea2kParameterId parameterId
Definition structs.hpp:383
static constexpr std::optional< iv::types::comms::j1939SourceAddress > sourceAddress
Definition structs.hpp:380
static constexpr int16_t nullSourceAddress
Definition structs.hpp:381
static constexpr iv::types::comms::pgn pgn
Definition structs.hpp:379
static constexpr std::string string
Definition structs.hpp:384
Definition structs.hpp:362
static constexpr std::string_view parameterId
Definition structs.hpp:366
static constexpr std::string_view filterValue
Definition structs.hpp:367
static constexpr std::string_view sourceAddress
Definition structs.hpp:364
static constexpr std::string_view pgn
Definition structs.hpp:363
static constexpr std::string_view dataType
Definition structs.hpp:365
static constexpr std::string_view filterParameters
Definition structs.hpp:372
static constexpr std::string_view filterParameter
Definition structs.hpp:373
Definition structs.hpp:288
iv::eDataType dataType
Definition structs.hpp:292
iv::types::comms::pgn pgn
Definition structs.hpp:289
iv::types::comms::nmea2kParameterId parameterId
indicates which of the parameters in the packet are binded to the channel, begins at one
Definition structs.hpp:297
void save(iv::file::xml::node &nodeRegisterInfo) const
Definition structs.hpp:334
std::optional< iv::types::comms::j1939SourceAddress > sourceAddress
Definition structs.hpp:290
std::vector< J1939Filter > filterParameters
Definition structs.hpp:299
void load(const iv::file::xml::node &nodeRegisterInfo)
Definition structs.hpp:301
Definition structs.hpp:665
iv::types::channelValue rawData
Definition structs.hpp:668
bool hasValidValue
Definition structs.hpp:666
iv::types::channelValue value
Definition structs.hpp:667
iv::types::timestamp timestamp
Definition structs.hpp:669
static constexpr iv::types::comms::vdr::id vdrId
Definition structs.hpp:650
Definition structs.hpp:644
static constexpr std::string_view vdrId
Definition structs.hpp:645
Definition structs.hpp:629
void load(const iv::file::xml::node &nodeRegisterInfo)
Definition structs.hpp:632
void save(iv::file::xml::node &nodeRegisterInfo) const
Definition structs.hpp:637
iv::types::comms::vdr::id vdrId
Definition structs.hpp:630
Definition structs.hpp:655
std::string terminalXT
Definition structs.hpp:656
std::string terminalBoard
Definition structs.hpp:659
std::string cable
Definition structs.hpp:657
std::string wire
Definition structs.hpp:658
std::string shipyardTerminal
Definition structs.hpp:660
std::string shipyardElement
Definition structs.hpp:661
Definition structs.hpp:29
bool save(iv::file::xml::node &nodeLocalizedText, std::string_view localizedTextNodeName) const
Definition structs.cpp:88
bool load(const iv::file::xml::node &nodeLocalizedTexts)
Definition structs.cpp:63