Skip to content

Commit e8555b4

Browse files
committed
remove SubController
1 parent 2259d08 commit e8555b4

File tree

12 files changed

+30
-43
lines changed

12 files changed

+30
-43
lines changed

docs/snippets/dynamic.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from fastcs.attributes import AttrHandlerRW, Attribute, AttrR, AttrRW, AttrW
1010
from fastcs.connections import IPConnection, IPConnectionSettings
11-
from fastcs.controller import Controller, SubController
11+
from fastcs.controller import Controller
1212
from fastcs.datatypes import Bool, DataType, Float, Int, String
1313
from fastcs.launch import FastCS
1414
from fastcs.transport.epics.ca.options import EpicsCAOptions
@@ -76,7 +76,7 @@ async def put(self, attr: AttrW, value: Any):
7676
)
7777

7878

79-
class TemperatureRampController(SubController):
79+
class TemperatureRampController(Controller):
8080
def __init__(self, index: int, connection: IPConnection):
8181
super().__init__(f"Ramp {index}")
8282

docs/snippets/static10.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from fastcs.attributes import AttrHandlerRW, AttrR, AttrRW, AttrW
88
from fastcs.connections import IPConnection, IPConnectionSettings
9-
from fastcs.controller import BaseController, Controller, SubController
9+
from fastcs.controller import BaseController, Controller
1010
from fastcs.datatypes import Float, Int, String
1111
from fastcs.launch import FastCS
1212
from fastcs.transport.epics.ca.options import EpicsCAOptions
@@ -44,7 +44,7 @@ async def put(self, attr: AttrW, value: Any):
4444
)
4545

4646

47-
class TemperatureRampController(SubController):
47+
class TemperatureRampController(Controller):
4848
start = AttrRW(Int(), handler=TemperatureControllerHandler("S"))
4949
end = AttrRW(Int(), handler=TemperatureControllerHandler("E"))
5050

docs/snippets/static11.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from fastcs.attributes import AttrHandlerRW, AttrR, AttrRW, AttrW
99
from fastcs.connections import IPConnection, IPConnectionSettings
10-
from fastcs.controller import BaseController, Controller, SubController
10+
from fastcs.controller import BaseController, Controller
1111
from fastcs.datatypes import Enum, Float, Int, String
1212
from fastcs.launch import FastCS
1313
from fastcs.transport.epics.ca.options import EpicsCAOptions
@@ -50,7 +50,7 @@ class OnOffEnum(enum.StrEnum):
5050
On = "1"
5151

5252

53-
class TemperatureRampController(SubController):
53+
class TemperatureRampController(Controller):
5454
start = AttrRW(Int(), handler=TemperatureControllerHandler("S"))
5555
end = AttrRW(Int(), handler=TemperatureControllerHandler("E"))
5656
enabled = AttrRW(Enum(OnOffEnum), handler=TemperatureControllerHandler("N"))

docs/snippets/static12.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from fastcs.attributes import AttrHandlerRW, AttrR, AttrRW, AttrW
1010
from fastcs.connections import IPConnection, IPConnectionSettings
11-
from fastcs.controller import BaseController, Controller, SubController
11+
from fastcs.controller import BaseController, Controller
1212
from fastcs.datatypes import Enum, Float, Int, String
1313
from fastcs.launch import FastCS
1414
from fastcs.transport.epics.ca.options import EpicsCAOptions
@@ -52,7 +52,7 @@ class OnOffEnum(enum.StrEnum):
5252
On = "1"
5353

5454

55-
class TemperatureRampController(SubController):
55+
class TemperatureRampController(Controller):
5656
start = AttrRW(Int(), handler=TemperatureControllerHandler("S"))
5757
end = AttrRW(Int(), handler=TemperatureControllerHandler("E"))
5858
enabled = AttrRW(Enum(OnOffEnum), handler=TemperatureControllerHandler("N"))

docs/snippets/static13.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from fastcs.attributes import AttrHandlerRW, AttrR, AttrRW, AttrW
1111
from fastcs.connections import IPConnection, IPConnectionSettings
12-
from fastcs.controller import BaseController, Controller, SubController
12+
from fastcs.controller import BaseController, Controller
1313
from fastcs.datatypes import Enum, Float, Int, String
1414
from fastcs.launch import FastCS
1515
from fastcs.transport.epics.ca.options import EpicsCAOptions
@@ -53,7 +53,7 @@ class OnOffEnum(enum.StrEnum):
5353
On = "1"
5454

5555

56-
class TemperatureRampController(SubController):
56+
class TemperatureRampController(Controller):
5757
start = AttrRW(Int(), handler=TemperatureControllerHandler("S"))
5858
end = AttrRW(Int(), handler=TemperatureControllerHandler("E"))
5959
enabled = AttrRW(Enum(OnOffEnum), handler=TemperatureControllerHandler("N"))

