Gateway C ABI
Loading...
Searching...
No Matches
datapoint_value.h
Go to the documentation of this file.
1#ifndef GC_DATAPOINT_VALUE_H
2#define GC_DATAPOINT_VALUE_H
3#include <stdbool.h>
4#include <stdint.h>
5
6typedef uint64_t GCDatapointIdentifier;
7typedef uint16_t GCDatapointValueQuality;
8
10enum eGCDatapointValueQuality
11{
12 GC_DATAPOINT_QUALITY_GOOD = 0x0,
13 GC_DATAPOINT_QUALITY_INVALID = 0x2,
14 GC_DATAPOINT_QUALITY_RESERVED = 0x1,
15 GC_DATAPOINT_QUALITY_QUESTIONABLE = 0x3,
16
17 GC_DATAPOINT_QUALITY_FIRST_TWO_BITS_MASK = 0x3,
18
19 GC_DATAPOINT_QUALITY_OVERFLOW = 0x4,
20 GC_DATAPOINT_QUALITY_OUT_OF_RANGE = 0x8,
21 GC_DATAPOINT_QUALITY_BAD_REFERENCE = 0x10,
22 GC_DATAPOINT_QUALITY_OSCILLATORY = 0x20,
23 GC_DATAPOINT_QUALITY_FAILURE = 0x40,
24 GC_DATAPOINT_QUALITY_OLD_DATA = 0x80,
25 GC_DATAPOINT_QUALITY_INCONSISTENT = 0x100,
26 GC_DATAPOINT_QUALITY_INACCURATE = 0x200,
27 GC_DATAPOINT_QUALITY_SOURCE = 0x400,
28 GC_DATAPOINT_QUALITY_TEST = 0x800,
29 GC_DATAPOINT_QUALITY_OPERATOR_BLOCKED = 0x1000,
30};
32
50
57{
65
69 union {
70 uint64_t timestampNs;
71 uint64_t u64;
72 uint32_t u32;
73 int64_t i64;
74 int32_t i32;
75 float f32;
76 double f64;
77 uint8_t dp;
78 bool b;
80
88
97
101 uint64_t timestamp;
102};
104
106
113void
115
117
125void
127
129
136void
138
140
143void
145
147
150void
152
154
157void
159
161
164void
166
168
171void
173
175
178void
180
182
185void
187
189
192void
194
196
199void
201
203
206void
208
210
213void
215
217
220bool
222
224
227bool
229
231
234bool
236
238
241bool
243
245
248bool
250
252
255bool
257
259
262bool
264
266
269bool
271
273
276bool
278
280
283bool
285
287
290bool
292
294
297bool
299
301
304bool
306
308
311bool
313
314#endif // GC_DATAPOINT_VALUE_H
bool GCDatapointValue_isQualityInconsistent(GCDatapointValue value)
Check if the quality of a datapoint value is inconsistent.
void GCDatapointValue_setQualitySourceProcessing(GCDatapointValue value)
Set the bit flag quality of a datapoint value to source processing.
void GCDatapointValue_setQualityOscillatory(GCDatapointValue value)
Set the bit flag quality of a datapoint value to oscillatory.
uint64_t GCDatapointIdentifier
Definition datapoint_value.h:6
bool GCDatapointValue_isQualityOperatorBlocked(GCDatapointValue value)
Check if the quality of a datapoint value is operator blocked.
void GCDatapointValue_setQualityOverflow(GCDatapointValue value)
Set the bit flag quality of a datapoint value to overflow.
eGCDatapointValueType
The type of the datapoint value.
Definition datapoint_value.h:37
@ GCOS_DATAPOINT_TYPE_UINT64
Definition datapoint_value.h:44
@ GCOS_DATAPOINT_TYPE_BOOLEAN
Definition datapoint_value.h:42
@ GCOS_DATAPOINT_TYPE_INT64
Definition datapoint_value.h:41
@ GCOS_DATAPOINT_TYPE_TIMESTAMPNS
Definition datapoint_value.h:46
@ GCOS_DATAPOINT_TYPE_UINT32
Definition datapoint_value.h:43
@ GCOS_DATAPOINT_TYPE_FLOAT64
Definition datapoint_value.h:39
@ GCOS_DATAPOINT_TYPE_DOUBLEPOINT
Definition datapoint_value.h:45
@ GCOS_DATAPOINT_TYPE_INT32
Definition datapoint_value.h:40
@ GCOS_DATAPOINT_TYPE_FLOAT32
Definition datapoint_value.h:38
@ GCOS_DATAPOINT_TYPE_BYTE_ARRAY
Definition datapoint_value.h:47
void GCDatapointValue_setQualityBadReference(GCDatapointValue value)
Set the bit flag quality of a datapoint value to bad reference.
void GCDatapointValue_setQualityOperatorBlocked(GCDatapointValue value)
Set the bit flag quality of a datapoint value to operator blocked.
bool GCDatapointValue_isQualityOutOfRange(GCDatapointValue value)
Check if the quality of a datapoint value is out of range.
void GCDatapointValue_setQualityInconsistent(GCDatapointValue value)
Set the bit flag quality of a datapoint value to inconsistent.
bool GCDatapointValue_isQualitySourceProcessing(GCDatapointValue value)
Check if the quality of a datapoint value is source processing.
void GCDatapointValue_setQualityOutOfRange(GCDatapointValue value)
Set the bit flag quality of a datapoint value to out of range.
void GCDatapointValue_setQualityQuestionable(GCDatapointValue value)
Set the quality of a datapoint value to questionable.
bool GCDatapointValue_isQualityOscillatory(GCDatapointValue value)
Check if the quality of a datapoint value is oscillatory.
uint16_t GCDatapointValueQuality
Definition datapoint_value.h:7
void GCDatapointValue_setQualityGood(GCDatapointValue value)
Set the quality of a datapoint value to good.
bool GCDatapointValue_isQualityFailure(GCDatapointValue value)
Check if the quality of a datapoint value is failure.
void GCDatapointValue_setQualityOldData(GCDatapointValue value)
Set the bit flag quality of a datapoint value to old data.
void GCDatapointValue_setQualityInaccurate(GCDatapointValue value)
Set the bit flag quality of a datapoint value to inaccurate.
void GCDatapointValue_setQualityFailure(GCDatapointValue value)
Set the bit flag quality of a datapoint value to failure.
struct sGCDatapointValue * GCDatapointValue
Definition datapoint_value.h:103
enum eGCDatapointValueType GCDatapointValueType
Definition datapoint_value.h:49
bool GCDatapointValue_isQualityInvalid(GCDatapointValue value)
Check if the quality of a datapoint value is invalid.
bool GCDatapointValue_isQualityTest(GCDatapointValue value)
Check if the quality of a datapoint value is test.
bool GCDatapointValue_isQualityQuestionable(GCDatapointValue value)
Check if the quality of a datapoint value is questionable.
bool GCDatapointValue_isQualityBadReference(GCDatapointValue value)
Check if the quality of a datapoint value is bad reference.
bool GCDatapointValue_isQualityOverflow(GCDatapointValue value)
Check if the quality of a datapoint value is overflow.
void GCDatapointValue_setQualityInvalid(GCDatapointValue value)
Set the quality of a datapoint value to invalid.
void GCDatapointValue_setQualityTest(GCDatapointValue value)
Set the bit flag quality of a datapoint value to test.
bool GCDatapointValue_isQualityOldData(GCDatapointValue value)
Check if the quality of a datapoint value is old data.
bool GCDatapointValue_isQualityInaccurate(GCDatapointValue value)
Check if the quality of a datapoint value is inaccurate.
bool GCDatapointValue_isQualityGood(GCDatapointValue value)
Check if the quality of a datapoint value is good.
The value of a datapoint.
Definition datapoint_value.h:57
bool b
Definition datapoint_value.h:78
GCDatapointIdentifier datapoint_id
The identifier for the datapoint.
Definition datapoint_value.h:87
int64_t i64
Definition datapoint_value.h:73
uint64_t u64
Definition datapoint_value.h:71
uint64_t timestamp
The timestamp when the value was generated in nanoseconds since the Unix epoch.
Definition datapoint_value.h:101
uint32_t u32
Definition datapoint_value.h:72
uint8_t dp
Definition datapoint_value.h:77
int32_t i32
Definition datapoint_value.h:74
double f64
Definition datapoint_value.h:76
uint64_t timestampNs
Definition datapoint_value.h:70
union sGCDatapointValue::@0 value
The value of the datapoint.
GCDatapointValueQuality quality
Represents the quality of the datapoint value.
Definition datapoint_value.h:96
float f32
Definition datapoint_value.h:75
GCDatapointValueType type
The type of the datapoint value This type depends on the datapoint's value field.
Definition datapoint_value.h:64