Skip to content

Draft: Linus playing do not merge

Linus Pithan requested to merge linus_playing_do_not_merge into main

I tried to play a bit with a simple ophyd device, but need some help here

basically I run test_scripts/test1.py using ipython -i

class TestReadableDevice(TangoReadableDevice):

    def __init__(self, trl: str, name="") -> None:
        TangoReadableDevice.__init__(self, trl, name)
        self._set_success = True

    def register_signals(self):
        self.just_a_value = tango_signal_r(float, self.trl + '/just_a_value', device_proxy=self.proxy)
        self.set_readable_signals(read_uncached=[self.just_a_value])
        self._state = tango_signal_r(DevState, self.trl + '/State', self.proxy)


for tango_dev in tango_test_device():
    print(tango_dev.just_a_value)

    ophyd_dev= TestReadableDevice(tango_dev)

    #now lets do some bluesky stuff
    RE = RunEngine()
    print("####mv ",RE(bps.rd(ophyd_dev)))

and I get

ValueError: Your object <__main__.TestReadableDevice object at 0x7ff6ca328e80> (.) and has 0 read values.  We do not know how to pick out a single value.  Please adjust the hinting/read_attrs by setting the kind of the components of this device or by reading one of its components

surely I do a silly mistake here.

Merge request reports