uncompleted refactor

This commit is contained in:
Junhan Chang
2025-08-27 15:19:58 +08:00
parent 332b33c6f4
commit 82d9ef6bf7
3 changed files with 9 additions and 9 deletions

View File

@@ -6112,7 +6112,7 @@ workstation:
title: initialize_device参数 title: initialize_device参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
module: unilabos.ros.nodes.presets.protocol_node:ROS2WorkstationNode module: unilabos.ros.nodes.presets.workstation_node:ROS2WorkstationNode
status_types: {} status_types: {}
type: ros2 type: ros2
config_info: [] config_info: []

View File

@@ -958,19 +958,19 @@ class ROS2DeviceNode:
driver_class, children=children, resource_tracker=self.resource_tracker driver_class, children=children, resource_tracker=self.resource_tracker
) )
else: else:
from unilabos.ros.nodes.presets.protocol_node import ROS2WorkstationNode from unilabos.ros.nodes.presets.workstation_node import ROS2WorkstationNode
from unilabos.devices.work_station.workstation_base import WorkstationBase from unilabos.devices.workstation.workstation_base import WorkstationBase
# 检查是否是WorkstationBase的子类且包含设备子节点 # 检查是否是WorkstationBase的子类且包含设备子节点
if issubclass(self._driver_class, WorkstationBase) and has_device_children: if issubclass(self._driver_class, WorkstationBase) and has_device_children:
# WorkstationBase + 设备子节点 -> 使用WorkstationNode作为ros_instance # WorkstationBase + 设备子节点 -> 使用WorkstationNode作为ros_instance
self._use_protocol_node_ros = True self._use_workstation_node_ros = True
self._driver_creator = DeviceClassCreator(driver_class, children=children, resource_tracker=self.resource_tracker) self._driver_creator = DeviceClassCreator(driver_class, children=children, resource_tracker=self.resource_tracker)
elif issubclass(self._driver_class, ROS2WorkstationNode): # 是WorkstationNode的子节点就要调用WorkstationNodeCreator elif issubclass(self._driver_class, ROS2WorkstationNode): # 是WorkstationNode的子节点就要调用WorkstationNodeCreator
self._use_protocol_node_ros = False self._use_workstation_node_ros = False
self._driver_creator = WorkstationNodeCreator(driver_class, children=children, resource_tracker=self.resource_tracker) self._driver_creator = WorkstationNodeCreator(driver_class, children=children, resource_tracker=self.resource_tracker)
else: else:
self._use_protocol_node_ros = False self._use_workstation_node_ros = False
self._driver_creator = DeviceClassCreator(driver_class, children=children, resource_tracker=self.resource_tracker) self._driver_creator = DeviceClassCreator(driver_class, children=children, resource_tracker=self.resource_tracker)
if driver_is_ros: if driver_is_ros:
@@ -984,9 +984,9 @@ class ROS2DeviceNode:
# 创建ROS2节点 # 创建ROS2节点
if driver_is_ros: if driver_is_ros:
self._ros_node = self._driver_instance # type: ignore self._ros_node = self._driver_instance # type: ignore
elif hasattr(self, '_use_protocol_node_ros') and self._use_protocol_node_ros: elif hasattr(self, '_use_workstation_node_ros') and self._use_workstation_node_ros:
# WorkstationBase + 设备子节点 -> 创建ROS2WorkstationNode作为ros_instance # WorkstationBase + 设备子节点 -> 创建ROS2WorkstationNode作为ros_instance
from unilabos.ros.nodes.presets.protocol_node import ROS2WorkstationNode from unilabos.ros.nodes.presets.workstation_node import ROS2WorkstationNode
# 从children提取设备协议类型 # 从children提取设备协议类型
protocol_types = set() protocol_types = set()

View File

@@ -100,7 +100,7 @@ class ROS2WorkstationNode(BaseROS2DeviceNode):
def _setup_workstation_integration(self): def _setup_workstation_integration(self):
"""设置工作站集成 - 统一设备处理模式""" """设置工作站集成 - 统一设备处理模式"""
# 1. 建立协议节点引用 # 1. 建立协议节点引用
self.workstation_instance.set_protocol_node(self) self.workstation_instance.set_workstation_node(self)
self.lab_logger().info(f"ROS2WorkstationNode {self.device_id} 与工作站实例 {type(self.workstation_instance).__name__} 集成完成") self.lab_logger().info(f"ROS2WorkstationNode {self.device_id} 与工作站实例 {type(self.workstation_instance).__name__} 集成完成")