mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-07 23:45:10 +00:00
Compare commits
3 Commits
3181671a29
...
d289c01a34
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d289c01a34 | ||
|
|
badf402457 | ||
|
|
4d98e1c46c |
21197
deck_9300_new.json
21197
deck_9300_new.json
File diff suppressed because it is too large
Load Diff
@@ -4388,11 +4388,11 @@ liquid_handler:
|
||||
deck:
|
||||
type: string
|
||||
simulator:
|
||||
default: false
|
||||
type: boolean
|
||||
required:
|
||||
- backend
|
||||
- deck
|
||||
- simulator
|
||||
type: object
|
||||
data:
|
||||
properties: {}
|
||||
|
||||
@@ -2187,65 +2187,65 @@ virtual_multiway_valve:
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口1
|
||||
handler_key: 1
|
||||
handler_key: "1"
|
||||
io_type: source
|
||||
label: 1
|
||||
label: "1"
|
||||
side: NORTH
|
||||
- data_key: fluid_port_2
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口2
|
||||
handler_key: 2
|
||||
handler_key: "2"
|
||||
io_type: source
|
||||
label: 2
|
||||
label: "2"
|
||||
side: EAST
|
||||
- data_key: fluid_port_3
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口3
|
||||
handler_key: 3
|
||||
handler_key: "3"
|
||||
io_type: source
|
||||
label: 3
|
||||
label: "3"
|
||||
side: EAST
|
||||
- data_key: fluid_port_4
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口4
|
||||
handler_key: 4
|
||||
handler_key: "4"
|
||||
io_type: source
|
||||
label: 4
|
||||
label: "4"
|
||||
side: SOUTH
|
||||
- data_key: fluid_port_5
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口5
|
||||
handler_key: 5
|
||||
handler_key: "5"
|
||||
io_type: source
|
||||
label: 5
|
||||
label: "5"
|
||||
side: SOUTH
|
||||
- data_key: fluid_port_6
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口6
|
||||
handler_key: 6
|
||||
handler_key: "6"
|
||||
io_type: source
|
||||
label: 6
|
||||
label: "6"
|
||||
side: WEST
|
||||
- data_key: fluid_port_7
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口7
|
||||
handler_key: 7
|
||||
handler_key: "7"
|
||||
io_type: source
|
||||
label: 7
|
||||
label: "7"
|
||||
side: WEST
|
||||
- data_key: fluid_port_8
|
||||
data_source: executor
|
||||
data_type: fluid
|
||||
description: 八通阀门端口8
|
||||
handler_key: 8
|
||||
handler_key: "8"
|
||||
io_type: source
|
||||
label: 8
|
||||
label: "8"
|
||||
side: NORTH
|
||||
icon: EightPipeline.webp
|
||||
init_param_schema:
|
||||
|
||||
@@ -110,7 +110,7 @@ class Registry:
|
||||
"placeholder_keys": {
|
||||
"res_id": "unilabos_resources", # 将当前实验室的全部物料id作为下拉框可选择
|
||||
"device_id": "unilabos_devices", # 将当前实验室的全部设备id作为下拉框可选择
|
||||
"parent": "unilabos_resources", # 将当前实验室的全部物料id作为下拉框可选择
|
||||
"parent": "unilabos_nodes", # 将当前实验室的设备/物料作为下拉框可选择
|
||||
},
|
||||
},
|
||||
"test_latency": {
|
||||
@@ -131,7 +131,7 @@ class Registry:
|
||||
"config_info": [],
|
||||
"icon": "icon_device.webp",
|
||||
"registry_type": "device",
|
||||
"handles": {},
|
||||
"handles": [], # virtue采用了不同的handle
|
||||
"init_param_schema": {},
|
||||
"file_path": "/",
|
||||
}
|
||||
@@ -144,7 +144,7 @@ class Registry:
|
||||
logger.debug(f"[UniLab Registry] Path {i+1}/{len(self.registry_paths)}: {sys_path}")
|
||||
sys.path.append(str(sys_path))
|
||||
self.load_device_types(path, complete_registry)
|
||||
# self.load_resource_types(path, complete_registry)
|
||||
self.load_resource_types(path, complete_registry)
|
||||
logger.info("[UniLab Registry] 注册表设置完成")
|
||||
# 标记setup已被调用
|
||||
self._setup_called = True
|
||||
@@ -174,7 +174,7 @@ class Registry:
|
||||
if "icon" not in resource_info:
|
||||
resource_info["icon"] = ""
|
||||
if "handles" not in resource_info:
|
||||
resource_info["handles"] = {}
|
||||
resource_info["handles"] = []
|
||||
if "init_param_schema" not in resource_info:
|
||||
resource_info["init_param_schema"] = {}
|
||||
if complete_registry:
|
||||
@@ -418,7 +418,7 @@ class Registry:
|
||||
if "icon" not in device_config:
|
||||
device_config["icon"] = ""
|
||||
if "handles" not in device_config:
|
||||
device_config["handles"] = {}
|
||||
device_config["handles"] = []
|
||||
if "init_param_schema" not in device_config:
|
||||
device_config["init_param_schema"] = {}
|
||||
if "class" in device_config:
|
||||
|
||||
@@ -364,7 +364,16 @@ class HostNode(BaseROS2DeviceNode):
|
||||
resources, device_ids, bind_parent_ids, bind_locations, other_calling_params
|
||||
):
|
||||
# 这里要求device_id传入必须是edge_device_id
|
||||
namespace = "/devices/" + device_id
|
||||
if device_id not in self.devices_names:
|
||||
self.lab_logger().error(f"[Host Node] Device {device_id} not found in devices_names. Create resource failed.")
|
||||
raise ValueError(f"[Host Node] Device {device_id} not found in devices_names. Create resource failed.")
|
||||
|
||||
device_key = f"{self.devices_names[device_id]}/{device_id}"
|
||||
if device_key not in self._online_devices:
|
||||
self.lab_logger().error(f"[Host Node] Device {device_key} is offline. Create resource failed.")
|
||||
raise ValueError(f"[Host Node] Device {device_key} is offline. Create resource failed.")
|
||||
|
||||
namespace = self.devices_names[device_id]
|
||||
srv_address = f"/srv{namespace}/append_resource"
|
||||
sclient = self.create_client(SerialCommand, srv_address)
|
||||
sclient.wait_for_service()
|
||||
|
||||
@@ -112,6 +112,8 @@ class ROS2ProtocolNode(BaseROS2DeviceNode):
|
||||
f"添加了{write}方法(来源:{name} {communicate_hardware_info['read']})"
|
||||
)
|
||||
|
||||
self.lab_logger().info(f"ROS2ProtocolNode {device_id} initialized with protocols: {self.protocol_names}")
|
||||
|
||||
def _setup_protocol_names(self, protocol_type):
|
||||
# 处理协议类型
|
||||
if isinstance(protocol_type, str):
|
||||
|
||||
Reference in New Issue
Block a user