Fix Deck slot Y-axis inversion: T1 should be top-left, not bottom-left

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>
This commit is contained in:
ALITTLELZ
2026-03-25 17:16:04 +08:00
parent 0c667e68e6
commit 7f4b57f589
2 changed files with 257 additions and 225 deletions

View File

@@ -93,12 +93,12 @@ class PRCXI9300Deck(Deck):
该类定义了 PRCXI 9300 的工作台布局和槽位信息。 该类定义了 PRCXI 9300 的工作台布局和槽位信息。
""" """
# T1-T16 默认位置 (4列×4行) # T1-T16 默认位置 (4列×4行, Y轴从上往下递减, T1在左上角)
_DEFAULT_SITE_POSITIONS = [ _DEFAULT_SITE_POSITIONS = [
(0, 0, 0), (138, 0, 0), (276, 0, 0), (414, 0, 0), # T1-T4 (0, 288, 0), (138, 288, 0), (276, 288, 0), (414, 288, 0), # T1-T4 (第1行, 最上)
(0, 96, 0), (138, 96, 0), (276, 96, 0), (414, 96, 0), # T5-T8 (0, 192, 0), (138, 192, 0), (276, 192, 0), (414, 192, 0), # T5-T8 (第2行)
(0, 192, 0), (138, 192, 0), (276, 192, 0), (414, 192, 0), # T9-T12 (0, 96, 0), (138, 96, 0), (276, 96, 0), (414, 96, 0), # T9-T12 (第3行)
(0, 288, 0), (138, 288, 0), (276, 288, 0), (414, 288, 0), # T13-T16 (0, 0, 0), (138, 0, 0), (276, 0, 0), (414, 0, 0), # T13-T16 (第4行, 最下)
] ]
_DEFAULT_SITE_SIZE = {"width": 128.0, "height": 86, "depth": 0} _DEFAULT_SITE_SIZE = {"width": 128.0, "height": 86, "depth": 0}
_DEFAULT_CONTENT_TYPE = ["plate", "tip_rack", "plates", "tip_racks", "tube_rack", "adaptor", "plateadapter", "module"] _DEFAULT_CONTENT_TYPE = ["plate", "tip_rack", "plates", "tip_racks", "tube_rack", "adaptor", "plateadapter", "module"]

View File

@@ -74,7 +74,7 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 0, "x": 0,
"y": 0, "y": 288,
"z": 0 "z": 0
}, },
"size": { "size": {
@@ -89,7 +89,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
"plateadapter",
"module"
] ]
}, },
{ {
@@ -98,7 +100,7 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 138, "x": 138,
"y": 0, "y": 288,
"z": 0 "z": 0
}, },
"size": { "size": {
@@ -112,7 +114,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
"plateadapter",
"module"
] ]
}, },
{ {
@@ -121,7 +125,7 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 276, "x": 276,
"y": 0, "y": 288,
"z": 0 "z": 0
}, },
"size": { "size": {
@@ -135,7 +139,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
"plateadapter",
"module"
] ]
}, },
{ {
@@ -144,6 +150,231 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 414, "x": 414,
"y": 288,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T5",
"visible": true,
"occupied_by": null,
"position": {
"x": 0,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T6",
"visible": true,
"occupied_by": null,
"position": {
"x": 138,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T7",
"visible": true,
"occupied_by": null,
"position": {
"x": 276,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T8",
"visible": true,
"occupied_by": null,
"position": {
"x": 414,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T9",
"visible": true,
"occupied_by": null,
"position": {
"x": 0,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T10",
"visible": true,
"occupied_by": null,
"position": {
"x": 138,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T11",
"visible": true,
"occupied_by": null,
"position": {
"x": 276,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T12",
"visible": true,
"occupied_by": null,
"position": {
"x": 414,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor",
"plateadapter",
"module"
]
},
{
"label": "T13",
"visible": true,
"occupied_by": null,
"position": {
"x": 0,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -158,214 +389,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
] "plateadapter",
}, "module"
{
"label": "T5",
"visible": true,
"occupied_by": null,
"position": {
"x": 0,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T6",
"visible": true,
"occupied_by": null,
"position": {
"x": 138,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T7",
"visible": true,
"occupied_by": null,
"position": {
"x": 276,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T8",
"visible": true,
"occupied_by": null,
"position": {
"x": 414,
"y": 96,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T9",
"visible": true,
"occupied_by": null,
"position": {
"x": 0,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T10",
"visible": true,
"occupied_by": null,
"position": {
"x": 138,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T11",
"visible": true,
"occupied_by": null,
"position": {
"x": 276,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T12",
"visible": true,
"occupied_by": null,
"position": {
"x": 414,
"y": 192,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
]
},
{
"label": "T13",
"visible": true,
"occupied_by": null,
"position": {
"x": 0,
"y": 288,
"z": 0
},
"size": {
"width": 128.0,
"height": 86,
"depth": 0
},
"content_type": [
"plate",
"tip_rack",
"plates",
"tip_racks",
"tube_rack",
"adaptor"
] ]
}, },
{ {
@@ -374,7 +400,7 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 138, "x": 138,
"y": 288, "y": 0,
"z": 0 "z": 0
}, },
"size": { "size": {
@@ -388,7 +414,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
"plateadapter",
"module"
] ]
}, },
{ {
@@ -397,7 +425,7 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 276, "x": 276,
"y": 288, "y": 0,
"z": 0 "z": 0
}, },
"size": { "size": {
@@ -411,7 +439,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
"plateadapter",
"module"
] ]
}, },
{ {
@@ -420,7 +450,7 @@
"occupied_by": null, "occupied_by": null,
"position": { "position": {
"x": 414, "x": 414,
"y": 288, "y": 0,
"z": 0 "z": 0
}, },
"size": { "size": {
@@ -434,7 +464,9 @@
"plates", "plates",
"tip_racks", "tip_racks",
"tube_rack", "tube_rack",
"adaptor" "adaptor",
"plateadapter",
"module"
] ]
} }
] ]