src/fastcs/controller.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def __init__(
2626
if not hasattr(self, "attributes"):
2727
self.attributes = {}
2828
self._path: list[str] = path or []
29-
self.__sub_controller_tree: dict[str, SubController] = {}
29+
self.__sub_controller_tree: dict[str, Controller] = {}
3030

3131
self._bind_attrs()
3232

@@ -98,7 +98,7 @@ class method and a controller instance, so that it can be called from any
9898
elif isinstance(attr, UnboundPut | UnboundScan | UnboundCommand):
9999
setattr(self, attr_name, attr.bind(self))
100100

101-
def register_sub_controller(self, name: str, sub_controller: SubController):
101+
def register_sub_controller(self, name: str, sub_controller: Controller):
102102
if name in self.__sub_controller_tree.keys():
103103
raise ValueError(
104104
f"Controller {self} already has a SubController registered as {name}"
@@ -116,7 +116,7 @@ def register_sub_controller(self, name: str, sub_controller: SubController):
116116
)
117117
self.attributes[name] = sub_controller.root_attribute
118118

119-
def get_sub_controllers(self) -> dict[str, SubController]:
119+
def get_sub_controllers(self) -> dict[str, Controller]:
120120
return self.__sub_controller_tree
121121

122122

@@ -136,16 +136,3 @@ def __init__(self, description: str | None = None) -> None:
136136

137137
async def connect(self) -> None:
138138
pass
139-
140-
141-
class SubController(BaseController):
142-
"""A subordinate to a ``Controller`` for managing a subset of a device.
143-
144-
An instance of this class can be registered with a parent ``Controller`` to include
145-
it as part of a larger device.
146-
"""
147-
148-
root_attribute: Attribute | None = None
149-
150-
def __init__(self, description: str | None = None) -> None:
151-
super().__init__(description=description)

src/fastcs/demo/controllers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from fastcs.attributes import AttrHandlerRW, AttrR, AttrRW, AttrW
1010
from fastcs.connections import IPConnection, IPConnectionSettings
11-
from fastcs.controller import BaseController, Controller, SubController
11+
from fastcs.controller import BaseController, Controller
1212
from fastcs.datatypes import Enum, Float, Int
1313
from fastcs.wrappers import command, scan
1414

@@ -94,7 +94,7 @@ async def update_voltages(self):
9494
await controller.voltage.set(float(voltages[index]))
9595

9696

97-
class TemperatureRampController(SubController):
97+
class TemperatureRampController(Controller):
9898
start = AttrRW(Int(), handler=TemperatureControllerHandler("S"))
9999
end = AttrRW(Int(), handler=TemperatureControllerHandler("E"))
100100
enabled = AttrRW(Enum(OnOffEnum), handler=TemperatureControllerHandler("N"))

tests/assertable_controller.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from fastcs.attributes import AttrHandlerR, AttrHandlerRW, AttrHandlerW, AttrR
88
from fastcs.backend import build_controller_api
9-
from fastcs.controller import Controller, SubController
9+
from fastcs.controller import Controller
1010
from fastcs.controller_api import ControllerAPI
1111
from fastcs.datatypes import Int
1212
from fastcs.wrappers import command, scan
@@ -34,7 +34,7 @@ class TestHandler(AttrHandlerRW, TestUpdater, TestSetter):
3434
pass
3535

3636

37-
class TestSubController(SubController):
37+
class TestSubController(Controller):
3838
read_int: AttrR = AttrR(Int(), handler=TestUpdater())
3939

4040

tests/example_p4p_ioc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import numpy as np
55

66
from fastcs.attributes import AttrHandlerW, AttrR, AttrRW, AttrW
7-
from fastcs.controller import Controller, SubController
7+
from fastcs.controller import Controller
88
from fastcs.datatypes import Bool, Enum, Float, Int, Table, Waveform
99
from fastcs.launch import FastCS
1010
from fastcs.transport.epics.options import (
@@ -37,7 +37,7 @@ class ParentController(Controller):
3737
)
3838

3939

40-
class ChildController(SubController):
40+
class ChildController(Controller):
4141
fail_on_next_e = True
4242
c: AttrW = AttrW(Int(), handler=SimpleAttributeSetter())
4343

tests/example_softioc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from fastcs.attributes import AttrR, AttrRW, AttrW
2-
from fastcs.controller import Controller, SubController
2+
from fastcs.controller import Controller
33
from fastcs.datatypes import Int
44
from fastcs.launch import FastCS
55
from fastcs.transport.epics.ca.transport import EpicsCATransport
@@ -12,7 +12,7 @@ class ParentController(Controller):
1212
b: AttrRW = AttrRW(Int())
1313

1414

15-
class ChildController(SubController):
15+
class ChildController(Controller):
1616
c: AttrW = AttrW(Int())
1717

1818
@command()

0 commit comments

Comments
 (0)