Skip to content

Commit 8ad4fba

Browse files
committed
Add hinted attributes to use in detector drivers
1 parent f83cd30 commit 8ad4fba

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

src/fastcs_odin/controllers/odin_data/frame_processor.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from collections.abc import Sequence
44
from functools import cached_property, partial
55

6-
from fastcs.attributes import AttrR
6+
from fastcs.attributes import AttrR, AttrRW
77
from fastcs.datatypes import Bool, Int
88
from fastcs.logging import bind_logger
99
from fastcs.methods import Command, command
@@ -84,13 +84,20 @@ def __parameter_in_plugin(
8484
class FrameProcessorAdapterController(OdinDataAdapterController):
8585
"""Controller for a frame processor adapter"""
8686

87-
frames_written: AttrR = AttrR(
87+
file_path: AttrRW[str]
88+
file_prefix: AttrRW[str]
89+
acquisition_id: AttrRW[str]
90+
process_frames_per_block: AttrRW[int]
91+
data_compression: AttrRW[str]
92+
data_datatype: AttrRW[str]
93+
94+
frames_written = AttrR(
8895
Int(),
8996
io_ref=StatusSummaryAttributeIORef(
9097
[re.compile(r"[0-9]+"), "HDF"], "frames_written", partial(sum, start=0)
9198
),
9299
)
93-
writing: AttrR = AttrR(
100+
writing = AttrR(
94101
Bool(),
95102
io_ref=StatusSummaryAttributeIORef(
96103
[re.compile(r"[0-9]+"), "HDF"], "writing", any

src/fastcs_odin/controllers/odin_data/meta_writer.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@ async def initialise(self):
2020
create_attribute(parameter=parameter, api_prefix=self._api_prefix),
2121
)
2222

23-
acquisition_id: AttrRW = AttrRW(
23+
acquisition_id = AttrRW(
2424
String(), io_ref=ParameterTreeAttributeIORef("api/0.1/mw/config/acquisition_id")
2525
)
26-
directory: AttrRW = AttrRW(
26+
directory = AttrRW(
2727
String(), io_ref=ParameterTreeAttributeIORef("api/0.1/mw/config/directory")
2828
)
29-
file_prefix: AttrRW = AttrRW(
29+
file_prefix = AttrRW(
3030
String(), io_ref=ParameterTreeAttributeIORef("api/0.1/mw/config/file_prefix")
3131
)
32-
writing: AttrR = AttrR(
32+
writing = AttrR(
3333
Bool(), io_ref=ParameterTreeAttributeIORef("api/0.1/mw/status/writing")
3434
)
35-
written: AttrR = AttrR(
35+
written = AttrR(
3636
Int(), io_ref=ParameterTreeAttributeIORef("api/0.1/mw/status/written")
3737
)
3838

src/fastcs_odin/io/config_fan_sender_attribute_io.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class ConfigFanAttributeIO(AttributeIO[DType_T, ConfigFanAttributeIORef]):
2424
"""AttributeIO for ``ConfigFanAttributeIORef`` Attributes"""
2525

2626
async def send(self, attr: AttrW[DType_T, ConfigFanAttributeIORef], value: Any):
27-
logger.info("Fanning out put", value=value)
27+
logger.info("Fanning out put", value=value, attribute=attr)
2828
await asyncio.gather(
2929
*[
3030
attribute.put(value, sync_setpoint=True)

0 commit comments

Comments
 (0)