Skip to content

Commit

Permalink
Rename panda files to match ADR (#486)
Browse files Browse the repository at this point in the history
Some of the panda files were missed for renaming in the ADR, this resolves that.
  • Loading branch information
abbiemery committed Jul 24, 2024
1 parent 336959d commit 0212e87
Show file tree
Hide file tree
Showing 8 changed files with 13 additions and 17 deletions.
4 changes: 2 additions & 2 deletions docs/how-to/make-a-standard-detector.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ Writing a non-AreaDetector StandardDetector
A non-AreaDetector `StandardDetector` should implement `DetectorControl` and `DetectorWriter` directly.
Here we construct a `DetectorControl` that co-ordinates signals on a PandA PositionCapture block - a child device "pcap" of the `StandardDetector` implementation, analogous to the :py:class:`FooDriver`.

.. literalinclude:: ../../src/ophyd_async/fastcs/panda/_panda_controller.py
.. literalinclude:: ../../src/ophyd_async/fastcs/panda/_control.py
:pyobject: PandaPcapController

The PandA may write a number of fields, and the :py:class:`PandaHDFWriter` co-ordinates those, configures the filewriter and describes the data for the RunEngine.

.. literalinclude:: ../../src/ophyd_async/fastcs/panda/_hdf_writer.py
.. literalinclude:: ../../src/ophyd_async/fastcs/panda/_writer.py
:pyobject: PandaHDFWriter

The PandA StandardDetector implementation simply ties the component parts and its child devices together.
Expand Down
6 changes: 3 additions & 3 deletions src/ophyd_async/fastcs/panda/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from ._common_blocks import (
from ._block import (
CommonPandaBlocks,
DataBlock,
EnableDisableOptions,
Expand All @@ -9,9 +9,8 @@
SeqBlock,
TimeUnits,
)
from ._control import PandaPcapController
from ._hdf_panda import HDFPanda
from ._hdf_writer import PandaHDFWriter
from ._panda_controller import PandaPcapController
from ._table import (
DatasetTable,
PandaHdf5DatasetType,
Expand All @@ -28,6 +27,7 @@
StaticSeqTableTriggerLogic,
)
from ._utils import phase_sorter
from ._writer import PandaHDFWriter

__all__ = [
"CommonPandaBlocks",
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
wait_for_value,
)

from ._common_blocks import PcapBlock
from ._block import PcapBlock


class PandaPcapController(DetectorControl):
Expand Down
6 changes: 3 additions & 3 deletions src/ophyd_async/fastcs/panda/_hdf_panda.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
from ophyd_async.core import DEFAULT_TIMEOUT, PathProvider, SignalR, StandardDetector
from ophyd_async.epics.pvi import create_children_from_annotations, fill_pvi_entries

from ._common_blocks import CommonPandaBlocks
from ._hdf_writer import PandaHDFWriter
from ._panda_controller import PandaPcapController
from ._block import CommonPandaBlocks
from ._control import PandaPcapController
from ._writer import PandaHDFWriter


class HDFPanda(CommonPandaBlocks, StandardDetector):
Expand Down
2 changes: 1 addition & 1 deletion src/ophyd_async/fastcs/panda/_trigger.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from ophyd_async.core import TriggerLogic, wait_for_value

from ._common_blocks import PcompBlock, PcompDirectionOptions, SeqBlock, TimeUnits
from ._block import PcompBlock, PcompDirectionOptions, SeqBlock, TimeUnits
from ._table import SeqTable


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
wait_for_value,
)

from ._common_blocks import CommonPandaBlocks
from ._block import CommonPandaBlocks


class PandaHDFWriter(DetectorWriter):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,15 @@ class PcapBlock(Device):
pass # Not filled

pandaController = PandaPcapController(pcap=PcapBlock())
with patch(
"ophyd_async.fastcs.panda._panda_controller.wait_for_value", return_value=None
):
with patch("ophyd_async.fastcs.panda._control.wait_for_value", return_value=None):
with pytest.raises(AttributeError) as exc:
await pandaController.arm(num=1, trigger=DetectorTrigger.constant_gate)
assert ("'PcapBlock' object has no attribute 'arm'") in str(exc.value)


async def test_panda_controller_arm_disarm(mock_panda):
pandaController = PandaPcapController(mock_panda.pcap)
with patch(
"ophyd_async.fastcs.panda._panda_controller.wait_for_value", return_value=None
):
with patch("ophyd_async.fastcs.panda._control.wait_for_value", return_value=None):
await pandaController.arm(num=1, trigger=DetectorTrigger.constant_gate)
await pandaController.disarm()

Expand Down

0 comments on commit 0212e87

Please sign in to comment.