Device code to 9.6

This commit is contained in:
gac-x05la
2025-04-16 15:47:28 +02:00
parent 3689ec0677
commit 9a878db49a
5 changed files with 17 additions and 6 deletions

View File

@@ -1,7 +1,6 @@
from .aerotech import (
aa1AxisDriveDataCollection,
aa1AxisPsoDistance,
aa1Controller,
aa1GlobalVariableBindings,
aa1GlobalVariables,
aa1Tasks,

View File

@@ -63,6 +63,7 @@ class aa1AxisDriveDataCollection(PSIDeviceBase, Device):
USER_ACCESS = ["configure", "reset", "arm", "disarm"]
# pylint: disable=duplicate-code, too-many-arguments
def __init__(
self,
prefix="",

View File

@@ -17,7 +17,7 @@ from bec_lib import bec_logger
logger = bec_logger.logger
class aa1AxisPsoBase(PSIDeviceBase, Device):
class AerotechPsoBase(PSIDeviceBase, Device):
"""Position Sensitive Output - Base class
This class provides convenience wrappers around the Aerotech IOC's PSO
@@ -91,6 +91,7 @@ class aa1AxisPsoBase(PSIDeviceBase, Device):
outPin = Component(EpicsSignalRO, "PIN", auto_monitor=True, kind=Kind.config)
outSource = Component(EpicsSignal, "SOURCE", put_complete=True, kind=Kind.config)
# pylint: disable=duplicate-code, too-many-arguments
def __init__(
self,
prefix="",
@@ -168,7 +169,7 @@ class aa1AxisPsoBase(PSIDeviceBase, Device):
self.outSource.set("Window").wait()
class aa1AxisPsoDistance(aa1AxisPsoBase):
class aa1AxisPsoDistance(AerotechPsoBase):
"""Position Sensitive Output - Distance mode
This class provides convenience wrappers around the Aerotech API's PSO functionality in

View File

@@ -6,7 +6,7 @@ interface.
@author: mohacsi_i
"""
from ophyd import Device, Component, EpicsSignal, EpicsSignalRO, Kind
from ophyd.status import DeviceStatus, SubscriptionStatus
from ophyd.status import SubscriptionStatus
from ophyd_devices.interfaces.base_classes.psi_device_base import PSIDeviceBase
@@ -63,6 +63,7 @@ class aa1Tasks(PSIDeviceBase, Device):
EpicsSignal, "FILEWRITE", string=True, kind=Kind.omitted, put_complete=True
)
# pylint: disable=duplicate-code, too-many-arguments
def __init__(
self,
prefix="",
@@ -88,7 +89,11 @@ class aa1Tasks(PSIDeviceBase, Device):
)
def configure(self, d: dict) -> tuple:
"""Configuration interface for flying"""
"""Configure the scripting interface
Handles AeroScript loading and the launching of existing script files
on the Automation1 iSMC. The interface is meant to be used for flying.
"""
# Common operations
old = self.read_configuration()
self.switch.set("Reset").wait()

View File

@@ -1,4 +1,9 @@
from .AerotechTasks import aa1Tasks
from .AerotechPso import aa1AxisPsoDistance
from .AerotechDriveDataCollection import aa1AxisDriveDataCollection
from .AerotechAutomation1 import aa1Controller, aa1GlobalVariables, aa1GlobalVariableBindings, aa1AxisIo
from .AerotechAutomation1 import (
aa1Controller,
aa1GlobalVariables,
aa1GlobalVariableBindings,
aa1AxisIo,
)