biomek switch back to non-test

This commit is contained in:
Xuwznln
2025-06-08 17:05:48 +08:00
parent 12c17ec26e
commit bab4b1d67a
4 changed files with 1739 additions and 34 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,8 @@ from copy import deepcopy
import yaml
from unilabos.resources.graphio import tree_to_list
# 首先添加项目根目录到路径
current_dir = os.path.dirname(os.path.abspath(__file__))
unilabos_dir = os.path.dirname(os.path.dirname(current_dir))
@@ -145,9 +147,8 @@ def main():
)
devices_and_resources = dict_from_graph(graph_res.physical_setup_graph)
args_dict["resources_config"] = initialize_resources(list(deepcopy(devices_and_resources).values()))
args_dict["resources_config"] = list(devices_and_resources.values())
args_dict["devices_config"] = dict_to_nested_dict(deepcopy(devices_and_resources), devices_only=False)
# args_dict["resources_config"] = dict_to_tree(devices_and_resources, devices_only=False)
args_dict["graph"] = graph_res.physical_setup_graph
else:
if args_dict["devices"] is None or args_dict["resources"] is None:

View File

@@ -1,22 +1,20 @@
import json
import pathlib
from typing import Sequence, Optional, List, Union, Literal
import requests
from typing import List, Sequence, Optional, Union, Literal
from geometry_msgs.msg import Point
from pylabrobot.liquid_handling import LiquidHandler
from unilabos_msgs.msg import Resource
from pylabrobot.resources import (
TipRack,
Container,
Coordinate,
)
from unilabos_msgs.msg import Resource
from unilabos.ros.nodes.resource_tracker import DeviceNodeResourceTracker # type: ignore
from .liquid_handler_abstract import LiquidHandlerAbstract
import json
from typing import Sequence, Optional, List, Union, Literal
#class LiquidHandlerBiomek(LiquidHandlerAbstract):
class LiquidHandlerBiomek:
"""
Biomek液体处理器的实现类继承自LiquidHandlerAbstract。
@@ -214,7 +212,6 @@ class LiquidHandlerBiomek:
liquid_type: list[str],
liquid_volume: list[int],
slot_on_deck: int,
):
"""
创建一个新的资源。
@@ -236,26 +233,25 @@ class LiquidHandlerBiomek:
# TODO需要对好接口下面这个是临时的
for resource in resources:
res_id = resource.id
class_name = resource.class_name
class_name = resource.name
parent = bind_parent_id
bind_locations = Coordinate.from_point(resource.bind_location)
liquid_input_slot = liquid_input_slot
liquid_type = liquid_type
liquid_volume = liquid_volume
slot_on_deck = slot_on_deck
resource = {
"id": res_id,
"class": class_name,
"parent": parent,
"bind_locations": bind_locations.to_dict(),
"liquid_input_slot": liquid_input_slot,
"liquid_type": liquid_type,
"liquid_volume": liquid_volume,
"slot_on_deck": slot_on_deck,
}
self.temp_protocol["labwares"].append(resource)
return resource
resource = {
"id": res_id,
"class": class_name,
"parent": parent,
"bind_locations": bind_location,
"liquid_input_slot": liquid_input_slot,
"liquid_type": liquid_type,
"liquid_volume": liquid_volume,
"slot_on_deck": slot_on_deck,
}
self.temp_protocol["labwares"].append(resource)
return resources
def transfer_liquid(
self,
@@ -439,16 +435,14 @@ class LiquidHandlerBiomek:
return
def transfer_biomek(
self,
source: str,
target: str,
tip_rack: str,
volume: float,
aspirate_techniques: str,
dispense_techniques: str,
self,
source: str,
target: str,
tip_rack: str,
volume: float,
aspirate_techniques: str,
dispense_techniques: str,
):
"""
处理Biomek的液体转移操作。

View File

@@ -293,7 +293,7 @@ liquid_handler.biomek:
description: Biomek液体处理器设备基于pylabrobot控制
icon: icon_yiyezhan.webp
class:
module: unilabos.devices.liquid_handling.biomek_test:LiquidHandlerBiomek
module: unilabos.devices.liquid_handling.biomek:LiquidHandlerBiomek
type: python
status_types: {}
action_value_mappings: