ChimeraTK / ControlSystemAdapter

An adapter layer which allows to use control applications with different control system software environments.
GNU Lesser General Public License v3.0
3 stars 2 forks source link

bi-directional variables don't work with persistency layer #20

Closed killenb closed 5 years ago

killenb commented 5 years ago

This problem shows when using the OPC-UA adapter with bi-directional variables, but it is probably because it is using the build-in persistency layer, in contrast to the doocs adapter.

Error message:

terminate called after throwing an instance of 'ChimeraTK::logic_error'
  what():  This device side of a process array must not be associated with a persistent data storage.
killenb commented 5 years ago

There seems to be a logical bug in the Bidirectional process array:

if(_allowPersistentDataStorage) {
  throw ChimeraTK::logic_error("This device side of a process array must not be associated with a "
                               "persistent data storage.");
}

It should be if (!allowPersistentDataStorage) throw. There is a test missing for this, which has to be added.

killenb commented 5 years ago

Fixed by 0626c70