wip feat: make simple positioner with config signals

This commit is contained in:
2025-06-23 15:44:46 +02:00
parent 245328adf1
commit f9dea63b1b
4 changed files with 134 additions and 43 deletions

View File

@ -0,0 +1,19 @@
#!/usr/bin/env python3
from textwrap import dedent
from caproto.server import PVGroup, ioc_arg_parser, pvproperty, run
class PositionerIOCTest(PVGroup):
""""""
SETPOINT = pvproperty(value=2.0, doc="A float")
READBACK = pvproperty(value=2.0, doc="A float")
if __name__ == "__main__":
ioc_options, run_options = ioc_arg_parser(
default_prefix="SIM:", desc=dedent(PositionerIOCTest.__doc__)
)
ioc = PositionerIOCTest(**ioc_options)
run(ioc.pvdb, **run_options)

View File

@ -0,0 +1,16 @@
import caproto.ioc_examples.simple
from ophyd import Component as Cpt
from ophyd import EpicsSignal
from ophyd_devices.interfaces.base_classes.psi_positioner_base import PSISimplePositionerBase
class PvTestPositioner(PSISimplePositionerBase):
user_readback = Cpt(EpicsSignal, suffix="READ")
def test_simple_positioner_init():
device = PvTestPositioner("SIM:", name="test", override_suffixes={"user_readback": "READBACK"})
device.user_readback.wait_for_connection()
reading = device.user_readback.read()
assert reading