diff --git a/src/ophyd_async/epics/core/_pvi_connector.py b/src/ophyd_async/epics/core/_pvi_connector.py index 023c57b4b..8765a8004 100644 --- a/src/ophyd_async/epics/core/_pvi_connector.py +++ b/src/ophyd_async/epics/core/_pvi_connector.py @@ -54,11 +54,11 @@ def create_children_from_annotations(self, device: Device): def _fill_child(self, name: str, entry: Entry, vector_index: int | None = None): if set(entry) == {"d"}: - connector = self.filler.fill_child_device(name) + connector = self.filler.fill_child_device(name, vector_index=vector_index) connector.pvi_pv = entry["d"] else: signal_type, read_pv, write_pv = _get_signal_details(entry) - backend = self.filler.fill_child_signal(name, signal_type) + backend = self.filler.fill_child_signal(name, signal_type, vector_index) backend.read_pv = read_pv backend.write_pv = write_pv diff --git a/tests/fastcs/panda/test_panda_connect.py b/tests/fastcs/panda/test_panda_connect.py index 775d5b950..a5a88d7d8 100644 --- a/tests/fastcs/panda/test_panda_connect.py +++ b/tests/fastcs/panda/test_panda_connect.py @@ -122,8 +122,9 @@ async def test_panda_with_missing_blocks(panda_pva, panda_t): with pytest.raises( RuntimeError, match=re.escape( - "mypanda: cannot provision ['pcap'] from PANDAQSRVI:PVI: {'pulse1': " - "{'d': 'PANDAQSRVI:PULSE1:PVI'}, 'seq1': {'d': 'PANDAQSRVI:SEQ1:PVI'}}" + "mypanda: cannot provision ['pcap'] from PANDAQSRVI:PVI: " + "{'pulse': [None, {'d': 'PANDAQSRVI:PULSE1:PVI'}]," + " 'seq': [None, {'d': 'PANDAQSRVI:SEQ1:PVI'}]}" ), ): await panda.connect()