libiec61850  1.2.0
Functions
Values Application Service Data Unit (ASDU)

Functions

void SVPublisher_ASDU_resetBuffer (SVPublisher_ASDU self)
 Reset the internal data buffer of an ASDU. More...
 
int SVPublisher_ASDU_addINT8 (SVPublisher_ASDU self)
 Reserve memory for a signed 8-bit integer in the ASDU. More...
 
void SVPublisher_ASDU_setINT8 (SVPublisher_ASDU self, int index, int8_t value)
 Set the value of a 8-bit integer in the ASDU. More...
 
int SVPublisher_ASDU_addINT32 (SVPublisher_ASDU self)
 Reserve memory for a signed 32-bit integer in the ASDU. More...
 
void SVPublisher_ASDU_setINT32 (SVPublisher_ASDU self, int index, int32_t value)
 Set the value of a 32-bit integer in the ASDU. More...
 
int SVPublisher_ASDU_addINT64 (SVPublisher_ASDU self)
 Reserve memory for a signed 64-bit integer in the ASDU. More...
 
void SVPublisher_ASDU_setINT64 (SVPublisher_ASDU self, int index, int64_t value)
 Set the value of a 64-bit integer in the ASDU. More...
 
int SVPublisher_ASDU_addFLOAT (SVPublisher_ASDU self)
 Reserve memory for a single precision floating point number in the ASDU. More...
 
void SVPublisher_ASDU_setFLOAT (SVPublisher_ASDU self, int index, float value)
 Set the value of a single precision floating point number in the ASDU. More...
 
int SVPublisher_ASDU_addFLOAT64 (SVPublisher_ASDU self)
 Reserve memory for a double precision floating point number in the ASDU. More...
 
void SVPublisher_ASDU_setFLOAT64 (SVPublisher_ASDU self, int index, double value)
 Set the value of a double precision floating pointer number in the ASDU. More...
 
int SVPublisher_ASDU_addTimestamp (SVPublisher_ASDU self)
 Reserve memory for a 64 bit time stamp in the ASDU. More...
 
void SVPublisher_ASDU_setTimestamp (SVPublisher_ASDU self, int index, Timestamp value)
 Set the value of a 64 bit time stamp in the ASDU. More...
 
int SVPublisher_ASDU_addQuality (SVPublisher_ASDU self)
 Reserve memory for a quality value in the ASDU. More...
 
void SVPublisher_ASDU_setQuality (SVPublisher_ASDU self, int index, Quality value)
 Set the value of a quality attribute in the ASDU. More...
 
void SVPublisher_ASDU_setSmpCnt (SVPublisher_ASDU self, uint16_t value)
 Set the sample count attribute of the ASDU. More...
 
uint16_t SVPublisher_ASDU_getSmpCnt (SVPublisher_ASDU self)
 Get the sample count attribute of the ASDU. More...
 
void SVPublisher_ASDU_increaseSmpCnt (SVPublisher_ASDU self)
 Increment the sample count attribute of the ASDU. More...
 
void SVPublisher_ASDU_setRefrTm (SVPublisher_ASDU self, uint64_t refrTm)
 Set the refresh time attribute of the ASDU. More...
 
void SVPublisher_ASDU_setSmpMod (SVPublisher_ASDU self, uint8_t smpMod)
 Set the sample mode attribute of the ASDU. More...
 
void SVPublisher_ASDU_setSmpRate (SVPublisher_ASDU self, uint16_t smpRate)
 Set the sample rate attribute of the ASDU. More...
 

Detailed Description

Function Documentation

int SVPublisher_ASDU_addFLOAT ( SVPublisher_ASDU  self)

Reserve memory for a single precision floating point number in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes of the new element within the ASDU data block.
int SVPublisher_ASDU_addFLOAT64 ( SVPublisher_ASDU  self)

Reserve memory for a double precision floating point number in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes of the new element within the ASDU data block.
int SVPublisher_ASDU_addINT32 ( SVPublisher_ASDU  self)

Reserve memory for a signed 32-bit integer in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes within the ASDU data block.
int SVPublisher_ASDU_addINT64 ( SVPublisher_ASDU  self)

Reserve memory for a signed 64-bit integer in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes of the new element within the ASDU data block.
int SVPublisher_ASDU_addINT8 ( SVPublisher_ASDU  self)

