Compare commits

...

5 Commits

Author SHA1 Message Date
Xuwznln
f9a9e35269 bump version to 0.10.3 2025-12-26 03:26:06 +08:00
Xuwznln
8cd306cd32 update registry 2025-12-26 02:57:03 +08:00
Xuwznln
816a0d747b update registry 2025-12-26 02:42:54 +08:00
Xuwznln
b0cff1a7a8 do not modify globally 2025-12-26 02:31:23 +08:00
zhangshixiang
71d57c5631 修改上传数据 2025-12-25 23:07:31 +08:00
50 changed files with 82098 additions and 83164 deletions

View File

@@ -1,6 +1,6 @@
package: package:
name: unilabos name: unilabos
version: 0.10.12 version: 0.10.13
source: source:
path: ../unilabos path: ../unilabos

View File

@@ -1,6 +1,6 @@
package: package:
name: ros-humble-unilabos-msgs name: ros-humble-unilabos-msgs
version: 0.10.12 version: 0.10.13
source: source:
path: ../../unilabos_msgs path: ../../unilabos_msgs
target_directory: src target_directory: src

View File

@@ -1,6 +1,6 @@
package: package:
name: unilabos name: unilabos
version: "0.10.12" version: "0.10.13"
source: source:
path: ../.. path: ../..

View File

