[TRCL-675][fix] SPARC GUI: don't prevent acquisition when ebeam-gun-exciter interlock is open#3371
Conversation
There was a problem hiding this comment.
Pull request overview
Adjusts SPARC acquisition UI gating so that an open e-beam gun exciter interlock does not block acquisitions (since it would at worst produce a dark measurement), while keeping existing interlock handling for systems that expose the light/laser interlock VA.
Changes:
- Introduces
_interlock_blocks_acquisitionto control whether an interlock state disables acquisition. - Sets
_interlock_blocks_acquisition = Falsewhen subscribing toebeam_gun_exciter.interlockTriggered. - Updates
update_acquisition_time()to only disable acquisition when both the interlock is triggered and blocking is enabled.
…erlock is open As much as the light (aka laser) interlock can indicate a safety issue (because it can mean the SPARC optical path is opened), an acquisition with with the ebeam-gun-exciter interlock open would at worse mean that it would acquire a dark measurement. More over, in many cases, the user might not even want to be using the gun exciter. So no need to prevent the acquisition in such case.
26668e4 to
383d815
Compare
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThe pull request modifies the SPARC acquisition controller to introduce fine-grained control over whether a triggered laser interlock blocks acquisition. A new private flag Sequence DiagramsequenceDiagram
participant User as User/Acquisition Request
participant Acq as Acquisition Controller
participant Interlock as Laser Interlock
participant Blanker as Blanker
participant Engine as Acquisition Engine
User->>Acq: Start Acquisition
Acq->>Interlock: Check interlockTriggered status
Interlock-->>Acq: Interlock status
alt Interlock Triggered and _interlock_blocks_acquisition = True
Acq->>User: Block Acquisition (Warning)
else Interlock Triggered and _interlock_blocks_acquisition = False
Acq->>User: Warn about interlock
Acq->>Blanker: Preserve/Restore blanker state
Blanker-->>Acq: State preserved
Acq->>Engine: Proceed with Acquisition
Engine-->>Acq: Acquisition running
else Interlock Not Triggered
Acq->>Engine: Proceed with Acquisition
Engine-->>Acq: Acquisition running
end
✨ Finishing Touches
🧪 Generate unit tests (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
As much as the light (aka laser) interlock can indicate a safety issue
(because it can mean the SPARC optical path is opened), an acquisition with
with the ebeam-gun-exciter interlock open would at worse mean that it
would acquire a dark measurement. More over, in many cases, the user
might not even want to be using the gun exciter. So no need to prevent
the acquisition in such case.