Add PRCXI functional modules and fix Deck layout#250
Merged
q434343 merged 6 commits intodeepmodeling:prcix9320from Mar 26, 2026
Merged
Add PRCXI functional modules and fix Deck layout#250q434343 merged 6 commits intodeepmodeling:prcix9320from
q434343 merged 6 commits intodeepmodeling:prcix9320from
Conversation
…egistry config Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts: # unilabos/devices/liquid_handling/prcxi/prcxi.py
…uleSite PRCXI9300PlateAdapterSite was already removed by upstream/prcix9320. Its functionality is now provided by PRCXI9300ModuleSite which serves as the base class for functional modules (heating/cooling/shaking/magnetic). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Upstream rewrite of PRCXI9300Deck lost the Y-axis flip logic from the original `(3-row)*96+13` formula. T1-T4 were rendered at the bottom instead of the top. Reversed _DEFAULT_SITE_POSITIONS Y coordinates and updated prcxi_9320_slim.json accordingly. Also added "plateadapter" and "module" to slim JSON content_type entries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Added PRCXI9300ModuleSite and PRCXI9300FunctionalModule to the PLR class registration in plr_additional_res_reg.py so find_subclass can locate them during deserialization of cached cloud data. Also added "module" and "carrier" to replace_plr_type and TYPE_MAP in resource_tracker.py to suppress unknown type warnings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
PRCXI9300ModuleSite(inheritsItemizedCarrier) as a dedicated resource class for functional modules(heating/cooling/shaking/magnetic), supporting deck slot placement and plate stacking on top
PRCXI9300FunctionalModulesubclass and factory functions for 5 module types, with registry config(
modules.yaml)"module"and"plateadapter"to Deck_DEFAULT_CONTENT_TYPEand slim JSONcontent_typeplr_additional_res_reg.pyand add"module"/"carrier"toresource_tracker.pytype maps for proper deserialization
Changed files
prcxi.py— NewPRCXI9300ModuleSiteclass, Deck Y-axis fix, content_type updateprcxi_modules.py— NewPRCXI9300FunctionalModule+ 5 factory functionsmodules.yaml— Registry entries for all 5 module typesplr_additional_res_reg.py— Class registration for PLRfind_subclassresource_tracker.py—replace_plr_typeandTYPE_MAPadditionsprcxi_9320_slim.json— Y-axis position fix + content_type updateTest plan
PRCXI9300FunctionalModulecorrectly inheritsPRCXI9300ModuleSite→ItemizedCarriercategoryis"module"(no longer faking"plate_adapter")"module"incontent_typecontent_type