Skip to content

Update to 0 11 2 - #5

Open
FreddieAkeroyd wants to merge 44 commits into
IBEXfrom
update_to_0_11_2
Open

Update to 0 11 2#5
FreddieAkeroyd wants to merge 44 commits into
IBEXfrom
update_to_0_11_2

Conversation

@FreddieAkeroyd

Copy link
Copy Markdown
Member

ralphlange and others added 30 commits March 4, 2025 15:26
Commit "fix connection state handling" merged in 7b650af had a bug:
For UaSDK, the item was not setting the state for is own itemRecord.
Value would appear frozen when installing monitoredItem failed for
example because the server has reached the limit of monitored items
or if an item cannot be monitored because it used invalid filters
like a deadband filter on a string.

show connectionLoss/COMM_ALARM when monitoredItem setup failed

Value would simply appear frozen otherwise.
Needed to revert order of initial read and montior setup so that
errors in monitor setup are not cleared by successful initial read.
When updating records from the driver, disable FLNK unless SCAN="I/O Intr".
Otherwise if the (output) record is a structure element and the FLNK causes
the parent opcuaItem record to process, an inifnite processing loop is created.
Also, the user probably only expects the FLNK to process when actively writing
to the output record, not when updating it from the server.

Fixes issue epics-modules#145.
outgoingData may still contain old yet unsent data that
needs to be discarded to avoid a memory leak
Read enum type info with strings at connect
Identify enum types during initial read and assign string maps
Update enum strings in mbbi/mbbo records at initial read
Convert enums to and from strings for string records and char waveforms
If user did not define mbbi/mbbo choice values, use VAL instead of RVAL.

Closes issue epics-modules#158.
Not available for UaSdk on Windows because of this linker error:

SubscriptionUaSdk.obj : error LNK2001: unresolved external symbol OpcUa_DataChangeFilter_EncodeableType

It seems OpcUa_DataChangeFilter_EncodeableType is not properly exported for Windows.
* XmlElement: like String
* ByteString: convert to/from hex bytes
* LocalizedText: with access to elements locale and text
* QualifiedName: with access to elements namespaceIndex and name
Clear array once at the beginning to avoid per-element memset.
Clear old size in order to wipe older longer array data.
Don't need to clear more because older shorter data is followed by
already cleared memory.
- remove wrongly picked change
- GitHub shut down ubuntu-20.04 runners on 01-Apr-2025
- requires base >= 3.15.9 (PCAS fix for newer compilers)
- downgrade libssl to 1.1.1 on Ubuntu 22+ (UASDK < 1.8)
- bump runners to windows-2022
  (windows-2019 is no longer supported)
- bump VS version to 17 (vs2022)
- rename Python binary to python3
- choco install openssl (v3) for open62541@VS
- update path of lib tool (VS)
- MSYS2: install mingw64-cmake, -toolchain, -python
  msys2-make, -patch
- VS: install MSYS2/tools-git (for gendef)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants