Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
AnalogChannel.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_CHANNELS_ANALOGCHANNEL_HPP_
2#define IV_SRC_CHANNELS_ANALOGCHANNEL_HPP_
3
6
7namespace iv::channels
8{
9
11{
13
14public:
15 ~AnalogChannel() override = default;
16
17 void update(AbstractChannel &other) override;
18 bool load(const iv::file::xml::node &nodeChannel) override;
19 bool save(iv::file::xml::node &nodeChannel) const override;
20
21 [[nodiscard]] std::string analogStrValue() const;
22
23 [[nodiscard]] std::string getEngineeringUnitsStr() const override;
28 uint8_t &numberOfDecimals();
33
34 [[nodiscard]] std::string formatValue() const override;
35 [[nodiscard]] iv::channels::FormattedValue formattedValue() const override;
36
37protected:
47
49 AnalogChannel(const AnalogChannel &other);
50
51private:
52 struct Keys
53 {
54 static constexpr std::string_view alarmLimits {"AlarmLimits"};
55 static constexpr std::string_view deadBand {"DeadBand"};
56 static constexpr std::string_view offset {"Offset"};
57 static constexpr std::string_view factor {"Factor"};
58 static constexpr std::string_view numberOfDecimals {"NumberOfDecimals"};
59 static constexpr std::string_view measurementUnit {"MeasurementUnit"};
60 static constexpr std::string_view analogSensorType {"AnalogSensorType"};
61 static constexpr std::string_view sensorHigh {"SensorHigh"};
62 static constexpr std::string_view sensorLow {"SensorLow"};
63
65 {
66 static constexpr std::string_view instrumentFailureHigh {"InstrumentFailureHigh"};
67 static constexpr std::string_view instrumentFailureLow {"InstrumentFailureLow"};
68 static constexpr std::string_view lowEngineeringLimit {"LowEngineeringLimit"};
69 static constexpr std::string_view highEngineeringLimit {"HighEngineeringLimit"};
70 static constexpr std::string_view hasLimit {"HasLimit"};
71 static constexpr std::string_view limit {"Limit"};
72 };
73 };
74 struct Sections
75 {
76 static constexpr std::string_view analogAttributes {"AnalogAttributes"};
77 static constexpr std::string_view analogAlarmLimits {"AlarmLimits"};
78 static constexpr std::string_view analogAlarmSettingsLLAL {"LLAL"};
79 static constexpr std::string_view analogAlarmSettingsLAL {"LAL"};
80 static constexpr std::string_view analogAlarmSettingsHAL {"HAL"};
81 static constexpr std::string_view analogAlarmSettingsHHAL {"HHAL"};
82 };
84 {
85 static constexpr std::string string {};
86 static constexpr iv::types::channelValue deadBand {0};
87 static constexpr iv::types::channelValue offset {0};
88 static constexpr iv::types::channelValue factor {1.0};
89 static constexpr uint8_t numberOfDecimals {0};
90 static constexpr std::string measurementUnit {"NoUnit"};
91 static constexpr std::string analogSensorType {"Current"};
92 static constexpr iv::types::channelValue sensorHigh {1};
93 static constexpr iv::types::channelValue sensorLow {0};
94
96 {
97 static constexpr bool instrumentFailureHigh {false};
98 static constexpr bool instrumentFailureLow {false};
102 static constexpr iv::channels::AnalogAlarmLimit lowAlarmLimit {false, 20};
103 static constexpr iv::channels::AnalogAlarmLimit highAlarmLimit {false, 80};
105 };
106 };
107};
108
109}// namespace iv::channels
110
111#endif//IV_SRC_CHANNELS_ANALOGCHANNEL_HPP_
Definition AbstractChannel.hpp:24
Definition AnalogChannel.hpp:11
iv::eMeasurementUnit m_measurementUnit
Definition AnalogChannel.hpp:43
iv::types::channelValue m_offset
Definition AnalogChannel.hpp:40
iv::types::channelValue & deadBand()
Definition AnalogChannel.cpp:173
uint8_t & numberOfDecimals()
Definition AnalogChannel.cpp:188
iv::channels::eAnalogSensorType & analogSensorType()
Definition AnalogChannel.cpp:198
std::string getEngineeringUnitsStr() const override
Definition AnalogChannel.cpp:213
iv::types::channelValue m_sensorLow
Definition AnalogChannel.hpp:46
iv::channels::AnalogAlarmLimits & alarmLimits()
Definition AnalogChannel.cpp:168
iv::types::channelValue m_factor
Definition AnalogChannel.hpp:41
iv::types::channelValue & sensorHigh()
Definition AnalogChannel.cpp:203
iv::types::channelValue m_deadBand
Definition AnalogChannel.hpp:39
iv::channels::AnalogAlarmLimits m_alarmLimits
Definition AnalogChannel.hpp:38
void update(AbstractChannel &other) override
Definition AnalogChannel.cpp:279
bool save(iv::file::xml::node &nodeChannel) const override
Definition AnalogChannel.cpp:115
bool load(const iv::file::xml::node &nodeChannel) override
Definition AnalogChannel.cpp:45
iv::types::channelValue & sensorLow()
Definition AnalogChannel.cpp:208
iv::types::channelValue & factor()
Definition AnalogChannel.cpp:183
iv::eMeasurementUnit & measurementUnit()
Definition AnalogChannel.cpp:193
~AnalogChannel() override=default
iv::types::channelValue m_sensorHigh
Definition AnalogChannel.hpp:45
iv::channels::FormattedValue formattedValue() const override
Definition AnalogChannel.cpp:244
std::string formatValue() const override
Definition AnalogChannel.cpp:218
std::string analogStrValue() const
Definition AnalogChannel.cpp:153
iv::types::channelValue & offset()
Definition AnalogChannel.cpp:178
friend class iv::channels::controller::AnalogChannel
Definition AnalogChannel.hpp:12
uint8_t m_numberOfDecimals
Definition AnalogChannel.hpp:42
iv::channels::eAnalogSensorType m_analogSensorType
Definition AnalogChannel.hpp:44
Definition AnalogChannel.hpp:10
Definition xmlFile.hpp:15
Definition AlarmsManager.hpp:17
eAnalogSensorType
Definition enums.hpp:17
double channelValue
Definition types.hpp:67
eMeasurementUnit
Definition enums.hpp:103
Definition structs.hpp:27
Definition structs.hpp:33
static constexpr iv::channels::AnalogAlarmLimit lowAlarmLimit
Definition AnalogChannel.hpp:102
static constexpr iv::channels::AnalogAlarmLimit highHighAlarmLimit
Definition AnalogChannel.hpp:104
static constexpr iv::types::channelValue lowEngineeringLimit
Definition AnalogChannel.hpp:99
static constexpr iv::types::channelValue highEngineeringLimit
Definition AnalogChannel.hpp:100
static constexpr bool instrumentFailureHigh
Definition AnalogChannel.hpp:97
static constexpr iv::channels::AnalogAlarmLimit highAlarmLimit
Definition AnalogChannel.hpp:103
static constexpr bool instrumentFailureLow
Definition AnalogChannel.hpp:98
static constexpr iv::channels::AnalogAlarmLimit lowLowAlarmLimit
Definition AnalogChannel.hpp:101
Definition AnalogChannel.hpp:84
static constexpr iv::types::channelValue sensorHigh
Definition AnalogChannel.hpp:92
static constexpr std::string analogSensorType
Definition AnalogChannel.hpp:91
static constexpr iv::types::channelValue sensorLow
Definition AnalogChannel.hpp:93
static constexpr iv::types::channelValue offset
Definition AnalogChannel.hpp:87
static constexpr uint8_t numberOfDecimals
Definition AnalogChannel.hpp:89
static constexpr iv::types::channelValue deadBand
Definition AnalogChannel.hpp:86
static constexpr std::string measurementUnit
Definition AnalogChannel.hpp:90
static constexpr iv::types::channelValue factor
Definition AnalogChannel.hpp:88
static constexpr std::string_view instrumentFailureHigh
Definition AnalogChannel.hpp:66
static constexpr std::string_view lowEngineeringLimit
Definition AnalogChannel.hpp:68
static constexpr std::string_view highEngineeringLimit
Definition AnalogChannel.hpp:69
static constexpr std::string_view instrumentFailureLow
Definition AnalogChannel.hpp:67
static constexpr std::string_view hasLimit
Definition AnalogChannel.hpp:70
static constexpr std::string_view limit
Definition AnalogChannel.hpp:71
Definition AnalogChannel.hpp:53
static constexpr std::string_view factor
Definition AnalogChannel.hpp:57
static constexpr std::string_view measurementUnit
Definition AnalogChannel.hpp:59
static constexpr std::string_view deadBand
Definition AnalogChannel.hpp:55
static constexpr std::string_view numberOfDecimals
Definition AnalogChannel.hpp:58
static constexpr std::string_view sensorLow
Definition AnalogChannel.hpp:62
static constexpr std::string_view analogSensorType
Definition AnalogChannel.hpp:60
static constexpr std::string_view sensorHigh
Definition AnalogChannel.hpp:61
static constexpr std::string_view alarmLimits
Definition AnalogChannel.hpp:54
static constexpr std::string_view offset
Definition AnalogChannel.hpp:56
Definition AnalogChannel.hpp:75
static constexpr std::string_view analogAlarmSettingsLLAL
Definition AnalogChannel.hpp:78
static constexpr std::string_view analogAlarmSettingsHHAL
Definition AnalogChannel.hpp:81
static constexpr std::string_view analogAlarmLimits
Definition AnalogChannel.hpp:77
static constexpr std::string_view analogAttributes
Definition AnalogChannel.hpp:76
static constexpr std::string_view analogAlarmSettingsLAL
Definition AnalogChannel.hpp:79
static constexpr std::string_view analogAlarmSettingsHAL
Definition AnalogChannel.hpp:80
Definition structs.hpp:21