Export fill_attr_polling_buffer and fill_cmd_polling_buffer

Closes #694 (closed)

By this MR I added export of Tango::Util::fill_attr_polling_buffer and Tango::Util::fill_cmd_polling_buffer

Since there we cannot directly export templated AttrHistoryStack, CmdHistoryStack, TimedAttrData, TimedCmdData, AttrData classes, I decided not to mimic cppTango behaivior one-to-one, by do more Pythonic approach:

  1. created a pure-Python TimedAttrData, TimedCmdData classes, with reduced amount of memebers (e.g. for attribute user dos not set dim_x, dim_y, etc. - they are calculated in the bindings)
  2. fill_attr_polling_buffer and fill_cmd_polling_buffer accept directly Python lists and tuples of TimedAttrData, TimedCmdData, respectivly
  3. I also added automatic convertion from any Python exception to DevErrorList, if one need to fill failed value into history

Methods were added to Util class and to the DeviceImpl, so one can just call "self.fill_attr_polling_buffer" inside device. TimedAttrData, TimedCmdData can be imported from pyutil.py, device_server.py, and server.py

Seems to work.

How to use, could be seen in test_fill_attr_polling_buffer and test_fill_cmd_polling_buffer

Includes: fix write_attribute_asynch tests after cppTango fix (from !851 (closed))

Edited by Anton Joubert

Merge request reports

Loading