Commit Graph

1059 Commits

Author SHA1 Message Date
Selva Suba Jenifer Joseph fbb4e0fe4d test(PubSub): Add unit test case for XDP connection
- Unit test case to verify XDP connection
 - Add README_pubsub_TSN.txt for executing the applications and unit tests

Change-Id: I7a05d2dcd8f7881f24a3c5a44560aad1b3971e41
2020-04-07 17:04:18 +02:00
Shriya Chaurasia 7d5b803a56 feat(PubSub): Modify application for XDP
- Modify Publisher and Loopback application for XDP

Change-Id: I1c33b072847a62372d24f6e76cbaae033da49b87
2020-04-07 17:04:18 +02:00
Suriya Narayanan Parthasarathi Vimala 92504b2801 fix(PubSub): Application fix on double free
- Fix on Double free corruption
 - Fix on REPEATED_NODECOUNTS from T1 to T8

Change-Id: I4428e868e11737cd1246b60d250b97ae83e8c564
2020-04-07 17:04:18 +02:00
Shriya Chaurasia c09da0b76d test(PubSub): Add unit test for ethernet ETF functionality
- Add unit test case for ethernet etf connection
 - Add unit test case for ethernet etf send functionality

Change-Id: I1bfba13b5c80e2b302bc46e1f616af77a1291bc1
2020-03-06 14:06:21 +01:00
Selva Suba Jenifer Joseph f617d9ef75 refactor(PubSub): Application modification for ETF
- Modify application to calculate transmission time
 - Modify application to pass SOCKET_PRIORITY and ETF related socket configuration
 - Remove UDP related includes and functions

Change-Id: Ic19ec9a509c2557ddc2b2b802fcfa4642102ded7
2020-03-06 14:06:21 +01:00
Suriya Narayanan Parthasarathi Vimala 06b1ddb8f5 refactor(PubSub): Design modification considering ETF transport settings
- New transport file created ua_pubsub_ethernet.c
 - Modification are removed in ethernet and udp .c files
 - New transport settings added for ETF functionality

Change-Id: Id11b1a06f67a8f96cd8713415f6b8472fae0b532
2020-03-06 14:06:21 +01:00
Suriya Narayanan Parthasarathi Vimala 7955eb503a refactor(PubSub): Thread based custom manager implementation
- Thread creation has been integrated with addRepeatedCallback
 - Introduction of RT Fixed offsets
 - Change from Datetime nodes to UInt64 nodes(for RT)

Change-Id: I361a1027dfe633e9b36d25bb74dad6d3a5774e01
2020-03-06 14:06:21 +01:00
Keerthivasan Alagarsamy Senthilkumaran b2be9df28d feat(PubSub): Multithread PubSub TSN application
- Application design change to run Publisher
   and Subscriber in same core(core 2)
 - User application runs in core 3
 - Three thread application design
   (Publisher, Subscriber, User application)
 - TODO:Implement spin locks for threads

Change-Id: I7c4a9bc685c9395d058b4cce71cb1ea9ffef61a8
2020-03-06 14:06:21 +01:00
Vidhya Duraisamy 77594938a3 feat(PubSub):Time triggered multithreaded application with ETF
- Run time triggered PubSub application using ETF at a publishing interval
   of 250 microseconds with qbv offset of 25us
 - Integrate time triggered functionality and publish
   OPCUA PubSub packets at calculated transmission time
 - Handle PubSub application for UDP and Ethernet over UADP
 - Implement Publisher and Subscriber as threads and handle
   in same core
 - Integrate target variable implementation in Subscriber thread
 - TODO: Write unit test cases to ensure no memory leaks are possible

