Files
csaxs_bec/tests
x01dcandClaude Sonnet 5 3ffcdf5128
CI for csaxs_bec / test (push) Successful in 2m20s
fix(omny): parking overwrite guard, active-slot leica targets, shuttle-scoped print; add measured-status+account encoding and P-touch label printing
- Widget: reject assigning a shuttle to a parking slot already held by a
  different shuttle ("Slot in use", clear it first) instead of silently
  overwriting.
- Widget: PDF report now shows only the 3 shuttles + their samples (title
  "OMNY Shuttle Samples") -- stage/gripper/fixed-O positions can't
  physically leave the vacuum chamber, so a printed report has nothing
  useful to say about them. The on-screen widget still shows/manages all
  of it.
- Widget: fixed the active-parking-slot badge never showing for a
  loadlock-driven park. Root cause: otransfer_park_loadlock_slot() drives
  oparkz to a different target-position table (base -6, "leica") than the
  regular otransfer_park_slot() (base -0.9); the widget only recognized
  the regular one. Now checks both.
- OMNYSampleStorage: measured status now packs status *and* the beamtime
  account into one VAL -- 0 = not measured, negative 5-digit = started,
  positive 5-digit = completed, falling back to FALLBACK_ACCOUNT (11111)
  for anything that doesn't parse as exactly 5 digits. No IOC schema
  change needed (same ai record). New get_sample_account()(+gripper/
  samplestage variants); set_sample_status() now takes an account param;
  show_all()/help() updated. otransfer_* CLI wrappers updated to match.
- Widget: new P-touch label-print offer, but only when clearing a
  *shuttle* slot (not fixed-O/stage/gripper -- those are bookkeeping
  corrections, not physical sample removal, since only shuttle samples
  leave the vacuum chamber). Uses a separate PTouchLabelPrinter instance
  at template 3 (not yet bench-tested against a real printer, unlike
  FlOMNI's confirmed-working template 1), same field names as FlOMNI.
- AI_docs/OPEN_ISSUES.md: noted that the measured-status+account encoding
  should be ported to FlOMNI at some point (separate task, not this
  branch's scope -- FlOMNI's own status tracking is untouched, still the
  redis-based _MeasuredSampleLog).
- New tests: encode/decode round-trips + fallback behavior for the
  status+account VAL scheme, plus oparkz leica-target coverage.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Mupip8x7Hean6E3FFvpbj
2026-09-03 19:51:58 +02:00
..
2026-06-24 12:55:32 +02:00