Reserve memory for a signed 8-bit integer in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes within the ASDU data block.
int SVPublisher_ASDU_addQuality ( SVPublisher_ASDU  self)

Reserve memory for a quality value in the ASDU.

NOTE: Quality is encoded as BITSTRING (4 byte)

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes of the new element within the ASDU data block.
int SVPublisher_ASDU_addTimestamp ( SVPublisher_ASDU  self)

Reserve memory for a 64 bit time stamp in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
Returns
the offset in bytes of the new element within the ASDU data block.
uint16_t SVPublisher_ASDU_getSmpCnt ( SVPublisher_ASDU  self)

Get the sample count attribute of the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
void SVPublisher_ASDU_increaseSmpCnt ( SVPublisher_ASDU  self)

Increment the sample count attribute of the ASDU.

The parameter SmpCnt shall contain the values of a counter, which is incremented each time a new sample of the analogue value is taken. The sample values shall be kept in the right order. If the counter is used to indicate time consistency of various sampled values, the counter shall be reset by an external synchronization event.

Parameters
[in]selfthe Sampled Values ASDU instance.
void SVPublisher_ASDU_resetBuffer ( SVPublisher_ASDU  self)

Reset the internal data buffer of an ASDU.

All data elements added by SVPublisher_ASDU_add*() functions are removed. SVPublisher_setupComplete() must be called afterwards.

Parameters
[in]selfthe Sampled Values ASDU instance.
void SVPublisher_ASDU_setFLOAT ( SVPublisher_ASDU  self,
int  index,
float  value 
)

Set the value of a single precision floating point number in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.
void SVPublisher_ASDU_setFLOAT64 ( SVPublisher_ASDU  self,
int  index,
double  value 
)

Set the value of a double precision floating pointer number in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.
void SVPublisher_ASDU_setINT32 ( SVPublisher_ASDU  self,
int  index,
int32_t  value 
)

Set the value of a 32-bit integer in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.
void SVPublisher_ASDU_setINT64 ( SVPublisher_ASDU  self,
int  index,
int64_t  value 
)

Set the value of a 64-bit integer in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.
void SVPublisher_ASDU_setINT8 ( SVPublisher_ASDU  self,
int  index,
int8_t  value 
)

Set the value of a 8-bit integer in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.
void SVPublisher_ASDU_setQuality ( SVPublisher_ASDU  self,
int  index,
Quality  value 
)

Set the value of a quality attribute in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.
void SVPublisher_ASDU_setRefrTm ( SVPublisher_ASDU  self,
uint64_t  refrTm 
)

Set the refresh time attribute of the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
void SVPublisher_ASDU_setSmpCnt ( SVPublisher_ASDU  self,
uint16_t  value 
)

Set the sample count attribute of the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]valuethe new value of the attribute.
void SVPublisher_ASDU_setSmpMod ( SVPublisher_ASDU  self,
uint8_t  smpMod 
)

Set the sample mode attribute of the ASDU.

The attribute SmpMod shall specify if the sample rate is defined in units of samples per nominal period, samples per second or seconds per sample. If it is missing, the default value is samples per period.

Parameters
[in]selfthe Sampled Values ASDU instance.
smpModone of IEC61850_SV_SMPMOD_PER_NOMINAL_PERIOD, IEC61850_SV_SMPMOD_SAMPLES_PER_SECOND or IEC61850_SV_SMPMOD_SECONDS_PER_SAMPLE
void SVPublisher_ASDU_setSmpRate ( SVPublisher_ASDU  self,
uint16_t  smpRate 
)

Set the sample rate attribute of the ASDU.

The attribute SmpRate shall specify the sample rate. The value shall be interpreted depending on the value of the SmpMod attribute.

Parameters
[in]selfthe Sampled Values ASDU instance.
smpRateAmount of samples (default per nominal period, see SmpMod).
void SVPublisher_ASDU_setTimestamp ( SVPublisher_ASDU  self,
int  index,
Timestamp  value 
)

Set the value of a 64 bit time stamp in the ASDU.

Parameters
[in]selfthe Sampled Values ASDU instance.
[in]indexThe offset within the data block of the ASDU in bytes.
[in]valueThe value which should be set.