@@ -4,7 +4,7 @@ package_name = 'unilabos'
setup( setup(
name=package_name, name=package_name,
version='0.10.12', version='0.10.13',
packages=find_packages(), packages=find_packages(),
include_package_data=True, include_package_data=True,
install_requires=['setuptools'], install_requires=['setuptools'],

View File

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View File

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

@@ -1 +1 @@
__version__ = "0.10.12" __version__ = "0.10.13"

View File

@@ -174,6 +174,35 @@ bioyond_dispensing_station:
title: query_resource_by_name参数 title: query_resource_by_name参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-transfer_materials_to_reaction_station:
feedback: {}
goal: {}
goal_default:
target_device_id: null
transfer_groups: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
target_device_id:
type: string
transfer_groups:
type: array
required:
- target_device_id
- transfer_groups
type: object
result: {}
required:
- goal
title: transfer_materials_to_reaction_station参数
type: object
type: UniLabJsonCommand
auto-workflow_sample_locations: auto-workflow_sample_locations:
feedback: {} feedback: {}
goal: {} goal: {}

View File

@@ -9,6 +9,7 @@ cameracontroller_device:
goal_default: goal_default:
config: null config: null
handles: {} handles: {}
placeholder_keys: {}
result: {} result: {}
schema: schema:
description: '' description: ''
@@ -31,6 +32,7 @@ cameracontroller_device:
goal: {} goal: {}
goal_default: {} goal_default: {}
handles: {} handles: {}
placeholder_keys: {}
result: {} result: {}
schema: schema:
description: '' description: ''

View File

@@ -4,6 +4,73 @@ separator.chinwe:
- chinwe - chinwe
class: class:
action_value_mappings: action_value_mappings:
auto-connect:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: connect参数
type: object
type: UniLabJsonCommand
auto-disconnect:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: disconnect参数
type: object
type: UniLabJsonCommand
auto-execute_command_from_outer:
feedback: {}
goal: {}
goal_default:
command_dict: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
command_dict:
type: object
required:
- command_dict
type: object
result: {}
required:
- goal
title: execute_command_from_outer参数
type: object
type: UniLabJsonCommand
motor_rotate_quarter: motor_rotate_quarter:
goal: goal:
direction: 顺时针 direction: 顺时针
@@ -303,42 +370,44 @@ separator.chinwe:
handles: [] handles: []
icon: '' icon: ''
init_param_schema: init_param_schema:
goal: config:
baudrate: properties:
default: 9600 baudrate:
description: 串口波特率 default: 9600
type: integer
motor_ids:
default:
- 4
- 5
description: 步进电机ID列表
items:
type: integer type: integer
type: array motor_ids:
port: items:
default: 192.168.1.200:8899 type: integer
description: 串口号或 IP:Port type: array
type: string port:
pump_ids: default: 192.168.1.200:8899
default: type: string
- 1 pump_ids:
- 2 items:
- 3 type: integer
description: 注射泵ID列表 type: array
items: sensor_id:
default: 6
type: integer type: integer
type: array sensor_threshold:
sensor_id: default: 300
default: 6 type: integer
description: XKC传感器ID timeout:
type: integer default: 10.0
sensor_threshold: type: number
default: 300 required: []
description: 传感器液位判定阈值 type: object
type: integer data:
timeout: properties:
default: 10 is_connected:
description: 通信超时时间 (秒) type: boolean
type: integer sensor_level:
type: boolean
sensor_rssi:
type: integer
required:
- sensor_level
- sensor_rssi
- is_connected
type: object
version: 2.1.0 version: 2.1.0

File diff suppressed because it is too large Load Diff

View File

@@ -3,11 +3,11 @@ xyz_stepper_controller:
- laiyu_liquid_test - laiyu_liquid_test
class: class:
action_value_mappings: action_value_mappings:
auto-define_current_as_zero: auto-degrees_to_steps:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: goal_default:
save_path: work_origin.json degrees: null
handles: {} handles: {}
placeholder_keys: {} placeholder_keys: {}
result: {} result: {}
@@ -17,23 +17,22 @@ xyz_stepper_controller:
feedback: {} feedback: {}
goal: goal:
properties: properties:
save_path: degrees:
default: work_origin.json type: number
type: string required:
required: [] - degrees
type: object type: object
result: {} result: {}
required: required:
- goal - goal
title: define_current_as_zero参数 title: degrees_to_steps参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-enable: auto-emergency_stop:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: goal_default:
axis: null axis: null
state: null
handles: {} handles: {}
placeholder_keys: {} placeholder_keys: {}
result: {} result: {}
@@ -44,27 +43,415 @@ xyz_stepper_controller:
goal: goal:
properties: properties:
axis: axis:
type: string type: object
state:
type: boolean
required: required:
- axis - axis
- state
type: object type: object
result: {} result: {}
required: required:
- goal - goal
title: enable参数 title: emergency_stop参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-move_to: auto-enable_all_axes:
feedback: {}
goal: {}
goal_default:
enable: true
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
enable:
default: true
type: boolean
required: []
type: object
result: {}
required:
- goal
title: enable_all_axes参数
type: object
type: UniLabJsonCommand
auto-enable_motor:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: goal_default:
acc: 500
axis: null axis: null
precision: 50 enable: true
speed: 2000 handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
axis:
type: object
enable:
default: true
type: boolean
required:
- axis
type: object
result: {}
required:
- goal
title: enable_motor参数
type: object
type: UniLabJsonCommand
auto-home_all_axes:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: home_all_axes参数
type: object
type: UniLabJsonCommand
auto-home_axis:
feedback: {}
goal: {}
goal_default:
axis: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
axis:
type: object
required:
- axis
type: object
result: {}
required:
- goal
title: home_axis参数
type: object
type: UniLabJsonCommand
auto-move_to_position:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
axis: null
position: null
precision: 100
speed: 5000
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
axis:
type: object
position:
type: integer
precision:
default: 100
type: integer
speed:
default: 5000
type: integer
required:
- axis
- position
type: object
result: {}
required:
- goal
title: move_to_position参数
type: object
type: UniLabJsonCommand
auto-move_to_position_degrees:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
axis: null
degrees: null
precision: 100
speed: 5000
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
axis:
type: object
degrees:
type: number
precision:
default: 100
type: integer
speed:
default: 5000
type: integer
required:
- axis
- degrees
type: object
result: {}
required:
- goal
title: move_to_position_degrees参数
type: object
type: UniLabJsonCommand
auto-move_to_position_revolutions:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
axis: null
precision: 100
revolutions: null
speed: 5000
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
axis:
type: object
precision:
default: 100
type: integer
revolutions:
type: number
speed:
default: 5000
type: integer
required:
- axis
- revolutions
type: object
result: {}
required:
- goal
title: move_to_position_revolutions参数
type: object
type: UniLabJsonCommand
auto-move_xyz:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
speed: 5000
x: null
y: null
z: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
speed:
default: 5000
type: integer
x:
type: string
y:
type: string
z:
type: string
required: []
type: object
result: {}
required:
- goal
title: move_xyz参数
type: object
type: UniLabJsonCommand
auto-move_xyz_degrees:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
speed: 5000
x_deg: null
y_deg: null
z_deg: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
speed:
default: 5000
type: integer
x_deg:
type: string
y_deg:
type: string
z_deg:
type: string
required: []
type: object
result: {}
required:
- goal
title: move_xyz_degrees参数
type: object
type: UniLabJsonCommand
auto-move_xyz_revolutions:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
speed: 5000
x_rev: null
y_rev: null
z_rev: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
speed:
default: 5000
type: integer
x_rev:
type: string
y_rev:
type: string
z_rev:
type: string
required: []
type: object
result: {}
required:
- goal
title: move_xyz_revolutions参数
type: object
type: UniLabJsonCommand
auto-revolutions_to_steps:
feedback: {}
goal: {}
goal_default:
revolutions: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
revolutions:
type: number
required:
- revolutions
type: object
result: {}
required:
- goal
title: revolutions_to_steps参数
type: object
type: UniLabJsonCommand
auto-set_speed_mode:
feedback: {}
goal: {}
goal_default:
acceleration: 1000
axis: null
speed: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
acceleration:
default: 1000
type: integer
axis:
type: object
speed:
type: integer
required:
- axis
- speed
type: object
result: {}
required:
- goal
title: set_speed_mode参数
type: object
type: UniLabJsonCommand
auto-steps_to_degrees:
feedback: {}
goal: {}
goal_default:
steps: null steps: null
handles: {} handles: {}
placeholder_keys: {} placeholder_keys: {}
@@ -75,38 +462,22 @@ xyz_stepper_controller:
feedback: {} feedback: {}
goal: goal:
properties: properties:
acc:
default: 500
type: integer
axis:
type: string
precision:
default: 50
type: integer
speed:
default: 2000
type: integer
steps: steps:
type: integer type: integer
required: required:
- axis
- steps - steps
type: object type: object
result: {} result: {}
required: required:
- goal - goal
title: move_to参数 title: steps_to_degrees参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-move_xyz_work: auto-steps_to_revolutions:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: goal_default:
acc: 1500 steps: null
speed: 100
x: 0.0
y: 0.0
z: 0.0
handles: {} handles: {}
placeholder_keys: {} placeholder_keys: {}
result: {} result: {}
@@ -116,35 +487,21 @@ xyz_stepper_controller:
feedback: {} feedback: {}
goal: goal:
properties: properties:
acc: steps:
default: 1500
type: integer type: integer
speed: required:
default: 100 - steps
type: integer
x:
default: 0.0
type: number
y:
default: 0.0
type: number
z:
default: 0.0
type: number
required: []
type: object type: object
result: {} result: {}
required: required:
- goal - goal
title: move_xyz_work参数 title: steps_to_revolutions参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-return_to_work_origin: auto-stop_all_axes:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: goal_default: {}
acc: 800
speed: 200
handles: {} handles: {}
placeholder_keys: {} placeholder_keys: {}
result: {} result: {}
@@ -153,22 +510,16 @@ xyz_stepper_controller:
properties: properties:
feedback: {} feedback: {}
goal: goal:
properties: properties: {}
acc:
default: 800
type: integer
speed:
default: 200
type: integer
required: [] required: []
type: object type: object
result: {} result: {}
required: required:
- goal - goal
title: return_to_work_origin参数 title: stop_all_axes参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-wait_complete: auto-wait_for_completion:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: goal_default:
@@ -184,22 +535,23 @@ xyz_stepper_controller:
goal: goal:
properties: properties:
axis: axis:
type: string type: object
timeout: timeout:
default: 30.0 default: 30.0
type: string type: number
required: required:
- axis - axis
type: object type: object
result: {} result: {}
required: required:
- goal - goal
title: wait_complete参数 title: wait_for_completion参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
module: unilabos.devices.laiyu_liquid_test.xyz_stepper_driver:XYZStepperController module: unilabos.devices.liquid_handling.laiyu.drivers.xyz_stepper_driver:XYZStepperController
status_types: status_types:
status: list all_positions: dict
motor_status: unilabos.devices.liquid_handling.laiyu.drivers.xyz_stepper_driver:MotorPosition
type: python type: python
config_info: [] config_info: []
description: 新XYZ控制器 description: 新XYZ控制器
@@ -210,23 +562,24 @@ xyz_stepper_controller:
properties: properties:
baudrate: baudrate:
default: 115200 default: 115200
type: string type: integer
client:
type: string
origin_path:
default: unilabos/devices/laiyu_liquid_test/work_origin.json
type: string
port: port:
default: /dev/ttyUSB0
type: string type: string
required: [] timeout:
default: 1.0
type: number
required:
- port
type: object type: object
data: data:
properties: properties:
status: all_positions:
type: array type: object
motor_status:
type: object
required: required:
- status - motor_status
- all_positions
type: object type: object
registry_type: device registry_type: device
version: 1.0.0 version: 1.0.0

View File

@@ -4019,8 +4019,7 @@ liquid_handler:
mix_liquid_height: 0.0 mix_liquid_height: 0.0
mix_rate: 0 mix_rate: 0
mix_stage: '' mix_stage: ''
mix_times: mix_times: 0
- 0
mix_vol: 0 mix_vol: 0
none_keys: none_keys:
- '' - ''
@@ -4176,11 +4175,9 @@ liquid_handler:
mix_stage: mix_stage:
type: string type: string
mix_times: mix_times:
items: maximum: 2147483647
maximum: 2147483647 minimum: -2147483648
minimum: -2147483648 type: integer
type: integer
type: array
mix_vol: mix_vol:
maximum: 2147483647 maximum: 2147483647
minimum: -2147483648 minimum: -2147483648
@@ -5043,8 +5040,7 @@ liquid_handler.biomek:
mix_liquid_height: 0.0 mix_liquid_height: 0.0
mix_rate: 0 mix_rate: 0
mix_stage: '' mix_stage: ''
mix_times: mix_times: 0
- 0
mix_vol: 0 mix_vol: 0
none_keys: none_keys:
- '' - ''
@@ -5187,11 +5183,9 @@ liquid_handler.biomek:
mix_stage: mix_stage:
type: string type: string
mix_times: mix_times:
items: maximum: 2147483647
maximum: 2147483647 minimum: -2147483648
minimum: -2147483648 type: integer
type: integer
type: array
mix_vol: mix_vol:
maximum: 2147483647 maximum: 2147483647
minimum: -2147483648 minimum: -2147483648
@@ -9671,8 +9665,7 @@ liquid_handler.prcxi:
mix_liquid_height: 0.0 mix_liquid_height: 0.0
mix_rate: 0 mix_rate: 0
mix_stage: '' mix_stage: ''
mix_times: mix_times: 0
- 0
mix_vol: 0 mix_vol: 0
none_keys: none_keys:
- '' - ''
@@ -9828,11 +9821,9 @@ liquid_handler.prcxi:
mix_stage: mix_stage:
type: string type: string
mix_times: mix_times:
items: maximum: 2147483647
maximum: 2147483647 minimum: -2147483648
minimum: -2147483648 type: integer
type: integer
type: array
mix_vol: mix_vol:
maximum: 2147483647 maximum: 2147483647
minimum: -2147483648 minimum: -2147483648

View File

@@ -5,6 +5,73 @@ neware_battery_test_system:
- battery_test - battery_test
class: class:
action_value_mappings: action_value_mappings:
auto-post_init:
feedback: {}
goal: {}
goal_default:
ros_node: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
ros_node:
type: string
required:
- ros_node
type: object
result: {}
required:
- goal
title: post_init参数
type: object
type: UniLabJsonCommand
auto-print_status_summary:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: print_status_summary参数
type: object
type: UniLabJsonCommand
auto-test_connection:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: test_connection参数
type: object
type: UniLabJsonCommand
debug_resource_names: debug_resource_names:
feedback: {} feedback: {}
goal: {} goal: {}
@@ -407,6 +474,8 @@ neware_battery_test_system:
status_types: status_types:
channel_status: dict channel_status: dict
connection_info: dict connection_info: dict
device_summary: dict
plate_status: dict
status: str status: str
total_channels: int total_channels: int
type: python type: python
@@ -418,36 +487,30 @@ neware_battery_test_system:
config: config:
properties: properties:
devtype: devtype:
default: '27'
type: string type: string
ip: ip:
default: 127.0.0.1
type: string type: string
machine_id: machine_id:
default: 1 default: 1
type: integer type: integer
oss_prefix: oss_prefix:
default: neware_backup default: neware_backup
description: OSS对象路径前缀
type: string type: string
oss_upload_enabled: oss_upload_enabled:
default: false default: false
description: 是否启用OSS上传功能
type: boolean type: boolean
port: port:
default: 502
type: integer type: integer
size_x: size_x:
default: 500.0 default: 50
type: number type: number
size_y: size_y:
default: 500.0 default: 50
type: number type: number
size_z: size_z:
default: 2000.0 default: 20
type: number type: number
timeout: timeout:
default: 20
type: integer type: integer
required: [] required: []
type: object type: object
@@ -459,6 +522,8 @@ neware_battery_test_system:
type: object type: object
device_summary: device_summary:
type: object type: object
plate_status:
type: object
status: status:
type: string type: string
total_channels: total_channels:
@@ -468,6 +533,7 @@ neware_battery_test_system:
- channel_status - channel_status
- connection_info - connection_info
- total_channels - total_channels
- plate_status
- device_summary - device_summary
type: object type: object
version: 1.0.0 version: 1.0.0

View File

@@ -49,7 +49,32 @@ opcua_example:
title: load_config参数 title: load_config参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-refresh_node_values: auto-post_init:
feedback: {}
goal: {}
goal_default:
ros_node: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
ros_node:
type: string
required:
- ros_node
type: object
result: {}
required:
- goal
title: post_init参数
type: object
type: UniLabJsonCommand
auto-print_cache_stats:
feedback: {} feedback: {}
goal: {} goal: {}
goal_default: {} goal_default: {}
@@ -67,7 +92,32 @@ opcua_example:
result: {} result: {}
required: required:
- goal - goal
title: refresh_node_values参数 title: print_cache_stats参数
type: object
type: UniLabJsonCommand
auto-read_node:
feedback: {}
goal: {}
goal_default:
node_name: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
node_name:
type: string
required:
- node_name
type: object
result: {}
required:
- goal
title: read_node参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-set_node_value: auto-set_node_value:
@@ -99,50 +149,9 @@ opcua_example:
title: set_node_value参数 title: set_node_value参数
type: object type: object
type: UniLabJsonCommand type: UniLabJsonCommand
auto-start_node_refresh:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: start_node_refresh参数
type: object
type: UniLabJsonCommand
auto-stop_node_refresh:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: stop_node_refresh参数
type: object
type: UniLabJsonCommand
module: unilabos.device_comms.opcua_client.client:OpcUaClient module: unilabos.device_comms.opcua_client.client:OpcUaClient
status_types: status_types:
cache_stats: dict
node_value: String node_value: String
type: python type: python
config_info: [] config_info: []
@@ -152,15 +161,23 @@ opcua_example:
init_param_schema: init_param_schema:
config: config:
properties: properties:
cache_timeout:
default: 5.0
type: number
config_path: config_path:
type: string type: string
deck:
type: string
password: password:
type: string type: string
refresh_interval: subscription_interval:
default: 1.0 default: 500
type: number type: integer
url: url:
type: string type: string
use_subscription:
default: true
type: boolean
username: username:
type: string type: string
required: required:
@@ -168,9 +185,12 @@ opcua_example:
type: object type: object
data: data:
properties: properties:
cache_stats:
type: object
node_value: node_value:
type: string type: string
required: required:
- node_value - node_value
- cache_stats
type: object type: object
version: 1.0.0 version: 1.0.0

View File

@@ -3,6 +3,106 @@ post_process_station:
- post_process_station - post_process_station
class: class:
action_value_mappings: action_value_mappings:
auto-load_config:
feedback: {}
goal: {}
goal_default:
config_path: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
config_path:
type: string
required:
- config_path
type: object
result: {}
required:
- goal
title: load_config参数
type: object
type: UniLabJsonCommand
auto-post_init:
feedback: {}
goal: {}
goal_default:
ros_node: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
ros_node:
type: string
required:
- ros_node
type: object
result: {}
required:
- goal
title: post_init参数
type: object
type: UniLabJsonCommand
auto-print_cache_stats:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: print_cache_stats参数
type: object
type: UniLabJsonCommand
auto-set_node_value:
feedback: {}
goal: {}
goal_default:
name: null
value: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
result: {}
required:
- goal
title: set_node_value参数
type: object
type: UniLabJsonCommand
disconnect: disconnect:
feedback: {} feedback: {}
goal: goal:
@@ -602,29 +702,46 @@ post_process_station:
type: SendCmd type: SendCmd
module: unilabos.devices.workstation.post_process.post_process:OpcUaClient module: unilabos.devices.workstation.post_process.post_process:OpcUaClient
status_types: status_types:
acetone_tank_empty_alarm: Bool cache_stats: dict
atomization_fast_speed: Float64 node_value: String
atomization_pressure_kpa: Int32
cleaning_complete: Bool
device_ready: Bool
door_open_alarm: Bool
grab_complete: Bool
grab_trigger: Bool
injection_pump_push_speed: Int32
injection_pump_suction_speed: Int32
nmp_tank_empty_alarm: Bool
post_process_complete: Bool
post_process_trigger: Bool
raw_tank_number: Int32
reaction_tank_number: Int32
remote_mode: Bool
wash_slow_speed: Float64
waste_tank_full_alarm: Bool
water_tank_empty_alarm: Bool
type: python type: python
config_info: [] config_info: []
description: 后处理站 description: 后处理站
handles: [] handles: []
icon: post_process_station.webp icon: post_process_station.webp
init_param_schema: {} init_param_schema:
config:
properties:
cache_timeout:
default: 5.0
type: number
config_path:
type: string
deck:
type: string
password:
type: string
subscription_interval:
default: 500
type: integer
url:
type: string
use_subscription:
default: true
type: boolean
username:
type: string
required:
- url
type: object
data:
properties:
cache_stats:
type: object
node_value:
type: string
required:
- node_value
- cache_stats
type: object
version: 1.0.0 version: 1.0.0

View File

@@ -10,7 +10,6 @@ POST_PROCESS_Raw_1BottleCarrier:
init_param_schema: {} init_param_schema: {}
registry_type: resource registry_type: resource
version: 1.0.0 version: 1.0.0
POST_PROCESS_Reaction_1BottleCarrier: POST_PROCESS_Reaction_1BottleCarrier:
category: category:
- bottle_carriers - bottle_carriers

View File

@@ -8,4 +8,3 @@ POST_PROCESS_PolymerStation_Reagent_Bottle:
icon: '' icon: ''
init_param_schema: {} init_param_schema: {}
version: 1.0.0 version: 1.0.0

View File

@@ -1,6 +1,7 @@
post_process_deck: post_process_deck:
category: category:
- post_process_deck - post_process_deck
- deck
class: class:
module: unilabos.devices.workstation.post_process.decks:post_process_deck module: unilabos.devices.workstation.post_process.decks:post_process_deck
type: pylabrobot type: pylabrobot

View File

@@ -1,6 +1,7 @@
PRCXI_30mm_Adapter: PRCXI_30mm_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_30mm_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_30mm_Adapter
type: pylabrobot type: pylabrobot
@@ -12,7 +13,8 @@ PRCXI_30mm_Adapter:
version: 1.0.0 version: 1.0.0
PRCXI_Adapter: PRCXI_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Adapter
type: pylabrobot type: pylabrobot
@@ -25,6 +27,7 @@ PRCXI_Adapter:
PRCXI_Deep10_Adapter: PRCXI_Deep10_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep10_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep10_Adapter
type: pylabrobot type: pylabrobot
@@ -37,6 +40,7 @@ PRCXI_Deep10_Adapter:
PRCXI_Deep300_Adapter: PRCXI_Deep300_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep300_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep300_Adapter
type: pylabrobot type: pylabrobot
@@ -49,6 +53,7 @@ PRCXI_Deep300_Adapter:
PRCXI_PCR_Adapter: PRCXI_PCR_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Adapter
type: pylabrobot type: pylabrobot
@@ -61,6 +66,7 @@ PRCXI_PCR_Adapter:
PRCXI_Reservoir_Adapter: PRCXI_Reservoir_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Reservoir_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Reservoir_Adapter
type: pylabrobot type: pylabrobot
@@ -73,6 +79,7 @@ PRCXI_Reservoir_Adapter:
PRCXI_Tip10_Adapter: PRCXI_Tip10_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip10_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip10_Adapter
type: pylabrobot type: pylabrobot
@@ -85,6 +92,7 @@ PRCXI_Tip10_Adapter:
PRCXI_Tip1250_Adapter: PRCXI_Tip1250_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip1250_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip1250_Adapter
type: pylabrobot type: pylabrobot
@@ -97,6 +105,7 @@ PRCXI_Tip1250_Adapter:
PRCXI_Tip300_Adapter: PRCXI_Tip300_Adapter:
category: category:
- prcxi - prcxi
- plate_adapters
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip300_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip300_Adapter
type: pylabrobot type: pylabrobot

View File

@@ -1,6 +1,7 @@
PRCXI_48_DeepWell: PRCXI_48_DeepWell:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_48_DeepWell module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_48_DeepWell
type: pylabrobot type: pylabrobot
@@ -13,6 +14,7 @@ PRCXI_48_DeepWell:
PRCXI_96_DeepWell: PRCXI_96_DeepWell:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_96_DeepWell module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_96_DeepWell
type: pylabrobot type: pylabrobot
@@ -25,6 +27,7 @@ PRCXI_96_DeepWell:
PRCXI_AGenBio_4_troughplate: PRCXI_AGenBio_4_troughplate:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_AGenBio_4_troughplate module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_AGenBio_4_troughplate
type: pylabrobot type: pylabrobot
@@ -37,6 +40,7 @@ PRCXI_AGenBio_4_troughplate:
PRCXI_BioER_96_wellplate: PRCXI_BioER_96_wellplate:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioER_96_wellplate module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioER_96_wellplate
type: pylabrobot type: pylabrobot
@@ -49,6 +53,7 @@ PRCXI_BioER_96_wellplate:
PRCXI_BioRad_384_wellplate: PRCXI_BioRad_384_wellplate:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioRad_384_wellplate module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioRad_384_wellplate
type: pylabrobot type: pylabrobot
@@ -61,6 +66,7 @@ PRCXI_BioRad_384_wellplate:
PRCXI_CellTreat_96_wellplate: PRCXI_CellTreat_96_wellplate:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_CellTreat_96_wellplate module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_CellTreat_96_wellplate
type: pylabrobot type: pylabrobot
@@ -73,6 +79,7 @@ PRCXI_CellTreat_96_wellplate:
PRCXI_PCR_Plate_200uL_nonskirted: PRCXI_PCR_Plate_200uL_nonskirted:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_nonskirted module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_nonskirted
type: pylabrobot type: pylabrobot
@@ -85,6 +92,7 @@ PRCXI_PCR_Plate_200uL_nonskirted:
PRCXI_PCR_Plate_200uL_semiskirted: PRCXI_PCR_Plate_200uL_semiskirted:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_semiskirted module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_semiskirted
type: pylabrobot type: pylabrobot
@@ -97,6 +105,7 @@ PRCXI_PCR_Plate_200uL_semiskirted:
PRCXI_PCR_Plate_200uL_skirted: PRCXI_PCR_Plate_200uL_skirted:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_skirted module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_skirted
type: pylabrobot type: pylabrobot
@@ -109,6 +118,7 @@ PRCXI_PCR_Plate_200uL_skirted:
PRCXI_nest_12_troughplate: PRCXI_nest_12_troughplate:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_12_troughplate module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_12_troughplate
type: pylabrobot type: pylabrobot
@@ -121,6 +131,7 @@ PRCXI_nest_12_troughplate:
PRCXI_nest_1_troughplate: PRCXI_nest_1_troughplate:
category: category:
- prcxi - prcxi
- plates
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_1_troughplate module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_1_troughplate
type: pylabrobot type: pylabrobot

View File

@@ -1,6 +1,7 @@
PRCXI_1000uL_Tips: PRCXI_1000uL_Tips:
category: category:
- prcxi - prcxi
- tip_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1000uL_Tips module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1000uL_Tips
type: pylabrobot type: pylabrobot
@@ -13,6 +14,7 @@ PRCXI_1000uL_Tips:
PRCXI_10uL_Tips: PRCXI_10uL_Tips:
category: category:
- prcxi - prcxi
- tip_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10uL_Tips module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10uL_Tips
type: pylabrobot type: pylabrobot
@@ -25,6 +27,7 @@ PRCXI_10uL_Tips:
PRCXI_10ul_eTips: PRCXI_10ul_eTips:
category: category:
- prcxi - prcxi
- tip_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10ul_eTips module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10ul_eTips
type: pylabrobot type: pylabrobot
@@ -37,6 +40,7 @@ PRCXI_10ul_eTips:
PRCXI_1250uL_Tips: PRCXI_1250uL_Tips:
category: category:
- prcxi - prcxi
- tip_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1250uL_Tips module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1250uL_Tips
type: pylabrobot type: pylabrobot
@@ -49,6 +53,7 @@ PRCXI_1250uL_Tips:
PRCXI_200uL_Tips: PRCXI_200uL_Tips:
category: category:
- prcxi - prcxi
- tip_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_200uL_Tips module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_200uL_Tips
type: pylabrobot type: pylabrobot
@@ -61,6 +66,7 @@ PRCXI_200uL_Tips:
PRCXI_300ul_Tips: PRCXI_300ul_Tips:
category: category:
- prcxi - prcxi
- tip_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_300ul_Tips module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_300ul_Tips
type: pylabrobot type: pylabrobot

View File

@@ -1,6 +1,7 @@
PRCXI_trash: PRCXI_trash:
category: category:
- prcxi - prcxi
- trash
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_trash module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_trash
type: pylabrobot type: pylabrobot

View File

@@ -1,6 +1,7 @@
PRCXI_EP_Adapter: PRCXI_EP_Adapter:
category: category:
- prcxi - prcxi
- tube_racks
class: class:
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_EP_Adapter module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_EP_Adapter
type: pylabrobot type: pylabrobot

View File

@@ -448,7 +448,7 @@ class ResourceTreeSet(object):
from pylabrobot.utils.object_parsing import find_subclass from pylabrobot.utils.object_parsing import find_subclass
# 类型映射 # 类型映射
TYPE_MAP = {"plate": "Plate", "well": "Well", "deck": "Deck", "container": "RegularContainer"} TYPE_MAP = {"plate": "Plate", "well": "Well", "deck": "Deck", "container": "RegularContainer", "tip_spot": "TipSpot"}
def collect_node_data(node: ResourceDictInstance, name_to_uuid: dict, all_states: dict, name_to_extra: dict): def collect_node_data(node: ResourceDictInstance, name_to_uuid: dict, all_states: dict, name_to_extra: dict):
"""一次遍历收集 name_to_uuid, all_states 和 name_to_extra""" """一次遍历收集 name_to_uuid, all_states 和 name_to_extra"""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3"> <package format="3">
<name>unilabos_msgs</name> <name>unilabos_msgs</name>
<version>0.10.12</version> <version>0.10.13</version>
<description>ROS2 Messages package for unilabos devices</description> <description>ROS2 Messages package for unilabos devices</description>
<maintainer email="changjh@pku.edu.cn">Junhan Chang</maintainer> <maintainer email="changjh@pku.edu.cn">Junhan Chang</maintainer>
<maintainer email="18435084+Xuwznln@users.noreply.github.com">Xuwznln</maintainer> <maintainer email="18435084+Xuwznln@users.noreply.github.com">Xuwznln</maintainer>