Fix legacy VSpin grip validation and add centrifuge events - #1212
Merged
Conversation
Member
|
thanks good find |
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.
Summary
Fix the legacy Access2 loader's
grip_stepsvalidation and add canonical EventBus coverage to the resource-aware legacy centrifuge and loader frontends.Legacy Access2 bug fix
Access2Backend.load()currently uses:This rejects every valid value, including the default
grip_steps=1, before the loader sends any hardware command. The condition was introduced with the configurable grip-step feature in #1140;unload()already uses the intended predicate.This PR changes
load()to the matching validation:Regression coverage verifies that the default reaches the existing loader command sequence and that an invalid value fails before any command is sent.
Legacy centrifuge EventBus coverage
The modern Agilent VSpin and Access2 frontends already emit:
centrifuge.spincentrifuge_loader.loadcentrifuge_loader.unloadThis PR adds the same canonical semantic operations to the resource-aware legacy
CentrifugeandLoaderfrontends. Instrumenting the frontends rather than the FTDI backends allows events to report the actual PLR resources and physical transfer endpoints.centrifuge.spinreports:device;resources;bucket_resources;relative_centrifugal_forceandduration;acceleration_fractionanddeceleration_fractionwhen the backend exposes them.Loader operations report the directly moved plate and actual holders:
centrifuge_loader.load: loader to selected bucket;centrifuge_loader.unload: selected bucket to loader.The context factories exactly match their decorated public method calling semantics, including positional
ganddurationarguments and forwarded backend keyword arguments. Their fields follow the EventBus contracts formalized in #1210.Compatibility
CentrifugeandLoaderbackends receive the same semantic operation family using their own resource model and backend defaults.Verification
git diff --check: clean