Setting max_value of uint64 attribute to 2^64-1 gives error on reading
If you set the max_value of a uint64 attribute to its maximum (2^64-1) and the try reading said attribute, it reports that the min_value is greater than or equal to the max_value. Jive correctly reports the minimum & maximum values as 0 and 18446744073709551615.
>>> import tango
>>> dp=tango.DeviceProxy("phase/tango/1")
>>> dp.read_attribute("first_internal_oscillator")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/grm84/miniconda/envs/ska/lib/python3.10/site-packages/tango/green.py", line 195, in greener
return executor.run(fn, args, kwargs, wait=wait, timeout=timeout)
File "/home/grm84/miniconda/envs/ska/lib/python3.10/site-packages/tango/green.py", line 109, in run
return fn(*args, **kwargs)
File "/home/grm84/miniconda/envs/ska/lib/python3.10/site-packages/tango/device_proxy.py", line 463, in __DeviceProxy__read_attribute
return __check_read_attribute(at)
File "/home/grm84/miniconda/envs/ska/lib/python3.10/site-packages/tango/device_proxy.py", line 157, in __check_read_attribute
raise DevFailed(*dev_attr.get_err_stack())
PyTango.DevFailed: DevFailed[
DevError[
desc =
Device phase/tango/1-> Attribute : first_internal_oscillator
Value of min_value is greater than or equal to max_value
origin = Device_3Impl::read_attributes_no_except()
reason = API_AttrConfig
severity = ERR]
DevError[
desc = Failed to read_attribute on device phase/tango/1, attribute first_internal_oscillator
origin = DeviceProxy::read_attribute()
reason = API_AttributeFailed
severity = ERR]
]
Edited by Reynald Bourtembourg