Change-Id: I50982a32e126de82f4adb5e07b1ec626c0527f26
2020-03-06 14:06:21 +01:00
matkonnerth fb7b841ffe add Datatype Node 2020-02-21 23:35:59 +01:00
Julius Pfrommer da7eebebe2 build(core): Rename UA_COMPILE_AS_CXX to UA_FORCE_CPP
For consistent naming of flags that force compiler settings.
2020-02-17 22:26:03 +01:00
Nikhil Vannan Krishnan 53d767b2d2 fix(ex): Resolve segmentation fault in client_connect application 2020-02-17 10:23:00 +01:00
Waheed Ejaz d02e5f2ac9 fix(ex): use correct datatype for writergroup json message settings 2020-02-06 07:50:30 +01:00
Waheed Ejaz 5640a1372e fix(ex): use correct fields for json encoding 2020-02-03 10:34:43 +01:00
Julius Pfrommer e7d3e385e5 fix(tests): Fix a false positive in the latest GCC 2020-01-25 19:33:26 +01:00
Stefan Profanter ac16287c86 feat(nodeset-compiler): Add support for Structure inside Extension Object 2020-01-21 10:08:11 +01:00
Urs Fässler c7c57e9aba fix: create condition source object with a parent
Without a parent, the error "Node for event must be in ObjectsFolder!"
occurs when an event is sent.
2020-01-15 17:19:31 +01:00
Sameer AL-Qadasi ff87c2876d (feat): First Implementation of Alarms and Conditions (#2083)
* Update src/server/ua_subscription_events.c

* Alarms and Conditions First Implementation

implemented facets:
1- A&C Base Condition Server Facet (only mandatory)
2- A&C Enable Server Facet (only mandatory)
3- A&C Alarm Server Facet (only mandatory)
4- A&C Acknowledgeable Alarm Server Facet (complete, with ConfirmedState and Confirm Method)

Notes:
1) Change in ua_subscriptions_monitoreditem.c is related to issue #2114. Without that fix, the server crashes when generating OverflowEvents.

2) The Events: RefreshStart and RefreshEnd are abstract according to the specification. So to make it possible to create instances of them the fix in function "create_event()" is added (change abstract attribute of the EventType to false).

@basysKom-jvoe, I will be glad if you help reviewing the code:)

* some fixes

Update src/server/ua_subscription_alarms_conditions.c

* correcting example name

adding function prototype

* some fixes

1) keep events and A&C disabled and NS0 reduced in main CMakeLists
2) enable A&C in test scripts (Travis and Veyor)

* Update ua_subscription_alarms_conditions.c

fix som error handling

* Update ua_subscription_alarms_conditions.c

* fixing issues from first review

1) calculate size of array
2) correct misspelling
3) correct some comments

* Update ua_subscription_alarms_conditions.c

to retrigger travis test.
14 - subscription_events test fails randomly!

* fix memory leak issues

the function UA_NodeId_copy was used multiple times, however,  the memory allocated is not freed because only numeric NodeIds were used in testing. So using nun numeric NodeIds will cause memory leak.
Next commit/version should fix that issue.

* review fixes: comments 1 and 2

1) use new server logger function (PR rebase).
2) use values instead of pointers in A&C API functions for consistency

* Review: reduce indent

reducing indent by using "continue" inside if statements in loops

* Update tutorial_server_alarms_conditions.c

modify includes

* update to upstream master and fix some A&C Module issues

* fix CI test and some review issues

* fix some review issues

the previous commits fix issues mentioned in comments:
- https://github.com/open62541/open62541/pull/2083#discussion_r241070233
- https://github.com/open62541/open62541/pull/2083#discussion_r241072127
- https://github.com/open62541/open62541/pull/2083#discussion_r241076137
- https://github.com/open62541/open62541/pull/2083#discussion_r241076137
- https://github.com/open62541/open62541/pull/2083#discussion_r241079915
- https://github.com/open62541/open62541/pull/2083#discussion_r241082415
- https://github.com/open62541/open62541/pull/2083#discussion_r241083539
- https://github.com/open62541/open62541/pull/2083#discussion_r284586642
- https://github.com/open62541/open62541/pull/2083#discussion_r284587406
- https://github.com/open62541/open62541/pull/2083#discussion_r284589129

