Hi there,
I am exploring forwarded attributes feature in PyTango 9.2.4.
As per documentation, if “__root_attr” attribute property is not specified, the attribute is not created by the Tango kernel and is therefore not visible for the external world. The state of the device to which the forwarded attribute belongs to is set to ALARM (if not already FAULT) and a detailed error report is available in the device status.
However, I get the following error when ran the device server (with/without the __root_att attribute property):
Exiting: Server exited with tango.DevFailed:
DevFailed[
DevError[
desc = ArgumentError: Python argument types in
DeviceClass._create_fwd_attribute(ForwardedAttrTestPythonClass, AttrList, NoneType, UserDefaultFwdAttrProp)
did not match C++ signature:
_create_fwd_attribute(CppDeviceClass {lvalue}, std::vector<Tango::Attr*, std::allocator<Tango::Attr*> > {lvalue}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Tango::UserDefaultFwdAttrProp*)
origin = File "/usr/local/lib/python2.7/dist-packages/tango/device_class.py", line 341, in __DeviceClass__attribute_factory
self._create_fwd_attribute(attr_list, attr_data.name, attr_data.att_prop)
reason = PyDs_PythonError
severity = ERR]
]
Exited
Please note that I tried the same with Java and it works as expected. It seems that I am missing some configuration in the python code. Is there any documentation available for the same?
Sample code is attached to this post. Any inputs will be helpful.
Kind regards,
Jyotin