From 7eeac08551c0e5e4776822c2c85a0b7c6ad3bc78 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Wed, 8 Jul 2015 16:04:35 +0300 Subject: [PATCH] - first commit for pavo changes --- config/stack_config.h | 2 +- src/goose/goose_publisher.c | 2 ++ src/goose/goose_receiver.c | 1 - src/iec61850/client/ied_connection.c | 16 ++++++++++++++++ tools/model_generator/genmodel.jar | Bin 75190 -> 75201 bytes 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/config/stack_config.h b/config/stack_config.h index 49fb2e5c..72245fdd 100644 --- a/config/stack_config.h +++ b/config/stack_config.h @@ -21,7 +21,7 @@ #define DEBUG_IED_CLIENT 0 #define DEBUG_MMS_CLIENT 0 #define DEBUG_MMS_SERVER 0 -#define DEBUG_GOOSE_SUBSCRIBER 0 +#define DEBUG_GOOSE_SUBSCRIBER 1 #define DEBUG_GOOSE_PUBLISHER 0 /* Maximum MMS PDU SIZE - default is 65000 */ diff --git a/src/goose/goose_publisher.c b/src/goose/goose_publisher.c index cc453865..c09466ee 100644 --- a/src/goose/goose_publisher.c +++ b/src/goose/goose_publisher.c @@ -201,6 +201,7 @@ prepareGooseBuffer(GoosePublisher self, CommParameters* parameters, const char* int bufPos = 12; +#if 0 /* Priority tag - IEEE 802.1Q */ self->buffer[bufPos++] = 0x81; self->buffer[bufPos++] = 0x00; @@ -212,6 +213,7 @@ prepareGooseBuffer(GoosePublisher self, CommParameters* parameters, const char* self->buffer[bufPos++] = tci1; /* Priority + VLAN-ID */ self->buffer[bufPos++] = tci2; /* VLAN-ID */ +#endif /* EtherType GOOSE */ self->buffer[bufPos++] = 0x88; diff --git a/src/goose/goose_receiver.c b/src/goose/goose_receiver.c index 44595d97..960073a3 100644 --- a/src/goose/goose_receiver.c +++ b/src/goose/goose_receiver.c @@ -752,7 +752,6 @@ GooseReceiver_destroy(GooseReceiver self) void GooseReceiver_startThreadless(GooseReceiver self) { - if (self->interfaceId == NULL) self->ethSocket = Ethernet_createSocket(CONFIG_ETHERNET_INTERFACE_ID, NULL); else diff --git a/src/iec61850/client/ied_connection.c b/src/iec61850/client/ied_connection.c index f71a4451..77a912f6 100644 --- a/src/iec61850/client/ied_connection.c +++ b/src/iec61850/client/ied_connection.c @@ -604,21 +604,37 @@ IedConnection_close(IedConnection self) void IedConnection_destroy(IedConnection self) { + printf("D1\n"); + IedConnection_close(self); + printf("D2\n"); + MmsConnection_destroy(self->connection); + printf("D3\n"); + if (self->logicalDevices != NULL) LinkedList_destroyDeep(self->logicalDevices, (LinkedListValueDeleteFunction) ICLogicalDevice_destroy); + printf("D4\n"); + +#if 0 if (self->enabledReports != NULL) LinkedList_destroyDeep(self->enabledReports, (LinkedListValueDeleteFunction) ClientReport_destroy); +#endif LinkedList_destroyStatic(self->clientControls); + printf("D6\n"); + Semaphore_destroy(self->stateMutex); + printf("D7\n"); + GLOBAL_FREEMEM(self); + + printf("D8\n"); } MmsVariableSpecification* diff --git a/tools/model_generator/genmodel.jar b/tools/model_generator/genmodel.jar index 2f84d3f0cf473a060599bd9963ff978e1d3a0646..f0c858a9a7ceec6bf3138f8655f41317876dd160 100644 GIT binary patch delta 4140 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 KGD!vx0P;Vd)6!D_ delta 3894 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