Source code for ophyd_async.fastcs.panda._detector

from __future__ import annotations

from ophyd_async.core import PathProvider, StandardDetector
from ophyd_async.fastcs.core import fastcs_connector

from ._arm_logic import PandaArmLogic
from ._block import CommonPandaBlocks
from ._data_logic import PandaHDFDataLogic
from ._trigger_logic import PandaTriggerLogic

MINIMUM_PANDA_IOC = "0.11.4"


[docs] class HDFPanda(CommonPandaBlocks, StandardDetector): """PandA with common blocks for standard HDF writing.""" def __init__( self, prefix: str, path_provider: PathProvider, name: str = "", ): error_hint = f"Is PandABlocks-ioc at least version {MINIMUM_PANDA_IOC}?" # This has to be first so we make self.pcap connector = fastcs_connector(prefix, self, error_hint) self.add_detector_logics( PandaTriggerLogic(self.pcap), PandaArmLogic(self.pcap), PandaHDFDataLogic(path_provider, self.data), ) super().__init__(name=name, connector=connector)