Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions src/ophyd_async/tango/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
tango_signal_w,
tango_signal_x,
)
from ._tango_readable import TangoReadable
from ._tango_transport import (
AttributeProxy,
CommandProxy,
Expand Down Expand Up @@ -50,7 +49,6 @@
"tango_signal_w",
"tango_signal_x",
"TangoDevice",
"TangoReadable",
"TangoPolling",
"TangoDeviceConnector",
"TangoLongStringTable",
Expand Down
5 changes: 4 additions & 1 deletion src/ophyd_async/tango/core/_base_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class TangoDevice(Device):

def __init__(
self,
trl: str | None,
trl: str = "",
support_events: bool = False,
name: str = "",
auto_fill_signals: bool = True,
Expand Down Expand Up @@ -80,6 +80,9 @@ def __init__(
self._support_events = support_events
self._auto_fill_signals = auto_fill_signals

def set_trl(self, trl: str):
self.trl = trl

def create_children_from_annotations(self, device: Device):
if not hasattr(self, "filler"):
self.filler = DeviceFiller(
Expand Down
15 changes: 0 additions & 15 deletions src/ophyd_async/tango/core/_tango_readable.py

This file was deleted.

13 changes: 10 additions & 3 deletions src/ophyd_async/tango/demo/_counter.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
from typing import Annotated as A

from ophyd_async.core import DEFAULT_TIMEOUT, AsyncStatus, SignalR, SignalRW, SignalX
from ophyd_async.core import (
DEFAULT_TIMEOUT,
AsyncStatus,
SignalR,
SignalRW,
SignalX,
StandardReadable,
)
from ophyd_async.core import StandardReadableFormat as Format
from ophyd_async.tango.core import TangoPolling, TangoReadable
from ophyd_async.tango.core import TangoDevice, TangoPolling


class TangoCounter(TangoReadable):
class TangoCounter(TangoDevice, StandardReadable):
"""Tango counting device."""

# Enter the name and type of the signals you want to use
Expand Down
7 changes: 4 additions & 3 deletions src/ophyd_async/tango/demo/_mover.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@
SignalR,
SignalRW,
SignalX,
StandardReadable,
WatchableAsyncStatus,
WatcherUpdate,
observe_value,
wait_for_value,
)
from ophyd_async.core import StandardReadableFormat as Format
from ophyd_async.tango.core import DevStateEnum, TangoPolling, TangoReadable
from ophyd_async.tango.core import DevStateEnum, TangoDevice, TangoPolling


class TangoMover(TangoReadable, Movable, Stoppable):
class TangoMover(TangoDevice, StandardReadable, Movable, Stoppable):
"""Tango moving device."""

# Enter the name and type of the signals you want to use
Expand All @@ -32,7 +33,7 @@ class TangoMover(TangoReadable, Movable, Stoppable):
# If a tango name clashes with a bluesky verb, add a trailing underscore
stop_: SignalX

def __init__(self, trl: str | None = "", name=""):
def __init__(self, trl: str = "", name=""):
super().__init__(trl, name=name)
self.add_readables([self.position], Format.HINTED_SIGNAL)
self.add_readables([self.velocity], Format.CONFIG_SIGNAL)
Expand Down
9 changes: 5 additions & 4 deletions tests/system_tests/tango/test_base_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,11 @@
SignalRW,
SignalW,
SignalX,
StandardReadable,
init_devices,
)
from ophyd_async.core import StandardReadableFormat as Format
from ophyd_async.tango.core import TangoReadable, get_full_attr_trl, get_python_type
from ophyd_async.tango.core import TangoDevice, get_full_attr_trl, get_python_type
from ophyd_async.tango.demo import (
DemoCounter,
DemoMover,
Expand Down Expand Up @@ -259,7 +260,7 @@ def enum_cmd(self, value: TestEnum) -> TestEnum:


# --------------------------------------------------------------------
class TestTangoReadable(TangoReadable):
class TestTangoReadable(TangoDevice, StandardReadable):
__test__ = False
justvalue: A[SignalRW[int], Format.HINTED_UNCACHED_SIGNAL]
array: A[SignalRW[Array1D[np.float64]], Format.HINTED_UNCACHED_SIGNAL]
Expand Down Expand Up @@ -394,9 +395,9 @@ async def test_connect(tango_test_device):
@pytest.mark.asyncio
async def test_set_trl(tango_test_device):
values, description = await describe_class(tango_test_device)
test_device = TestTangoReadable(name="test_device")
test_device = TestTangoReadable(trl="", name="test_device")

test_device._connector.trl = tango_test_device
test_device._connector.set_trl(tango_test_device)
await test_device.connect()

assert test_device.name == "test_device"
Expand Down
1 change: 1 addition & 0 deletions tests/system_tests/tango/test_tango_signals.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ async def test_tango_signal_rw(everything_device_trl: str, everything_signal_inf

# --------------------------------------------------------------------
@pytest.mark.asyncio
@pytest.mark.timeout(2.0)
async def test_tango_signal_x(tango_test_device: str):
timeout = 0.2
signal = tango_signal_x(
Expand Down
Loading