Skip to content

AttrW setpoint cache, native timestamps + severity, ControllerRunner #395

Description

@coretl

Scope

  • AttrW setpoint cache with a .get_setpoint() method (0016 L96) — needed for ophyd locate(), useful to all transports.
  • Native timestamps (+ severity) on attribute updates: follow the Reading shape but share no code (0016 L101); severity is a fastcs enum using the same strings as EPICS (0016 L104).
  • ControllerRunner: a class with start/stop (context manager only if it makes sense for the FastCS() case; ophyd-async uses start/stop; idempotency is the caller's responsibility). It owns the whole lifecycle incl. reconnect (0016 L108/L112). Extract from FastCS.serve. Document the stable interface (decision 13).

Key files (§9)

src/fastcs/attributes/, control_system.py (FastCS.serve).

Acceptance

uv run --locked tox -e pre-commit,type-checking,tests green.

ADR: 0016
Parent: #388
Blocked by: #392

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions