feat(hexapod): add hexapod configuration and pivot device class #301

Merged
wakonig_k merged 1 commits from feature/hexapod_config into main 2026-08-19 16:19:14 +02:00
2 changed files with 102 additions and 13 deletions
+93 -13
View File
@@ -53,16 +53,15 @@ rotx:
acceleration: 0.2
user_offset_dir: 1
limits:
- -0.1
- 0.1
- -0.1
- 0.1
onFailure: buffer
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
############################################################
#################### npoint motors #########################
############################################################
@@ -74,8 +73,8 @@ npx:
axis_Id: A
host: "nPoint000003.psi.ch"
limits:
- -50
- 50
- -50
- 50
port: 23
sign: 1
settle_time: 0.1
@@ -93,8 +92,8 @@ npy:
axis_Id: B
host: "nPoint000003.psi.ch"
limits:
- -50
- 50
- -50
- 50
port: 23
sign: 1
settle_time: 0.1
@@ -112,8 +111,8 @@ np2x:
axis_Id: A
host: "nPoint219026.psi.ch"
limits:
- -25
- 25
- -25
- 25
port: 23
sign: 1
settle_time: 0.08
@@ -144,7 +143,7 @@ test_cam_mic:
readoutPriority: async
deviceTags:
- user_template
############################################################
####################### Smaract ############################
############################################################
@@ -155,8 +154,8 @@ xbpm3x:
axis_Id: A
host: x12sa-eb-smaract-mcs-04.psi.ch
limits:
- -200
- 200
- -200
- 200
port: 5000
sign: -1
# precision: 3
@@ -172,3 +171,84 @@ xbpm3x:
bl_smar_stage: 0
deviceTags:
- user_template
############################################################
####################### Hexapod ############################
############################################################
hx:
description: Hexapod translation x
deviceClass: ophyd_devices.EpicsUserMotorVME
deviceConfig:
prefix: X12SA-EH-HXP1:TRX
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
hy:
description: Hexapod translation y
deviceClass: ophyd_devices.EpicsUserMotorVME
deviceConfig:
prefix: X12SA-EH-HXP1:TRY
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
hz:
description: Hexapod translation z
deviceClass: ophyd_devices.EpicsUserMotorVME
deviceConfig:
prefix: X12SA-EH-HXP1:TRZ
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
hrox:
description: Hexapod rotation x
deviceClass: ophyd_devices.EpicsUserMotorVME
deviceConfig:
prefix: X12SA-EH-HXP1:ROX
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
hroy:
description: Hexapod rotation y
deviceClass: ophyd_devices.EpicsUserMotorVME
deviceConfig:
prefix: X12SA-EH-HXP1:ROY
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
hroz:
description: Hexapod rotation z
deviceClass: ophyd_devices.EpicsUserMotorVME
deviceConfig:
prefix: X12SA-EH-HXP1:ROZ
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
hpivot:
description: Hexapod pivot points
deviceClass: csaxs_bec.devices.epics.hexapod_pivot.HexapodPivot
deviceConfig:
prefix: "X12SA-EH-HXP1:"
onFailure: retry
enabled: true
readoutPriority: baseline
softwareTrigger: false
deviceTags:
- user_template
+9
View File
@@ -0,0 +1,9 @@
from ophyd import Component as Cpt
from ophyd import Device
from ophyd_devices import EpicsSignal
class HexapodPivot(Device):
pivot_x = Cpt(EpicsSignal, "PIVOT_X", kind="normal", auto_monitor=True)
pivot_y = Cpt(EpicsSignal, "PIVOT_Y", kind="normal", auto_monitor=True)
pivot_z = Cpt(EpicsSignal, "PIVOT_Z", kind="normal", auto_monitor=True)