Feature/mcs2 #287

Merged
holler merged 2 commits from feature/mcs2 into main 2026-07-30 13:11:40 +02:00
2 Commits
Author SHA1 Message Date
x12saandClaude Sonnet 5 771ee01a57 feat: migrate optics-hutch SmarAct stages to MCS2, align cross-controller compat
CI for csaxs_bec / test (pull_request) Successful in 3m48s
Read the Docs Deploy Trigger / trigger-rtd-webhook (push) Successful in 2s
CI for csaxs_bec / test (push) Successful in 2m7s
- Switch xbpm2x/xbpm2y/polrot/poly/scinx in bl_optics_hutch.yaml from the
  legacy MCS1 controller to the new MCS2 controller (mcs2-00029056.psi.ch),
  re-enabling polrot/poly with corrected axis assignments from the updated
  wiring table to avoid colliding with xbpm2x/xbpm2y on the same channel.
- Remove mcs2_config_test.yaml now that MCS2 is live on real stages.
- Give Mcs2Controller.find_reference_mark an unused hold_time parameter so
  shared call sites (smaract.py, flomni.py, omny.py, lamni_optics_mixin.py)
  that pass MCS1-style (axis, direction, holdTime, autoZero) args work
  unchanged against MCS2 devices too.
- Rename smaract_show_all/mcs2_show_all to a common show_all on both
  controllers, and have each list describe() from every registered MCS1 and
  MCS2 controller instead of only its own type.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UfjGm8MQrhCV8VaC9Tf4qx
2026-07-30 12:04:10 +02:00
Mirko HollerandClaude Sonnet 5 a65ab6cbdd feat: add SmarAct MCS2 device driver
CI for csaxs_bec / test (push) Successful in 1m54s
Adds a new driver for the SmarAct MCS2 controller (MCS2-C-0008, 9 channels),
parallel to the existing MCS1 (SCU) implementation. Uses the MCS2's raw
ASCII/SCPI interface over TCP (port 55551), which differs from MCS1 in units
(picometers), message termination (\r\n), and error handling (a polled error
queue instead of inline echoes).

- csaxs_bec/devices/mcs2: Mcs2Controller/Mcs2Motor and errors
- csaxs_bec/devices/sim/sim_mcs2.py: simulated backend for testing
- tests/tests_devices/test_mcs2.py: unit tests + sim end-to-end test
- device_configs: commented example stage in bl_optics_hutch.yaml, and a
  standalone single-axis mcs2_config_test.yaml

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 17:42:15 +02:00