Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CEnumParameter.hpp
Go to the documentation of this file.
1#ifndef LIBS_CHANNELS_CENUMPARAMETER_HPP_
2#define LIBS_CHANNELS_CENUMPARAMETER_HPP_
3
5#include "diamar/Cabinets.hpp"
6#include "diamar/Groups.hpp"
7#include "diamar/Station.hpp"
8#include "tanks/Tank.hpp"
10
12{
13public:
14 //------------- enums and methods related to channels ---------------
15
16 // NOTE: UnitId is not part of a channel in the data model, but it's useful having it as part as EParameterChannel
17 // to add it in AbstractSheetModel where it's used.
19 {
20 // COMMON (AbstractChannel)
21 Order, // AbstractChannel::m_channelOrder
22 Enable, // AbstractChannel::m_isEnabled
23 BaseType, // AbstractChannel::m_baseType
24 Type, // AbstractChannel::m_specificType
25 Tag, // AbstractChannel::m_tag
26 ShipyardTag, // AbstractChannel::m_shipyardTag
27 InfoDescriptions,// AbstractChannel::m_info.descriptions
28 Area, // AbstractChannel::m_area
29 DeInitTimeout, // AbstractChannel::m_deInitTimeout
30
31 // ALARM PARAMETERS (ChannelAlarmParameters)
32 AlarmGroupId, // AbstractChannel::m_alarmParameters.group
33 AlarmEnable, // AbstractChannel::m_alarmParameters.alarmEnabled
34 AlarmOffScan, // AbstractChannel::m_alarmParameters.offScan
35 AlarmPriority, // AbstractChannel::m_alarmParameters.alarmPriority
36 AlarmActivationDelay, // AbstractChannel::m_alarmParameters.activationDelay
37 AlarmDeactivationDelay, // AbstractChannel::m_alarmParameters.deactivationDelay
38 AlarmInhibitionTag, // AbstractChannel::m_alarmParameters.inhibitionChannelTag
39 AlarmInhibitionCondition,// AbstractChannel::m_alarmParameters.inhibitionCondition
40
41 //DIGITAL
42 DigitalInverted, // DigitalChannel::m_inverted
43 DigitalAlarmLimit,// DigitalChannel::m_alarmLimit
44 DigitalDelayOn, // DigitalChannel::m_onDelay
45 DigitalDelayOff, // DigitalChannel::m_offDelay
46
47 //ANALOG
48 AnalogDeadBand, // AnalogChannel::m_deadBand
49 AnalogOffset, // AnalogChannel::m_offset
50 AnalogFactor, // AnalogChannel::m_factor
51 AnalogNumDecimals, // AnalogChannel::m_numDecimals
52 AnalogMeasurementUnit,// AnalogChannel::m_measurementUnit
53 AnalogSensorType, // AnalogChannel::m_analogSensorType
54 AnalogSensorLow, // AnalogChannel::m_sensorLow
55 AnalogSensorHigh, // AnalogChannel::m_sensorHigh
56
57 // ANALOG (ALARM - AnalogAlarmLimits)
58 AnalogAlarmIfl, // AnalogChannel::m_alarmLimits.hasInstrumentFailureLow
59 AnalogAlarmIfh, // AnalogChannel::m_alarmLimits.hasInstrumentFailureHigh
60 AnalogAlarmLEL, // AnalogChannel::m_alarmLimits.lowEngineeringLimit
61 AnalogAlarmHEL, // AnalogChannel::m_alarmLimits.highEngineeringLimit
62 AnalogAlarmLLALEnable,// AnalogChannel::m_alarmLimits.lowLowAlarmLimit.hasLimit
63 AnalogAlarmLLAL, // AnalogChannel::m_alarmLimits.lowLowAlarmLimit.limitValue
64 AnalogAlarmLALEnable, // AnalogChannel::m_alarmLimits.lowAlarmLimit.hasLimit
65 AnalogAlarmLAL, // AnalogChannel::m_alarmLimits.lowAlarmLimit.limitValue
66 AnalogAlarmHALEnable, // AnalogChannel::m_alarmLimits.highAlarmLimit.hasLimit
67 AnalogAlarmHAL, // AnalogChannel::m_alarmLimits.highAlarmLimit.limitValue
68 AnalogAlarmHHALEnable,// AnalogChannel::m_alarmLimits.highHighAlarmLimit.hasLimit
69 AnalogAlarmHHAL, // AnalogChannel::m_alarmLimits.highHighAlarmLimit.limitValue
70
71 // MISC (ChannelInfo)
72 FunctionCode,// AbstractChannel::m_info.functionCode
73 Equipment, // AbstractChannel::m_info.equipment
74 System, // AbstractChannel::m_info.system
75
76 UnitId
77 };
78
79 static std::string getEParameterChannelName(EParameterChannel param, bool shortName = true);
84
85 // static methods returning the names of their enumerated value to be shown in the GUI
86 // (and vice versa in the case of the verification status)
87 static std::string getChannelAreaName(iv::channels::eChannelArea area, bool shortName = true);
88 static std::string getChannelSpecificTypeName(iv::channels::eChannelSpecificType type, bool shortName = true);
89 static std::string getAlarmPriorityName(iv::alarms::eAlarmPriority priority, bool shortName = true);
90 static std::string getDAlarmLimitName(iv::eDigitalValue dAlarmLimit, bool shortName = true);
91 static std::string getEngineeringUnitsName(iv::eMeasurementUnit engUnits, bool shortName = true);
92 static std::string getInhibitionConditionName(iv::channels::eInhibitionCondition inhibitionCondition,
93 bool shortName = true);
94 static std::string getSLModbusTypeName(iv::comms::modbus::eFunctionCode slModbusType, bool shortName = true);
95 static std::string getSLDataCodificationName(iv::eEndianType slDataCodification, bool shortName = true);
96 static std::string getSLDataTypeName(iv::eDataType slDataType, bool shortName = true);
97 static std::string getNmea0183FieldTypeName(iv::comms::nmea0183::eFieldType nmeaFieldType, bool shortName = true);
98 static std::string getWASensorTypeName(iv::channels::eAnalogSensorType waSensorType, bool shortName = true);
99 static std::string getVerificationStatusCSSName(iv::model::diamar::eVerificationStatus verificationStatus);
100 static iv::model::diamar::eVerificationStatus getVerificationStatus(const std::string &verificationStatusCSSName);
101
103 const std::shared_ptr<iv::channels::AbstractChannel> &channel,
104 bool &isParamValidOut);
105
106 static std::string getVerificationStatusTooltip(iv::model::diamar::eVerificationStatus verificationStatus);
107 static std::string getChannelAreaTooltip(iv::channels::eChannelArea area);
109 static std::string getAlarmPriorityTooltip(iv::alarms::eAlarmPriority priority);
110 static std::string getDAlarmLimitTooltip(iv::eDigitalValue dAlarmLimit);
111 static std::string getEngineeringUnitsTooltip(iv::eMeasurementUnit engUnits);
112 static std::string getInhibitionConditionTooltip(iv::channels::eInhibitionCondition inhibitionCondition);
113
114 static std::string getSLDataCodificationTooltip(iv::eEndianType slDataCodification);
115 static std::string getSLDataTypeTooltip(iv::eDataType slDataSigned);
116 static std::string getWASensorTypeTooltip(iv::channels::eAnalogSensorType waSensorType);
117 static std::string getNmea0183FieldTypeTooltip(iv::comms::nmea0183::eFieldType nmeaFieldType);
118 static std::string getChannelParameterTooltip(bool markupFormat,
119 const std::shared_ptr<iv::channels::AbstractChannel> &channel,
120 const std::shared_ptr<iv::units::Unit> &unit,
123 static std::string getTankContentTypeTooltip(iv::tanks::eTankContentsType tankContentType);
124
125 //------------- enums and methods related to channel's wired parameters ---------------
126
138
139 static std::string getEParameterChannelWiredName(EParameterChannelWired param, bool shortName = true);
140
141 // static methods returning the names of their enumerated value to be shown in the GUI
142 static std::string
143 getChannelWiredParameterValueAsString(const std::shared_ptr<iv::channels::AbstractChannel> &channel,
144 uint32_t rowPosition, EParameterChannelWired param);
145
146 static std::string getChannelWiredParameterTooltip(bool markupFormat,
147 const std::shared_ptr<iv::channels::AbstractChannel> &channel,
148 uint32_t rowPosition, EParameterChannelWired param);
149
150 //------------- enums and methods related to units ---------------
151
152 enum class EParameterUnit
153 {
154 UnitId,
157 Cabinet,
159 TypeDet,
161 FwVersion,
162 LogicName,
165 };
166
167 static std::string getEParameterUnitName(EParameterUnit param, bool shortName = true);
168 static uint16_t getEParameterUnitMaxChars(EParameterUnit param);
169
170 static std::string getUnitHeartbeatStateCssName(iv::comms::eHeartbeatState unitEditorState,
171 bool isNotInProjectUnit);
172
174 {
176 };
177 static std::string getUnitExtraStatesCssName(eUnitExtraStates unitExtraState, bool isNotInProjectUnit);
178
179 //------------- enums and methods related to units ---------------
180
181 enum class EParameterTank
182 {
183 TankName,
185 //TankGroup,
186 //NameContent,
187 Capacity,
188 // Thickness, -> Datos de Nereida
189 // Permeability, -> Datos de Nereida
190 // IsCargo, -> Datos de Nereida
192 Density,
193 First = TankName,
194 Last = Density,
195 };
196
197 static std::string getEParameterTankName(EParameterTank param, bool shortName = true);
198 static uint16_t getEParameterTankMaxChars(EParameterTank param);
199 static uint16_t getEParameterTankNumDecimals(EParameterTank param);
200 static std::string getTankParameterValueAsString(const std::weak_ptr<iv::tanks::Tank> &tank,
202
203 //------------- enums and methods related to cabinets ---------------
204
206 {
207 CabinetId,
209 Location,
211 };
212
213 static std::string getCabinetParameterName(EParameterCabinets param, bool shortName = true);
214 static uint16_t getCabinetParameterMaxChars(EParameterCabinets param);
215 static std::string getCabinetParameterValueAsString(const iv::model::diamar::Cabinet &cabinet,
217
218 //------------- enums and methods related to groups ---------------
219
221 {
222 GroupId,
223 IdForLOMs,
224 ShotName,
225 LongName,
227 };
228
230 bool shortName = true);
233 static std::string getGroupParameterValueAsString(const iv::model::diamar::Group &group,
235
236 //------------- enums and methods related to stations ---------------
237
251
252 static std::string getStationParameterName(CEnumParameter::EParameterStations param, bool shortName = true);
254 static std::string getStationParameterValueAsString(const std::shared_ptr<iv::diamar::Station> &station,
256
257 //------------- enums and methods related to units ---------------
258
260 {
262 Volume,
263 // XCG, -> Datos de Nereida
264 // YCG, -> Datos de Nereida
265 // ZCG, -> Datos de Nereida
266 // TransversalInertia, -> Datos de Nereida
268 Last = Volume,
269 };
270
271 static std::string getEParameterTankCalibrationDataName(EParameterTankCalibrationData param, bool shortName = true);
274 static std::string
275 getTankCalibrationDataParameterValueAsString(const std::shared_ptr<iv::tanks::SoundingData> &soundingData,
277
278 // static methods returning the names of their enumerated value to be shown in the GUI
279 static std::string getUnitTypeName(iv::units::eUnitType type, bool shortName = true, bool shorterName = false);
280
281 static std::string getUnitParameterValueAsString(const std::shared_ptr<iv::units::Unit> &unit,
283
284 static std::string getUnitTypeTooltip(iv::units::eUnitType type);
285 static std::string getUnitParameterTooltip(bool markupFormat, const std::shared_ptr<iv::units::Unit> &unit,
287
288 //------------- enums and methods related to watchcall nodes ---------------
290 {
291 NodeType,
292 Names,
293 Area,
294 isChief,
296 Comm,
297 };
298
299 static std::string getWatchcallNodeParameterName(EParameterWatchcallNodes param, bool shortName = true,
301 static std::string
302 getWatchcallNodeParameterValueAsString(const std::shared_ptr<iv::alarms::WatchcallNode> &watchcallNode,
306};
307
308#endif /* LIBS_CHANNELS_CENUMPARAMETER_HPP_ */
Definition CEnumParameter.hpp:12
static uint16_t getParameterChannelNumberDecimals(EParameterChannel param)
Definition CEnumParameter.cpp:326
static std::string getUnitParameterValueAsString(const std::shared_ptr< iv::units::Unit > &unit, CEnumParameter::EParameterUnit param)
Definition CEnumParameter.cpp:2231
static std::string getGroupParameterName(CEnumParameter::EParameterGroups param, iv::eLanguage language, bool shortName=true)
Definition CEnumParameter.cpp:1801
EParameterChannelWired
Definition CEnumParameter.hpp:128
static std::string getTankContentTypeTooltip(iv::tanks::eTankContentsType tankContentType)
Definition CEnumParameter.cpp:1319
static std::string getEParameterTankName(EParameterTank param, bool shortName=true)
Definition CEnumParameter.cpp:1566
EParameterWatchcallNodes
Definition CEnumParameter.hpp:290
EParameterUnit
Definition CEnumParameter.hpp:153
static std::string getWASensorTypeName(iv::channels::eAnalogSensorType waSensorType, bool shortName=true)
Definition CEnumParameter.cpp:736
static uint16_t getGroupParameterMaxChars(CEnumParameter::EParameterGroups param)
Definition CEnumParameter.cpp:1832
static std::string getUnitHeartbeatStateCssName(iv::comms::eHeartbeatState unitEditorState, bool isNotInProjectUnit)
Definition CEnumParameter.cpp:1530
static std::string getGroupParameterValueAsString(const iv::model::diamar::Group &group, CEnumParameter::EParameterGroups param, iv::eLanguage language)
Definition CEnumParameter.cpp:1885
static uint16_t getWatchcallParameterMaxChars(EParameterWatchcallNodes param)
Definition CEnumParameter.cpp:2443
static uint16_t getEParameterTankCalibrationDataNumDecimals(EParameterTankCalibrationData param)
Definition CEnumParameter.cpp:2115
static std::string getNmea0183FieldTypeName(iv::comms::nmea0183::eFieldType nmeaFieldType, bool shortName=true)
Definition CEnumParameter.cpp:697
static std::string getNmea0183FieldTypeTooltip(iv::comms::nmea0183::eFieldType nmeaFieldType)
Definition CEnumParameter.cpp:1257
static std::string getEParameterChannelWiredName(EParameterChannelWired param, bool shortName=true)
Definition CEnumParameter.cpp:1328
EParameterTank
Definition CEnumParameter.hpp:182
static std::string getChannelSpecificTypeTooltip(iv::channels::eChannelSpecificType type)
Definition CEnumParameter.cpp:1182
static uint16_t getEParameterTankMaxChars(EParameterTank param)
Definition CEnumParameter.cpp:1612
static bool isEParameterChannelText(EParameterChannel param)
Definition CEnumParameter.cpp:361
static std::string getSLDataCodificationTooltip(iv::eEndianType slDataCodification)
Definition CEnumParameter.cpp:1237
static std::string getTankCalibrationDataParameterValueAsString(const std::shared_ptr< iv::tanks::SoundingData > &soundingData, EParameterTankCalibrationData param)
Definition CEnumParameter.cpp:2138
static uint16_t getGroupParameterColumnWidth(CEnumParameter::EParameterGroups param)
Definition CEnumParameter.cpp:1857
static std::string getEngineeringUnitsName(iv::eMeasurementUnit engUnits, bool shortName=true)
Definition CEnumParameter.cpp:535
static uint16_t getStationParameterMaxChars(CEnumParameter::EParameterStations param)
Definition CEnumParameter.cpp:1968
static std::string getSLDataCodificationName(iv::eEndianType slDataCodification, bool shortName=true)
Definition CEnumParameter.cpp:616
static uint16_t getEParameterChannelMaxChars(EParameterChannel param)
Definition CEnumParameter.cpp:203
static std::string getChannelAreaTooltip(iv::channels::eChannelArea area)
Definition CEnumParameter.cpp:1164
static std::string getVerificationStatusCSSName(iv::model::diamar::eVerificationStatus verificationStatus)
Get the CSS name for the verification status.
Definition CEnumParameter.cpp:759
EParameterTankCalibrationData
Definition CEnumParameter.hpp:260
EParameterCabinets
Definition CEnumParameter.hpp:206
eUnitExtraStates
Definition CEnumParameter.hpp:174
static std::string getWatchcallNodeParameterName(EParameterWatchcallNodes param, bool shortName=true, iv::eLanguage language=iv::eLanguage::English)
Definition CEnumParameter.cpp:2329
static std::string getChannelParameterTooltip(bool markupFormat, const std::shared_ptr< iv::channels::AbstractChannel > &channel, const std::shared_ptr< iv::units::Unit > &unit, CEnumParameter::EParameterChannel param, iv::eLanguage language=iv::eLanguage::English)
Definition CEnumParameter.cpp:1279
static std::string getStationParameterName(CEnumParameter::EParameterStations param, bool shortName=true)
Definition CEnumParameter.cpp:1917
static std::string getChannelParameterValueAsString(CEnumParameter::EParameterChannel param, iv::eLanguage language, const std::shared_ptr< iv::channels::AbstractChannel > &channel, bool &isParamValidOut)
Definition CEnumParameter.cpp:1049
static iv::model::diamar::eVerificationStatus getVerificationStatus(const std::string &verificationStatusCSSName)
Definition CEnumParameter.cpp:783
static std::string getUnitTypeName(iv::units::eUnitType type, bool shortName=true, bool shorterName=false)
Definition CEnumParameter.cpp:2177
static uint16_t getEParameterTankCalibrationDataMaxChars(EParameterTankCalibrationData param)
Definition CEnumParameter.cpp:2093
static std::string getDAlarmLimitTooltip(iv::eDigitalValue dAlarmLimit)
Definition CEnumParameter.cpp:1204
EParameterGroups
Definition CEnumParameter.hpp:221
static std::string getVerificationStatusTooltip(iv::model::diamar::eVerificationStatus verificationStatus)
Definition CEnumParameter.cpp:1141
static std::string getChannelSpecificTypeName(iv::channels::eChannelSpecificType type, bool shortName=true)
Definition CEnumParameter.cpp:415
static std::string getDAlarmLimitName(iv::eDigitalValue dAlarmLimit, bool shortName=true)
Definition CEnumParameter.cpp:513
static std::string getTankParameterValueAsString(const std::weak_ptr< iv::tanks::Tank > &tank, CEnumParameter::EParameterTank param, iv::eLanguage language)
Definition CEnumParameter.cpp:1664
static std::string getAlarmPriorityTooltip(iv::alarms::eAlarmPriority priority)
Definition CEnumParameter.cpp:1193
static std::string getSLDataTypeName(iv::eDataType slDataType, bool shortName=true)
Definition CEnumParameter.cpp:647
static uint16_t getEParameterTankNumDecimals(EParameterTank param)
Definition CEnumParameter.cpp:1641
static std::string getInhibitionConditionTooltip(iv::channels::eInhibitionCondition inhibitionCondition)
Definition CEnumParameter.cpp:1226
static uint16_t getChannelParameterColumnWidth(CEnumParameter::EParameterChannel param)
Definition CEnumParameter.cpp:292
static std::string getUnitExtraStatesCssName(eUnitExtraStates unitExtraState, bool isNotInProjectUnit)
Definition CEnumParameter.cpp:1554
static std::string getEngineeringUnitsTooltip(iv::eMeasurementUnit engUnits)
Definition CEnumParameter.cpp:1215
static std::string getUnitTypeTooltip(iv::units::eUnitType type)
Definition CEnumParameter.cpp:2298
static std::string getCabinetParameterName(EParameterCabinets param, bool shortName=true)
Definition CEnumParameter.cpp:1715
static std::string getEParameterTankCalibrationDataName(EParameterTankCalibrationData param, bool shortName=true)
Definition CEnumParameter.cpp:2054
static std::string getAlarmPriorityName(iv::alarms::eAlarmPriority priority, bool shortName=true)
Definition CEnumParameter.cpp:486
static std::string getWatchcallNodeParameterValueAsString(const std::shared_ptr< iv::alarms::WatchcallNode > &watchcallNode, CEnumParameter::EParameterWatchcallNodes param, iv::eLanguage language=iv::eLanguage::English)
Definition CEnumParameter.cpp:2379
static uint16_t getEParameterUnitMaxChars(EParameterUnit param)
Definition CEnumParameter.cpp:1493
static std::string getInhibitionConditionName(iv::channels::eInhibitionCondition inhibitionCondition, bool shortName=true)
Definition CEnumParameter.cpp:554
static std::string getUnitParameterTooltip(bool markupFormat, const std::shared_ptr< iv::units::Unit > &unit, CEnumParameter::EParameterUnit param)
Definition CEnumParameter.cpp:2309
static std::string getCabinetParameterValueAsString(const iv::model::diamar::Cabinet &cabinet, CEnumParameter::EParameterCabinets param)
Definition CEnumParameter.cpp:1770
static std::string getSLModbusTypeName(iv::comms::modbus::eFunctionCode slModbusType, bool shortName=true)
Definition CEnumParameter.cpp:577
static std::string getChannelWiredParameterValueAsString(const std::shared_ptr< iv::channels::AbstractChannel > &channel, uint32_t rowPosition, EParameterChannelWired param)
Definition CEnumParameter.cpp:1368
static std::string getStationParameterValueAsString(const std::shared_ptr< iv::diamar::Station > &station, CEnumParameter::EParameterStations param)
Definition CEnumParameter.cpp:1998
static std::string getChannelAreaName(iv::channels::eChannelArea area, bool shortName=true)
Definition CEnumParameter.cpp:385
static std::string getSLDataTypeTooltip(iv::eDataType slDataSigned)
Definition CEnumParameter.cpp:1246
static uint16_t getCabinetParameterMaxChars(EParameterCabinets param)
Definition CEnumParameter.cpp:1746
static std::string getWASensorTypeTooltip(iv::channels::eAnalogSensorType waSensorType)
Definition CEnumParameter.cpp:1268
static std::string getEParameterUnitName(EParameterUnit param, bool shortName=true)
Definition CEnumParameter.cpp:1435
static std::string getEParameterChannelName(EParameterChannel param, bool shortName=true)
Definition CEnumParameter.cpp:13
EParameterChannel
Definition CEnumParameter.hpp:19
static std::string getChannelWiredParameterTooltip(bool markupFormat, const std::shared_ptr< iv::channels::AbstractChannel > &channel, uint32_t rowPosition, EParameterChannelWired param)
Definition CEnumParameter.cpp:1412
EParameterStations
Definition CEnumParameter.hpp:239
eAlarmPriority
Definition enums.hpp:13
eInhibitionCondition
Definition enums.hpp:11
eChannelSpecificType
Definition enums.hpp:72
eAnalogSensorType
Definition enums.hpp:17
eChannelArea
Definition enums.hpp:55
eFunctionCode
Definition enums.hpp:23
eFieldType
Definition enums.hpp:328
eHeartbeatState
Definition enums.hpp:297
eVerificationStatus
Definition enums.hpp:90
eTankContentsType
Definition enums.hpp:26
eUnitType
Definition enums.hpp:8
eDigitalValue
Definition enums.hpp:96
eLanguage
Definition enums.hpp:37
eEndianType
Definition enums.hpp:220
eMeasurementUnit
Definition enums.hpp:103
eDataType
Definition enums.hpp:207
Definition Cabinets.hpp:13
Definition Groups.hpp:17