24 #ifndef SAMPLED_VALUES_SV_SUBSCRIBER_H_ 25 #define SAMPLED_VALUES_SV_SUBSCRIBER_H_ 27 #include "libiec61850_common_api.h" 116 typedef void (*
SVUpdateListener)(SVSubscriber subscriber,
void* parameter, SVSubscriber_ASDU asdu);
520 #if defined(__GNUC__) || defined(__clang__) 521 #define DEPRECATED __attribute__((deprecated)) DEPRECATED float SVClientASDU_getFLOAT32(SVSubscriber_ASDU self, int index)
uint16_t SVSubscriber_ASDU_getINT16U(SVSubscriber_ASDU self, int index)
Get an INT16U data value in the data part of the ASDU.
bool SVSubscriber_ASDU_hasSmpRate(SVSubscriber_ASDU self)
Check if SmpRate value is included in the SV ASDU.
uint16_t Quality
Definition: iec61850_common.h:266
uint32_t SVSubscriber_ASDU_getConfRev(SVSubscriber_ASDU self)
return the ConfRev value included in the SV ASDU
uint8_t SVSubscriber_ASDU_getINT8U(SVSubscriber_ASDU self, int index)
Get an INT8U data value in the data part of the ASDU.
DEPRECATED uint16_t SVClientASDU_getINT16U(SVSubscriber_ASDU self, int index)
int64_t SVSubscriber_ASDU_getINT64(SVSubscriber_ASDU self, int index)
Get an INT64 data value in the data part of the ASDU.
DEPRECATED uint16_t SVClientASDU_getSmpCnt(SVSubscriber_ASDU self)
bool SVReceiver_tick(SVReceiver self)
Parse SV messages if they are available.
void SVSubscriber_destroy(SVSubscriber self)
void SVReceiver_removeSubscriber(SVReceiver self, SVSubscriber subscriber)
Disconnect subscriber and receiver.
DEPRECATED uint64_t SVClientASDU_getRefrTmAsMs(SVSubscriber_ASDU self)
DEPRECATED int8_t SVClientASDU_getINT8(SVSubscriber_ASDU self, int index)
struct sEthernetSocket * EthernetSocket
Opaque handle that represents an Ethernet "socket".
Definition: hal_ethernet.h:49
int8_t SVSubscriber_ASDU_getINT8(SVSubscriber_ASDU self, int index)
Get an INT8 data value in the data part of the ASDU.
struct sSVSubscriber_ASDU * SVSubscriber_ASDU
opaque handle to a SV ASDU (Application service data unit) instance.
Definition: sv_subscriber.h:96
void(* SVUpdateListener)(SVSubscriber subscriber, void *parameter, SVSubscriber_ASDU asdu)
Callback function for received SV messages.
Definition: sv_subscriber.h:116
float SVSubscriber_ASDU_getFLOAT32(SVSubscriber_ASDU self, int index)
Get an FLOAT32 data value in the data part of the ASDU.
void SVReceiver_disableDestAddrCheck(SVReceiver self)
Disable check for destination address of the received SV messages.
DEPRECATED uint8_t SVClientASDU_getINT8U(SVSubscriber_ASDU self, int index)
int16_t SVSubscriber_ASDU_getINT16(SVSubscriber_ASDU self, int index)
Get an INT16 data value in the data part of the ASDU.
Definition: iec61850_common.h:352
DEPRECATED double SVClientASDU_getFLOAT64(SVSubscriber_ASDU self, int index)
DEPRECATED bool SVClientASDU_hasRefrTm(SVSubscriber_ASDU self)
DEPRECATED int32_t SVClientASDU_getINT32(SVSubscriber_ASDU self, int index)
void SVReceiver_destroy(SVReceiver self)
Destroy receiver instance (cleanup resources)
bool SVSubscriber_ASDU_hasSmpMod(SVSubscriber_ASDU self)
Check if SmpMod value is included in the SV ASDU.
uint64_t SVSubscriber_ASDU_getINT64U(SVSubscriber_ASDU self, int index)
Get an INT64U data value in the data part of the ASDU.
Quality SVSubscriber_ASDU_getQuality(SVSubscriber_ASDU self, int index)
Get a quality value in the data part of the ASDU.
const char * SVSubscriber_ASDU_getSvId(SVSubscriber_ASDU self)
return the SvID value included in the SV ASDU
void SVSubscriber_setListener(SVSubscriber self, SVUpdateListener listener, void *parameter)
Set a callback handler to process received SV messages.
uint16_t SVSubscriber_ASDU_getSmpCnt(SVSubscriber_ASDU self)
return the SmpCnt value included in the SV ASDU
struct sSVReceiver * SVReceiver
opaque handle to a SV receiver instance
Definition: sv_subscriber.h:121
int32_t SVSubscriber_ASDU_getINT32(SVSubscriber_ASDU self, int index)
Get an INT32 data value in the data part of the ASDU.
DEPRECATED uint32_t SVClientASDU_getConfRev(SVSubscriber_ASDU self)
struct sSVSubscriberASDU * SVClientASDU
Definition: sv_subscriber.h:534
void SVReceiver_stop(SVReceiver self)
Receiver stops listening for SV messages.
bool SVSubscriber_ASDU_hasRefrTm(SVSubscriber_ASDU self)
Check if RefrTm value is included in the SV ASDU.
SVReceiver SVReceiver_create(void)
Create a new SV receiver instance.
struct sSVSubscriber * SVSubscriber
opaque handle to a SV subscriber instance
Definition: sv_subscriber.h:105
EthernetSocket SVReceiver_startThreadless(SVReceiver self)
DEPRECATED uint64_t SVClientASDU_getINT64U(SVSubscriber_ASDU self, int index)
void SVReceiver_start(SVReceiver self)
Receiver starts listening for SV messages.
DEPRECATED const char * SVClientASDU_getSvId(SVSubscriber_ASDU self)
void SVReceiver_setInterfaceId(SVReceiver self, const char *interfaceId)
Set the Ethernet interface ID for the receiver instance.
#define DEPRECATED
Definition: sv_subscriber.h:523
Timestamp SVSubscriber_ASDU_getTimestamp(SVSubscriber_ASDU self, int index)
Get a timestamp data value in the data part of the ASDU.
double SVSubscriber_ASDU_getFLOAT64(SVSubscriber_ASDU self, int index)
Get an FLOAT64 data value in the data part of the ASDU.
int SVSubscriber_ASDU_getDataSize(SVSubscriber_ASDU self)
Returns the size of the data part of the ASDU.
bool SVSubscriber_ASDU_hasDatSet(SVSubscriber_ASDU self)
Check if DatSet value is included in the SV ASDU.
SVSubscriber SVSubscriber_create(const uint8_t *ethAddr, uint16_t appID)
DEPRECATED int16_t SVClientASDU_getINT16(SVSubscriber_ASDU self, int index)
DEPRECATED int64_t SVClientASDU_getINT64(SVSubscriber_ASDU self, int index)
void SVReceiver_addSubscriber(SVReceiver self, SVSubscriber subscriber)
Add a subscriber instance to the receiver.
DEPRECATED int SVClientASDU_getDataSize(SVSubscriber_ASDU self)
uint32_t SVSubscriber_ASDU_getINT32U(SVSubscriber_ASDU self, int index)
Get an INT32U data value in the data part of the ASDU.
uint16_t SVSubscriber_ASDU_getSmpRate(SVSubscriber_ASDU self)
return the SmpRate value included in the SV ASDU
DEPRECATED uint32_t SVClientASDU_getINT32U(SVSubscriber_ASDU self, int index)
uint64_t SVSubscriber_ASDU_getRefrTmAsMs(SVSubscriber_ASDU self)
Get the RefrTim value included in SV ASDU as ms timestamp.
void SVReceiver_stopThreadless(SVReceiver self)
uint8_t SVSubscriber_ASDU_getSmpMod(SVSubscriber_ASDU self)
return the SmpMod value included in the SV ASDU
const char * SVSubscriber_ASDU_getDatSet(SVSubscriber_ASDU self)
return the DatSet value included in the SV ASDU
bool SVReceiver_isRunning(SVReceiver self)
Check if SV receiver is running.