pull/300/merge
Stanislav 4 years ago committed by GitHub
commit baa8852972
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -509,6 +509,9 @@ IedServer_getMmsServer(IedServer self);
LIB61850_API void
IedServer_enableGoosePublishing(IedServer self);
LIB61850_API void
IedServer_setGoosePublishingSimulation(IedServer self, bool test);
/**
* \brief Disable all GOOSE control blocks.
*

@ -77,6 +77,11 @@ MmsGooseControlBlock_publishNewState(MmsGooseControlBlock self);
LIB61850_INTERNAL void
MmsGooseControlBlock_enable(MmsGooseControlBlock self);
LIB61850_INTERNAL void
MmsGooseControlBlock_setSimulation(MmsGooseControlBlock self, bool test);
LIB61850_INTERNAL void
MmsGooseControlBlock_disable(MmsGooseControlBlock self);

@ -103,6 +103,11 @@ MmsMapping_triggerGooseObservers(MmsMapping* self, MmsValue* value);
LIB61850_INTERNAL void
MmsMapping_enableGoosePublishing(MmsMapping* self);
LIB61850_INTERNAL void
MmsMapping_setGoosePublishingSimulation(MmsMapping* self, bool test);
LIB61850_INTERNAL void
MmsMapping_disableGoosePublishing(MmsMapping* self);

@ -1384,6 +1384,14 @@ IedServer_enableGoosePublishing(IedServer self)
#endif /* (CONFIG_INCLUDE_GOOSE_SUPPORT == 1) */
}
void
IedServer_setGoosePublishingSimulation(IedServer self, bool test)
{
#if (CONFIG_INCLUDE_GOOSE_SUPPORT == 1)
MmsMapping_setGoosePublishingSimulation(self->mmsMapping, test);
#endif /* (CONFIG_INCLUDE_GOOSE_SUPPORT == 1) */
}
void
IedServer_disableGoosePublishing(IedServer self)
{

@ -191,6 +191,23 @@ MmsGooseControlBlock_isEnabled(MmsGooseControlBlock self)
return self->goEna;
}
void
MmsGooseControlBlock_setSimulation(MmsGooseControlBlock self, bool test)
{
#if (CONFIG_MMS_THREADLESS_STACK != 1)
Semaphore_wait(self->publisherMutex);
#endif
if(self->publisher){
GoosePublisher_setSimulation(self->publisher, test);
}
#if (CONFIG_MMS_THREADLESS_STACK != 1)
Semaphore_post(self->publisherMutex);
#endif
}
void
MmsGooseControlBlock_enable(MmsGooseControlBlock self)
{

@ -2938,6 +2938,19 @@ MmsMapping_enableGoosePublishing(MmsMapping* self)
}
void
MmsMapping_setGoosePublishingSimulation(MmsMapping* self, bool test)
{
LinkedList element = self->gseControls;
while ((element = LinkedList_getNext(element)) != NULL) {
MmsGooseControlBlock gcb = (MmsGooseControlBlock) element->data;
MmsGooseControlBlock_setSimulation(gcb, test);
}
}
void
MmsMapping_useGooseVlanTag(MmsMapping* self, LogicalNode* ln, const char* gcbName, bool useVlanTag)
{

Loading…
Cancel
Save