Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a core, versioned representation of BEC signal metadata (SignalInfo) and adds a scan-time mechanism to broadcast a runtime snapshot of signal info for all devices locked by a scan, published by the device server to a dedicated Redis stream endpoint.
Changes:
- Add
SignalInfoandBECSignalInfoMessagetobec_lib.messagesand register a newbec_signal_infostream endpoint. - Trigger a new device-server instruction (
broadcast_bec_signal_info) after the scanstagestep (direct-scan lifecycle) to request a signal-info snapshot. - Implement device-server handling for
broadcast_bec_signal_infoand publishBECSignalInfoMessageupdates toMessageEndpoints.bec_signal_info().
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| bec_server/bec_server/scan_server/scans/scan_actions.py | Adds an internal helper to send a broadcast_bec_signal_info device instruction for currently owned device locks. |
| bec_server/bec_server/scan_server/direct_scan_worker.py | Calls the new broadcast hook after the stage lifecycle step in direct scans. |
| bec_server/bec_server/device_server/device_server.py | Adds instruction routing + implementation to collect BECMessageSignal.signal_info and publish a BECSignalInfoMessage to a Redis stream. |
| bec_lib/bec_lib/messages.py | Adds SignalInfo and BECSignalInfoMessage to the shared cross-service message contract and registers the new device instruction action. |
| bec_lib/bec_lib/endpoints.py | Adds MessageEndpoints.bec_signal_info() for publishing signal-info snapshots. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
wakonig
force-pushed
the
feature/bec_signal_info
branch
2 times, most recently
from
September 1, 2026 11:42
3fe1583 to
5cdeeff
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
wakonig
force-pushed
the
feature/bec_signal_info
branch
2 times, most recently
from
September 7, 2026 11:50
2636028 to
b3cc123
Compare
wakonig
force-pushed
the
feature/bec_signal_info
branch
from
September 7, 2026 13:12
b3cc123 to
b8b68cc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR moves the SignalInfo class from ophyd devices to BEC core and inspects the devices upon request to broadcast a runtime snapshot of the signal info per scan. This is the first step towards a more general support of acquisition groups and aliases in BEC signals.