mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-06 15:05:13 +00:00
Update PRCXI
This commit is contained in:
@@ -715,8 +715,8 @@ class LiquidHandlerAbstract(LiquidHandlerMiddleware):
|
|||||||
tip = []
|
tip = []
|
||||||
for _ in range(len(use_channels)):
|
for _ in range(len(use_channels)):
|
||||||
tip.extend(next(self.current_tip))
|
tip.extend(next(self.current_tip))
|
||||||
await self.pick_up_tips(tip)
|
|
||||||
|
|
||||||
|
await self.pick_up_tips(tip)
|
||||||
for _ in range(len(targets)):
|
for _ in range(len(targets)):
|
||||||
await self.aspirate(
|
await self.aspirate(
|
||||||
resources=reagent_sources,
|
resources=reagent_sources,
|
||||||
@@ -740,6 +740,7 @@ class LiquidHandlerAbstract(LiquidHandlerMiddleware):
|
|||||||
liquid_height=[liquid_height[1]] if liquid_height else None,
|
liquid_height=[liquid_height[1]] if liquid_height else None,
|
||||||
spread=spread,
|
spread=spread,
|
||||||
)
|
)
|
||||||
|
|
||||||
if delays is not None:
|
if delays is not None:
|
||||||
await self.custom_delay(seconds=delays[1])
|
await self.custom_delay(seconds=delays[1])
|
||||||
await self.mix(
|
await self.mix(
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ class PRCXI9300Trash(Trash):
|
|||||||
|
|
||||||
class PRCXI9300Handler(LiquidHandlerAbstract):
|
class PRCXI9300Handler(LiquidHandlerAbstract):
|
||||||
support_touch_tip = False
|
support_touch_tip = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def reset_ok(self) -> bool:
|
def reset_ok(self) -> bool:
|
||||||
"""检查设备是否已重置成功。"""
|
"""检查设备是否已重置成功。"""
|
||||||
@@ -455,7 +456,6 @@ class PRCXI9300Backend(LiquidHandlerBackend):
|
|||||||
|
|
||||||
"""Pick up tips from the specified resource."""
|
"""Pick up tips from the specified resource."""
|
||||||
|
|
||||||
|
|
||||||
plate = ops[0].resource.parent.parent
|
plate = ops[0].resource.parent.parent
|
||||||
deck = plate.parent
|
deck = plate.parent
|
||||||
plate_index = deck.children.index(plate)
|
plate_index = deck.children.index(plate)
|
||||||
@@ -474,8 +474,6 @@ class PRCXI9300Backend(LiquidHandlerBackend):
|
|||||||
hole_numbers="1,2,3,4,5,6,7,8",
|
hole_numbers="1,2,3,4,5,6,7,8",
|
||||||
)
|
)
|
||||||
self.steps_todo_list.append(step)
|
self.steps_todo_list.append(step)
|
||||||
|
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -1001,12 +999,15 @@ class PRCXI9300Api:
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# Example usage
|
# Example usage
|
||||||
|
# from pylabrobot.resources import set_volume_tracking
|
||||||
|
# from pylabrobot.resources import set_tip_tracking
|
||||||
|
# set_tip_tracking(True)
|
||||||
deck = PRCXI9300Deck(name="PRCXI Deck", size_x=100, size_y=100, size_z=100)
|
deck = PRCXI9300Deck(name="PRCXI Deck", size_x=100, size_y=100, size_z=100)
|
||||||
plate1 = PRCXI9300Container(name="rackT1", size_x=50, size_y=50, size_z=10, category="plate")
|
plate1 = PRCXI9300Container(name="rackT1", size_x=50, size_y=50, size_z=10, category="plate")
|
||||||
plate1.load_state({
|
plate1.load_state({
|
||||||
"Material": {
|
"Material": {
|
||||||
"uuid": "80652665f6a54402b2408d50b40398df",
|
"uuid": "80652665f6a54402b2408d50b40398df",
|
||||||
"Code": "ZX-001-1000",
|
"Co#de": "ZX-001-1000",
|
||||||
"Name": "1000μL Tip头",
|
"Name": "1000μL Tip头",
|
||||||
"SummaryName": "1000μL Tip头",
|
"SummaryName": "1000μL Tip头",
|
||||||
"PipetteHeight": 100,
|
"PipetteHeight": 100,
|
||||||
@@ -1070,16 +1071,24 @@ if __name__ == "__main__":
|
|||||||
deck.assign_child_resource(plate5, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(plate5, location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(plate6, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(plate6, location=Coordinate(0, 0, 0))
|
||||||
|
|
||||||
|
print(plate2)
|
||||||
|
# plate_2_liquids = [[(None, 500)]]*96
|
||||||
|
|
||||||
|
# plate2.set_well_liquids(plate_2_liquids)
|
||||||
|
|
||||||
|
|
||||||
handler = PRCXI9300Handler(deck=deck, host="192.168.3.9", port=9999, timeout=10.0, setup=False, debug=True)
|
handler = PRCXI9300Handler(deck=deck, host="192.168.3.9", port=9999, timeout=10.0, setup=False, debug=True)
|
||||||
handler.set_tiprack([tip_rack]) # Set the tip rack for the handler
|
handler.set_tiprack([tip_rack]) # Set the tip rack for the handler
|
||||||
asyncio.run(handler.setup()) # Initialize the handler and setup the connection
|
asyncio.run(handler.setup()) # Initialize the handler and setup the connection
|
||||||
asyncio.run(handler.create_protocol(protocol_name="Test Protocol")) # Initialize the backend and setup the connection
|
asyncio.run(handler.create_protocol(protocol_name="Test Protocol")) # Initialize the backend and setup the connection
|
||||||
# asyncio.run(handler.pick_up_tips(tip_rack.children[:8],[0,1,2,3,4,5,6,7]))
|
# asyncio.run(handler.pick_up_tips(tip_rack.children[:8],[0,1,2,3,4,5,6,7]))
|
||||||
|
|
||||||
# asyncio.run(handler.aspirate(well_containers.children[:8],[50]*8, [0,1,2,3,4,5,6,7]))
|
# asyncio.run(handler.aspirate(well_containers.children[:8],[50]*8, [0,1,2,3,4,5,6,7]))
|
||||||
# asyncio.run(handler.dispense(well_containers.children[:8],[50]*8,[0,1,2,3,4,5,6,7]))
|
# asyncio.run(handler.dispense(well_containers.children[:8],[50]*8,[0,1,2,3,4,5,6,7]))
|
||||||
#asyncio.run(handler.drop_tips(tip_rack.children[8:16],[0,1,2,3,4,5,6,7]))
|
# asyncio.run(handler.drop_tips(tip_rack.children[8:16],[0,1,2,3,4,5,6,7]))
|
||||||
# asyncio.run(handler.discard_tips())
|
# asyncio.run(handler.discard_tips())
|
||||||
# asyncio.run(handler.mix(well_containers.children[:8], mix_time=3, mix_vol=50, height_to_bottom=0.5, offsets=Coordinate(0, 0, 0), mix_rate=100))
|
# asyncio.run(handler.mix(well_containers.children[:8
|
||||||
|
# ], mix_time=3, mix_vol=50, height_to_bottom=0.5, offsets=Coordinate(0, 0, 0), mix_rate=100))
|
||||||
#print(json.dumps(handler._unilabos_backend.steps_todo_list, indent=2)) # Print matrix info
|
#print(json.dumps(handler._unilabos_backend.steps_todo_list, indent=2)) # Print matrix info
|
||||||
asyncio.run(handler.add_liquid(
|
asyncio.run(handler.add_liquid(
|
||||||
asp_vols=[100]*16,
|
asp_vols=[100]*16,
|
||||||
|
|||||||
Reference in New Issue
Block a user