24 #ifndef IEC61850_COMMON_H_ 25 #define IEC61850_COMMON_H_ 32 #include "libiec61850_common_api.h" 45 uint8_t dstAddress[6];
55 #define TRG_OPT_DATA_CHANGED 1 58 #define TRG_OPT_QUALITY_CHANGED 2 61 #define TRG_OPT_DATA_UPDATE 4 64 #define TRG_OPT_INTEGRITY 8 77 #define RPT_OPT_SEQ_NUM 1 80 #define RPT_OPT_TIME_STAMP 2 83 #define RPT_OPT_REASON_FOR_INCLUSION 4 86 #define RPT_OPT_DATA_SET 8 89 #define RPT_OPT_DATA_REFERENCE 16 92 #define RPT_OPT_BUFFER_OVERFLOW 32 95 #define RPT_OPT_ENTRY_ID 64 98 #define RPT_OPT_CONF_REV 128 108 #define CONTROL_ORCAT_NOT_SUPPORTED 0 111 #define CONTROL_ORCAT_BAY_CONTROL 1 114 #define CONTROL_ORCAT_STATION_CONTROL 2 117 #define CONTROL_ORCAT_REMOTE_CONTROL 3 120 #define CONTROL_ORCAT_AUTOMATIC_BAY 4 123 #define CONTROL_ORCAT_AUTOMATIC_STATION 5 126 #define CONTROL_ORCAT_AUTOMATIC_REMOTE 6 129 #define CONTROL_ORCAT_MAINTENANCE 7 132 #define CONTROL_ORCAT_PROCESS 8 182 #if (CONFIG_PROVIDE_OLD_FC_DEFINES == 1) 183 #define ST IEC61850_FC_ST 184 #define MX IEC61850_FC_MX 185 #define SP IEC61850_FC_SP 186 #define SV IEC61850_FC_SV 187 #define CF IEC61850_FC_CF 188 #define DC IEC61850_FC_DC 189 #define SG IEC61850_FC_SG 190 #define SE IEC61850_FC_SE 191 #define SR IEC61850_FC_SR 192 #define OR IEC61850_FC_OR 193 #define BL IEC61850_FC_BL 194 #define EX IEC61850_FC_EX 195 #define CO IEC61850_FC_CO 196 #define ALL IEC61850_FC_ALL 197 #define NONE IEC61850_FC_NONE 202 typedef enum eFunctionalConstraint {
269 #define QUALITY_VALIDITY_GOOD 0 270 #define QUALITY_VALIDITY_INVALID 2 271 #define QUALITY_VALIDITY_RESERVED 1 272 #define QUALITY_VALIDITY_QUESTIONABLE 3 274 #define QUALITY_DETAIL_OVERFLOW 4 275 #define QUALITY_DETAIL_OUT_OF_RANGE 8 276 #define QUALITY_DETAIL_BAD_REFERENCE 16 277 #define QUALITY_DETAIL_OSCILLATORY 32 278 #define QUALITY_DETAIL_FAILURE 64 279 #define QUALITY_DETAIL_OLD_DATA 128 280 #define QUALITY_DETAIL_INCONSISTENT 256 281 #define QUALITY_DETAIL_INACCURATE 512 283 #define QUALITY_SOURCE_SUBSTITUTED 1024 285 #define QUALITY_TEST 2048 287 #define QUALITY_OPERATOR_BLOCKED 4096 Definition: iec61850_common.h:155
Definition: iec61850_common.h:154
Definition: iec61850_common.h:158
Definition: iec61850_common.h:226
Definition: iec61850_common.h:230
uint64_t Timestamp_getTimeInMs(Timestamp *self)
void Timestamp_setTimeInSeconds(Timestamp *self, uint32_t secondsSinceEpoch)
Definition: iec61850_common.h:167
FunctionalConstraint FunctionalConstraint_fromString(const char *fcString)
parse a string treated as a functional constraint representation
Definition: iec61850_common.h:218
Definition: iec61850_common.h:41
uint16_t Quality
Definition: iec61850_common.h:266
Definition: iec61850_common.h:145
int Timestamp_getSubsecondPrecision(Timestamp *self)
void Timestamp_setClockFailure(Timestamp *self, bool value)
Definition: iec61850_common.h:214
Definition: iec61850_common.h:232
Timestamp * Timestamp_createFromByteArray(uint8_t *byteArray)
Definition: iec61850_common.h:208
Definition: iec61850_common.h:319
Dbpos Dbpos_fromMmsValue(const MmsValue *mmsValue)
convert MMS bit string to Dbpos enumeration type
Definition: iec61850_common.h:153
Definition: iec61850_common.h:316
bool Quality_isFlagSet(Quality *self, int flag)
Definition: iec61850_common.h:238
Definition: iec61850_common.h:144
Definition: iec61850_common.h:210
uint16_t appId
Definition: iec61850_common.h:44
Definition: iec61850_common.h:206
Definition: iec61850_common.h:162
Definition: iec61850_common.h:165
ControlAddCause
Definition: iec61850_common.h:143
Validity Quality_getValidity(Quality *self)
Definition: iec61850_common.h:166
Definition: iec61850_common.h:169
MmsValue * Dbpos_toMmsValue(MmsValue *mmsValue, Dbpos dbpos)
conver Dbpos to MMS bit string
void Timestamp_setSubsecondPrecision(Timestamp *self, int subsecondPrecision)
Set the subsecond precision value of the time stamp.
Definition: iec61850_common.h:352
Definition: iec61850_common.h:157
Definition: iec61850_common.h:204
Definition: iec61850_common.h:170
void Timestamp_clearFlags(Timestamp *self)
Definition: iec61850_common.h:164
Definition: iec61850_common.h:222
Definition: iec61850_common.h:147
void Quality_unsetFlag(Quality *self, int flag)
uint16_t vlanId
Definition: iec61850_common.h:43
Definition: iec61850_common.h:148
Definition: iec61850_common.h:171
void Timestamp_destroy(Timestamp *self)
Definition: iec61850_common.h:146
Timestamp * Timestamp_create(void)
Definition: iec61850_common.h:156
Definition: iec61850_common.h:212
uint32_t Timestamp_getTimeInSeconds(Timestamp *self)
Definition: iec61850_common.h:168
Definition: iec61850_common.h:241
uint8_t vlanPriority
Definition: iec61850_common.h:42
Definition: iec61850_common.h:161
void Timestamp_setTimeInMilliseconds(Timestamp *self, uint64_t millisSinceEpoch)
Definition: iec61850_common.h:228
void Timestamp_setClockNotSynchronized(Timestamp *self, bool value)
void Timestamp_setLeapSecondKnown(Timestamp *self, bool value)
Definition: iec61850_common.h:163
Definition: iec61850_common.h:234
Definition: iec61850_common.h:224
bool Timestamp_isLeapSecondKnown(Timestamp *self)
Definition: iec61850_common.h:216
MmsValue * Timestamp_toMmsValue(Timestamp *self, MmsValue *mmsValue)
Set an MmsValue instance of type UTCTime to the timestamp value.
Definition: iec61850_common.h:160
Definition: iec61850_common.h:317
void Quality_setFlag(Quality *self, int flag)
Definition: iec61850_common.h:242
Quality Quality_fromMmsValue(const MmsValue *mmsValue)
char * FunctionalConstraint_toString(FunctionalConstraint fc)
convert a function constraint to a static string
char * LibIEC61850_getVersionString(void)
Get the version of the library as string.
Definition: iec61850_common.h:149
Dbpos
Definition: iec61850_common.h:315
bool Timestamp_hasClockFailure(Timestamp *self)
void Timestamp_setByMmsUtcTime(Timestamp *self, MmsValue *mmsValue)
Definition: iec61850_common.h:318
Definition: iec61850_common.h:236
uint16_t Validity
Definition: iec61850_common.h:267
void Quality_setValidity(Quality *self, Validity validity)
Definition: iec61850_common.h:220
FunctionalConstraint
Definition: iec61850_common.h:202
Definition: iec61850_common.h:159
Definition: iec61850_common.h:151
bool Timestamp_isClockNotSynchronized(Timestamp *self)
Definition: iec61850_common.h:150
struct sMmsValue MmsValue
Definition: mms_value.h:68
Definition: iec61850_common.h:152