25 #ifndef LIBIEC61850_SRC_SAMPLED_VALUES_SV_PUBLISHER_H_ 26 #define LIBIEC61850_SRC_SAMPLED_VALUES_SV_PUBLISHER_H_ 28 #include "libiec61850_platform_includes.h" 35 #ifndef GOOSE_SV_COMM_PARAMETERS 36 #define GOOSE_SV_COMM_PARAMETERS 38 typedef struct sCommParameters {
42 uint8_t dstAddress[6];
52 #define IEC61850_SV_SMPSYNC_NOT_SYNCHRONIZED 0 53 #define IEC61850_SV_SMPSYNC_SYNCED_UNSPEC_LOCAL_CLOCK 1 54 #define IEC61850_SV_SMPSYNC_SYNCED_GLOBAL_CLOCK 2 56 #define IEC61850_SV_SMPMOD_PER_NOMINAL_PERIOD 0 57 #define IEC61850_SV_SMPMOD_SAMPLES_PER_SECOND 1 58 #define IEC61850_SV_SMPMOD_SECONDS_PER_SAMPLE 2 89 SVPublisher_addASDU(SVPublisher
self,
const char* svID,
const char* datset, uint32_t confRev);
332 #if defined(__GNUC__) || defined(__clang__) 333 #define DEPRECATED __attribute__((deprecated)) DEPRECATED void SV_ASDU_setRefrTm(SVPublisher_ASDU self, uint64_t refrTm)
DEPRECATED void SV_ASDU_setINT32(SVPublisher_ASDU self, int index, int32_t value)
struct sSVPublisher_ASDU * SVPublisher_ASDU
An opaque type representing an IEC 61850-9-2 Sampled Values Application Service Data Unit (ASDU)...
Definition: sv_publisher.h:68
struct sSVPublisher * SampledValuesPublisher
Definition: sv_publisher.h:346
void SVPublisher_ASDU_setINT8(SVPublisher_ASDU self, int index, int8_t value)
Set the value of a 8-bit integer in the ASDU.
DEPRECATED uint16_t SV_ASDU_getSmpCnt(SVPublisher_ASDU self)
SVPublisher_ASDU SVPublisher_addASDU(SVPublisher self, const char *svID, const char *datset, uint32_t confRev)
Create an Application Service Data Unit (ASDU) and add it to an existing Sampled Values publisher...
void DEPRECATED SV_ASDU_setSmpCnt(SVPublisher_ASDU self, uint16_t value)
uint16_t Quality
Definition: iec61850_common.h:266
DEPRECATED int SV_ASDU_addINT32(SVPublisher_ASDU self)
void SVPublisher_ASDU_setFLOAT(SVPublisher_ASDU self, int index, float value)
Set the value of a single precision floating point number in the ASDU.
uint16_t SVPublisher_ASDU_getSmpCnt(SVPublisher_ASDU self)
Get the sample count attribute of the ASDU.
void SVPublisher_publish(SVPublisher self)
Publish all registered ASDUs.
void SVPublisher_ASDU_resetBuffer(SVPublisher_ASDU self)
Reset the internal data buffer of an ASDU.
int SVPublisher_ASDU_addFLOAT(SVPublisher_ASDU self)
Reserve memory for a single precision floating point number in the ASDU.
DEPRECATED void SV_ASDU_increaseSmpCnt(SVPublisher_ASDU self)
void SVPublisher_ASDU_setSmpMod(SVPublisher_ASDU self, uint8_t smpMod)
Set the sample mode attribute of the ASDU.
int SVPublisher_ASDU_addFLOAT64(SVPublisher_ASDU self)
Reserve memory for a double precision floating point number in the ASDU.
Definition: iec61850_common.h:352
SVPublisher SVPublisher_create(CommParameters *parameters, const char *interfaceId)
Create a new IEC61850-9-2 Sampled Values publisher.
#define DEPRECATED
Definition: sv_publisher.h:335
DEPRECATED int SV_ASDU_addINT8(SVPublisher_ASDU self)
int SVPublisher_ASDU_addINT64(SVPublisher_ASDU self)
Reserve memory for a signed 64-bit integer in the ASDU.
DEPRECATED void SV_ASDU_setFLOAT(SVPublisher_ASDU self, int index, float value)
struct sSVPublisher * SVPublisher
An opaque type representing an IEC 61850-9-2 Sampled Values publisher.
Definition: sv_publisher.h:63
DEPRECATED void SV_ASDU_setSmpRate(SVPublisher_ASDU self, uint16_t smpRate)
void SVPublisher_setupComplete(SVPublisher self)
Prepare the publisher for publishing.
uint16_t appId
Definition: sv_publisher.h:41
DEPRECATED void SV_ASDU_resetBuffer(SVPublisher_ASDU self)
DEPRECATED int SV_ASDU_addFLOAT64(SVPublisher_ASDU self)
int SVPublisher_ASDU_addQuality(SVPublisher_ASDU self)
Reserve memory for a quality value in the ASDU.
void SVPublisher_ASDU_setSmpCnt(SVPublisher_ASDU self, uint16_t value)
Set the sample count attribute of the ASDU.
DEPRECATED int SV_ASDU_addINT64(SVPublisher_ASDU self)
void SVPublisher_ASDU_setQuality(SVPublisher_ASDU self, int index, Quality value)
Set the value of a quality attribute in the ASDU.
DEPRECATED void SampledValuesPublisher_setupComplete(SVPublisher self)
DEPRECATED int SV_ASDU_addFLOAT(SVPublisher_ASDU self)
DEPRECATED void SampledValuesPublisher_destroy(SVPublisher self)
DEPRECATED void SV_ASDU_setINT8(SVPublisher_ASDU self, int index, int8_t value)
int SVPublisher_ASDU_addINT8(SVPublisher_ASDU self)
Reserve memory for a signed 8-bit integer in the ASDU.
void SVPublisher_ASDU_setFLOAT64(SVPublisher_ASDU self, int index, double value)
Set the value of a double precision floating pointer number in the ASDU.
int SVPublisher_ASDU_addINT32(SVPublisher_ASDU self)
Reserve memory for a signed 32-bit integer in the ASDU.
struct sSV_ASDU * SV_ASDU
Definition: sv_publisher.h:348
void SVPublisher_ASDU_setINT32(SVPublisher_ASDU self, int index, int32_t value)
Set the value of a 32-bit integer in the ASDU.
DEPRECATED void SampledValuesPublisher_publish(SVPublisher self)
int SVPublisher_ASDU_addTimestamp(SVPublisher_ASDU self)
Reserve memory for a 64 bit time stamp in the ASDU.
void SVPublisher_destroy(SVPublisher self)
Destroy an IEC61850-9-2 Sampled Values instance.
uint8_t vlanPriority
Definition: sv_publisher.h:39
DEPRECATED void SV_ASDU_setFLOAT64(SVPublisher_ASDU self, int index, double value)
void SVPublisher_ASDU_setTimestamp(SVPublisher_ASDU self, int index, Timestamp value)
Set the value of a 64 bit time stamp in the ASDU.
void SVPublisher_ASDU_setSmpRate(SVPublisher_ASDU self, uint16_t smpRate)
Set the sample rate attribute of the ASDU.
Definition: sv_publisher.h:38
DEPRECATED SVPublisher_ASDU SampledValuesPublisher_addASDU(SVPublisher self, char *svID, char *datset, uint32_t confRev)
DEPRECATED void SV_ASDU_setINT64(SVPublisher_ASDU self, int index, int64_t value)
DEPRECATED SVPublisher SampledValuesPublisher_create(CommParameters *parameters, const char *interfaceId)
void SVPublisher_ASDU_increaseSmpCnt(SVPublisher_ASDU self)
Increment the sample count attribute of the ASDU.
void SVPublisher_ASDU_setRefrTm(SVPublisher_ASDU self, uint64_t refrTm)
Set the refresh time attribute of the ASDU.
uint16_t vlanId
Definition: sv_publisher.h:40
void SVPublisher_ASDU_setINT64(SVPublisher_ASDU self, int index, int64_t value)
Set the value of a 64-bit integer in the ASDU.
DEPRECATED void SV_ASDU_setSmpMod(SVPublisher_ASDU self, uint8_t smpMod)