not resolved yet, need further discussion:
- https://github.com/open62541/open62541/pull/2083#discussion_r241072659
- https://github.com/open62541/open62541/pull/2083#discussion_r241075205

* some modification after rebase

* remove unused code + some fixes

* some fixes and modifications

changes:
- fix conflicting variable names
- pass FieldNames directly without help variable in
  "UA_Server_setConditionField"
- remove unused code
- add some comments
- correct indentation

* fix issues mentioned in review

* enable setting ConditionId when creating Condition Instances

* fix issues based on review

- pass variant instead of void* and type when setting Condition Fields and their Properties.

- Change RefreshEvents IsAbstract attribute to "False" when creating the Condition instead of doing that when generating the event.

- comment issue #2114 fix out (it seems to work fine after recent commits).

- modify A&C example according to changes.

* use A&C public API to set condition fields and properties

* check for Null pointer before comparing NodeIds

Co-Authored-By: andr <aandranikk@gmail.com>

* correct Typo

Co-Authored-By: andr <aandranikk@gmail.com>

* rebase + fix issues from review

some issues need further discussion before fixing them. Please see:
https://github.com/open62541/open62541/pull/2083#discussion_r326857289
https://github.com/open62541/open62541/pull/2083#discussion_r326857373

* fixup after rebase
2019-12-17 20:28:40 +01:00
Stefan Profanter 33c93905da fix(cmake): Add IMPORT_BSD option from generate_datatypes to upper generate_ns_and_datatypes 2019-12-09 12:28:20 +01:00
Julius Pfrommer e0453b6639 feat(pubsub): Set the RT level in the interrupt pubsub example 2019-11-23 20:59:01 +01:00
Andreas Ebner a1cd155875 feat(pubsub) extended PubSub RT level example, added testcase for PubSub RT levels, fixed memory leaks, moved offset calculation into DSM and NM binary size calculation (signature changed) 2019-11-22 15:00:59 +01:00
Andreas Ebner 4b52b9e49b feat(pubsub) extended pubsub fastpath with fixed offsets and static value source, memory fixes, added support for sequence number, added an direct pointer from DSW to the PDS to avoid lookup -> PTR will be updated during each PDS add/remove 2019-11-22 15:00:59 +01:00
Andreas Ebner 74f158ffa5 feat(pubsub) extended fast path fixed offset size compatibility checks 2019-11-22 15:00:59 +01:00
Andreas Ebner e5fbae7609 feat(pubsub) extended encoding layer with buffered message handling 2019-11-22 15:00:59 +01:00
iknownothing c8ce82a271 Update pubsub_interrupt_publish.c
line 222: Comparing to line 186, the tv_sec should be second. so "%" is typo, should be replaced by "/". FYI.
2019-11-19 15:54:33 +01:00
Julius Pfrommer c168987335 feature(example): server_ctt: enableTimestampCheck without encyrption 2019-11-18 10:25:41 +01:00
Julius Pfrommer 508c8a3bac fix(examples): Fix edge case memleaks in server_ctt 2019-11-18 10:25:41 +01:00
Julius Pfrommer 7fbf9b9e73 refactor(examples): Comment long ifdef macros 2019-11-13 23:19:28 +01:00
Florian Huber 5af4e6cd19 fix(ex): change type of resuse and loopback options to UA_TYPES_BOOLEAN
The parameters are evaluated in UA_PubSubChannelUDPMC_open
[plugins/ua_pubsub_udp.c] and are expected to be of type
BOOLEAN. Using UINT32 for either of them will cause the options not to
be evaluated and hence not used.
2019-11-11 11:33:33 +01:00
Julius Pfrommer 9b2c7812ea feature(server): Add UA_Server_getAsyncOperationNonBlocking
This replaces UA_Server_getAsyncOperation and returns the timeout
timestamp to the worker thread.
2019-11-10 16:50:18 +01:00
Stefan Profanter addf2adfae fix(ns): Rename Minimal.xml to Reduced.xml to match CMake options
See also #3232
2019-11-08 20:08:09 +01:00
Shriya Chaurasia 69dc0fe59b feat(ex): Standalone MQTT publisher application
- Modify examples/CMakelists.txt
 - Add Broker transport settings
