- added documentation for GOOSE receiver

This commit is contained in:
Michael Zillgith 2015-03-05 11:29:40 +01:00
parent 86b26ad181
commit ebe82435e8
6 changed files with 48 additions and 14 deletions

View file

@ -39,6 +39,7 @@
<Authentication />
<LDevice inst="GenericIO">
<LN0 lnClass="LLN0" lnType="LLN01" inst="">
<DataSet name="Events" desc="Events">
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO1" daName="stVal" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO2" daName="stVal" />
@ -53,7 +54,7 @@
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO4" />
</DataSet>
<DataSet name="Measurements" desc="Events2">
<DataSet name="Measurements" desc="Measurements">
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn1" daName="mag.f" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn1" daName="q" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn2" daName="mag.f" />

View file

@ -61,12 +61,21 @@
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO3" daName="stVal" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO4" daName="stVal" />
</DataSet>
<DataSet name="Events2" desc="Events2">
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO1" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO2" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO3" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO4" />
</DataSet>
<DataSet name="AnalogValues" desc="analog values">
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn1" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn2" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn3" />
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn4" />
</DataSet>
<ReportControl name="EventsRCB" confRev="1" datSet="Events" rptID="Events" buffered="false" intgPd="1000" bufTime="50">
<TrgOps period="true" />
<OptFields seqNum="true" timeStamp="true" dataSet="true" reasonCode="true" entryID="true" configRef="true" />

View file

@ -18,7 +18,7 @@ DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "libIEC61850"
PROJECT_NUMBER = 0.8.5
PROJECT_NUMBER = 0.8.6
PROJECT_BRIEF = "Open-source IEC 61850 MMS/GOOSE server and client library"
@ -218,6 +218,7 @@ INPUT += "iec61850/inc/iec61850_dynamic_model.h"
INPUT += "iec61850/inc/iec61850_config_file_parser.h"
INPUT += "iec61850/inc/iec61850_cdc.h"
INPUT += "goose/goose_subscriber.h"
INPUT += "goose/goose_receiver.h"
INPUT += "mms/inc/mms_device_model.h"
INPUT += "mms/inc/mms_types.h"
INPUT += "mms/inc/mms_common.h"

View file

@ -93,12 +93,6 @@ GooseReceiver_setInterfaceId(GooseReceiver self, const char* interfaceId)
self->interfaceId = copyString(interfaceId);
}
void
GooseReceiver_setBackupListener(GooseReceiver self)
{
}
static void
createNewStringFromBufferElement(MmsValue* value, uint8_t* bufferSrc, int elementLength)
{

View file

@ -26,11 +26,31 @@
#include <goose_subscriber.h>
/**
* \addtogroup goose_api_group
*/
/**@{*/
typedef struct sGooseReceiver* GooseReceiver;
/**
* \brief Create a new receiver instance
*
* A GooseReceiver instance is used to handle all GOOSE messages received on a specific
* network interface.
*
* \return the new GooseReceiver instance
*/
GooseReceiver
GooseReceiver_create(void);
/**
* \brief sets the interface for the GOOSE receiver
*
* \param self the GooseReceiver instance
* \param interfaceId
*/
void
GooseReceiver_setInterfaceId(GooseReceiver self, const char* interfaceId);
@ -58,14 +78,21 @@ GooseReceiver_addSubscriber(GooseReceiver self, GooseSubscriber subscriber);
void
GooseReceiver_removeSubscriber(GooseReceiver self, GooseSubscriber subscriber);
// call backup listener if message is not handled by a subscriber
void
GooseReceiver_setBackupListener(GooseReceiver self);
// start GOOSE receiver in a separate thread
/**
* \brief start the GOOSE receiver in a separate thread
*
* \param self the GooseReceiver instance
*/
void
GooseReceiver_start(GooseReceiver self);
/**
* \brief stop the GOOSE receiver running in a speparate thread
*
* This function is used to stop the receiver thread started with GooseReceiver_start
*
* \param self the GooseReceiver instance
*/
void
GooseReceiver_stop(GooseReceiver self);
@ -93,4 +120,6 @@ GooseReceiver_stopThreadless(GooseReceiver self);
bool
GooseReceiver_tick(GooseReceiver self);
/**@}*/
#endif /* GOOSE_RECEIVER_H_ */

View file

@ -61,7 +61,7 @@ typedef void (*GooseListener)(GooseSubscriber subscriber, void* parameter);
* IedConnection_getDataSet() method before.
*
* If NULL is given as dataSetValues it will be created the first time when a appropriate GOOSE message
* is recevied.
* is received.
*
* \param goCbRef a string containing the object reference of the GOOSE Control Block (GoCB) in MMS notation the
* GOOSE publisher uses.