From 92be4440699700ecc06ebd64ab781d765a7b7b54 Mon Sep 17 00:00:00 2001 From: x01dc Date: Fri, 30 Oct 2026 09:42:40 +0100 Subject: [PATCH] config(sastt): SmarGon goniometer in sastt_aerotech_panda.yaml Coordinator + SHX/SHY/SHZ/CHI/PHI motors as in smargon.yaml (smargopolo REST API, host tt-smargopolo, port 3000). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01M8zoDzDfsCTY2o5bT3J7Wv --- .../device_configs/sastt_aerotech_panda.yaml | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/csaxs_bec/device_configs/sastt_aerotech_panda.yaml b/csaxs_bec/device_configs/sastt_aerotech_panda.yaml index af25697c..293719a7 100644 --- a/csaxs_bec/device_configs/sastt_aerotech_panda.yaml +++ b/csaxs_bec/device_configs/sastt_aerotech_panda.yaml @@ -139,3 +139,73 @@ pandatrig: readoutPriority: baseline deviceTags: - sastt_aerotech + +############################################################ +# SmarGon goniometer (smargopolo REST API, host tt-smargopolo, port 3000), as smargon.yaml. +# All entries share one controller (same host/port). Referencing is a deliberate operator +# action after loading: dev.smargon.reference() +############################################################ + +# --- Coordinator (whole-goniometer ops: reference/mode/move_scs/diagnostics) ------ +smargon: + description: SmarGon coordinator (referencing, mode, coordinated moves) + deviceClass: csaxs_bec.devices.smargon.smargon.SmarGon + deviceConfig: + host: tt-smargopolo # cSAXS beamline smargopolo REST API + port: 3000 # REST API port (per maintainer). NB: :8080 is the web GUI, not the API + timeout: 5.0 + deviceTags: [goniometer, smargon] + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + softwareTrigger: false + +# --- SCS axis motors -------------------------------------------------------------- +# Limits from the MX-lab reference client (resources_2/Smargon.py) -- VERIFY per build. +# NOTE: SHZ is not centred on 0 (home ~18); PHI is continuous (client wraps to +# [-180,180) -- open question whether smargopolo wraps server-side). +sgx: + description: SmarGon SHX (sample X) + deviceClass: csaxs_bec.devices.smargon.positioner.SmargopoloMotor + deviceConfig: {scs_axis: SHX, host: tt-smargopolo, port: 3000, limits: [-2, 2], tolerance: 0.001} + deviceTags: [goniometer, smargon] + enabled: true + onFailure: retry + readoutPriority: baseline + +sgy: + description: SmarGon SHY (sample Y) + deviceClass: csaxs_bec.devices.smargon.positioner.SmargopoloMotor + deviceConfig: {scs_axis: SHY, host: tt-smargopolo, port: 3000, limits: [-2, 2], tolerance: 0.001} + deviceTags: [goniometer, smargon] + enabled: true + onFailure: retry + readoutPriority: baseline + +sgz: + description: SmarGon SHZ (sample Z) + deviceClass: csaxs_bec.devices.smargon.positioner.SmargopoloMotor + deviceConfig: {scs_axis: SHZ, host: tt-smargopolo, port: 3000, limits: [10, 22], tolerance: 0.001} + deviceTags: [goniometer, smargon] + enabled: true + onFailure: retry + readoutPriority: baseline + +sgchi: + description: SmarGon CHI (goniometer tilt) + deviceClass: csaxs_bec.devices.smargon.positioner.SmargopoloMotor + deviceConfig: {scs_axis: CHI, host: tt-smargopolo, port: 3000, limits: [0, 65], tolerance: 0.01} + deviceTags: [goniometer, smargon] + enabled: true + onFailure: retry + readoutPriority: baseline + +sgphi: + description: SmarGon PHI (goniometer rotation) + deviceClass: csaxs_bec.devices.smargon.positioner.SmargopoloMotor + deviceConfig: {scs_axis: PHI, host: tt-smargopolo, port: 3000, limits: [-180, 180], tolerance: 0.01} + deviceTags: [goniometer, smargon] + enabled: true + onFailure: retry + readoutPriority: baseline