2019-10-10 07:08:13 +02:00
Julius Pfrommer 46b4c9c6c8 feat(pubsub): Make PubSub MQTT example configurable on the command line 2019-10-10 07:08:13 +02:00
Lukas M 7ff1fe598f feat(pubsub): Add MQTT support
- Rebase to Master branch
 - Modify Server APIs un tutorial_pubsub_mqtt.c
 - TODO:Resolve unit test error in check_pubsub_connection_mqtt.c
2019-10-10 07:08:13 +02:00
Julius Pfrommer 0aa9eba8c9 fix(pubsub): Update the realtime publisher to config freeze 2019-10-09 13:45:21 +02:00
Julius Pfrommer 0ed855345c refactor(examples): Use _clear instead of _deleteMembers 2019-10-03 15:14:24 +02:00
Julius Pfrommer 8bea4e4363 refactor(core): Replace deleteMembers with clear in UA_CertificateVerification 2019-10-03 15:14:24 +02:00
Julius Pfrommer afe1f3d98e refactor(core): Rename deleteMembers to clear in UA_AccessControl 2019-10-03 15:14:24 +02:00
Andreas Ebner 0f16425702 feat(pubsub): added pubsub configuration lock and pubsub state machine skeleton 2019-09-23 00:51:56 +02:00
Klaus Schick cc94b6aa0f Server: Asynchronous Operations API / Implementation for methods 2019-09-12 15:20:01 +02:00
Selva Suba Jenifer Joseph 43574aa883 PubSub: DataSetReader parameters check in Subscriber
- Check identifiers to direct DataSetMessage to desired DataSetReader
     - PublisherId
     - WriterGroupId
     - DataSetWriterId

Change-Id: Ibfa48d45833a6629134f89648b675441a32f39b9
2019-08-20 15:50:26 +02:00
Selva Suba Jenifer Joseph bb2e56304d PubSub: Modify WriterGroup message settings
- Change PublisherId to static number from random
   number generation
 - Enable the following in writerGroup settings
     - PublisherId
     - WriterGroupId in GroupHeader
     - PayloadHeader

Change-Id: I7f3865a0d1b8bffcb4d228f44409d790cba7afcb
2019-08-20 15:50:26 +02:00
Selva Suba Jenifer Joseph 3e3c7221c5 PubSub:Fix Regist fail when adding multiple ReaderGroups
- Add separate function for channel register
 - Call regist function in PubSubConnection and not in addReaderGroup
   to resolve regist fail when adding multiple ReaderGroups
 - Change return type of example API to handle statuscodes

Change-Id: I58ecec6af6cae2a9427b620241e08c7880b10ef7
2019-08-20 15:50:26 +02:00
Julius Pfrommer da897b2486 PubSub: Add the pubsub_ethernet.h if required in the IOP example 2019-08-20 01:17:48 +02:00
matkonnerth 777eb9339d Server: Read Datatype Definitions of Structures 2019-08-15 18:05:42 +02:00
Stefan Profanter 6752ff9518 Merge branch '1.0' into master 2019-08-08 14:04:08 +02:00
Julius Pfrommer 6f79ec6e8f Server: Reload folders with certificates during runtime 2019-08-08 09:59:15 +02:00
Jayanth Velusamy 7db99c424c CTT: Assign random values for Scale Test variables
Signed-off-by: Jayanth Velusamy <jayanth.v@kalycito.com>
2019-08-08 07:10:24 +02:00
Jayanth Velusamy c83eb2e1cc CTT: Individual configuration for disabling Security Policies
Signed-off-by: Jayanth Velusamy <jayanth.v@kalycito.com>
2019-08-08 07:10:24 +02:00
Stefan Profanter 40d9e588cd Merge branch '1.0' into master 2019-08-05 12:53:27 +02:00