From 0fe62d64f09c869021919311aeba476c6bea88d7 Mon Sep 17 00:00:00 2001 From: Xuwznln <18435084+Xuwznln@users.noreply.github.com> Date: Sun, 12 Oct 2025 23:04:25 +0800 Subject: [PATCH] Update registry from pr --- unilabos/registry/devices/laiyu_liquid.yaml | 131 +++++------- unilabos/registry/devices/liquid_handler.yaml | 33 +-- .../resources/common/resource_container.yaml | 189 +++++++++--------- 3 files changed, 164 insertions(+), 189 deletions(-) diff --git a/unilabos/registry/devices/laiyu_liquid.yaml b/unilabos/registry/devices/laiyu_liquid.yaml index 1c6546e1..98201a7d 100644 --- a/unilabos/registry/devices/laiyu_liquid.yaml +++ b/unilabos/registry/devices/laiyu_liquid.yaml @@ -544,6 +544,41 @@ laiyu_liquid: title: LiquidHandlerAspirate type: object type: LiquidHandlerAspirate + auto-add_resource: + feedback: {} + goal: {} + goal_default: + name: null + position: null + resource_type: null + handles: {} + placeholder_keys: {} + result: {} + schema: + description: '' + properties: + feedback: {} + goal: + properties: + name: + type: string + position: + items: + type: number + type: array + resource_type: + type: string + required: + - name + - resource_type + - position + type: object + result: {} + required: + - goal + title: add_resource参数 + type: object + type: UniLabJsonCommand dispense: feedback: {} goal: @@ -1761,12 +1796,13 @@ laiyu_liquid: title: LiquidHandlerTransfer type: object type: LiquidHandlerTransfer - module: unilabos.devices.laiyu_liquid.core.LaiYu_Liquid:LaiYuLiquid + module: unilabos.devices.laiyu_liquid.core.laiyu_liquid_main:LaiYuLiquid status_types: - current_position: list + current_position: String current_volume: float is_connected: bool is_initialized: bool + status: dict tip_attached: bool type: python config_info: @@ -1852,112 +1888,35 @@ laiyu_liquid: init_param_schema: config: properties: - acceleration: - default: 50.0 - description: 加速度 - type: number - address: - default: 1 - description: 设备地址 - type: integer - baudrate: - default: 9600 - description: 波特率 - type: integer - deck_depth: - default: 160.0 - description: 工作台深度 - type: number - deck_height: - default: 250.0 - description: 工作台高度 - type: number - deck_width: - default: 340.0 - description: 工作台宽度 - type: number - liquid_detection: - default: true - description: 液面检测功能 - type: boolean - max_speed: - default: 100.0 - description: 最大速度 - type: number - max_volume: - default: 77000.0 - description: 最大体积 - type: number - min_volume: - default: 0.1 - description: 最小体积 - type: number - port: - default: /dev/cu.usbserial-3130 - description: RS485转USB端口 + config: type: string - safe_height: - default: 50.0 - description: 安全高度 - type: number - safety_margin_x_max: - default: 10.0 - description: X轴最大安全边距 - type: number - safety_margin_x_min: - default: 10.0 - description: X轴最小安全边距 - type: number - safety_margin_y_max: - default: 10.0 - description: Y轴最大安全边距 - type: number - safety_margin_y_min: - default: 10.0 - description: Y轴最小安全边距 - type: number - safety_margin_z_clearance: - default: 20.0 - description: Z轴安全间隙 - type: number - timeout: - default: 5.0 - description: 通信超时时间 - type: number - tip_pickup_depth: - default: 10.0 - description: 吸头拾取深度 - type: number - required: - - port + required: [] type: object data: properties: current_position: - description: 当前XYZ位置 items: type: number type: array current_volume: - description: 当前液体体积 type: number is_connected: - description: 设备连接状态 type: boolean is_initialized: - description: 设备初始化状态 type: boolean + status: + type: object tip_attached: - description: 是否装载吸头 type: boolean required: - current_position - - tip_attached - current_volume - is_connected - is_initialized + - tip_attached + - status type: object model: mesh: laiyu_liquid_handler type: device - version: 1.0.0 \ No newline at end of file + version: 1.0.0 diff --git a/unilabos/registry/devices/liquid_handler.yaml b/unilabos/registry/devices/liquid_handler.yaml index 99c92333..b21ccd7e 100644 --- a/unilabos/registry/devices/liquid_handler.yaml +++ b/unilabos/registry/devices/liquid_handler.yaml @@ -3994,7 +3994,8 @@ liquid_handler: mix_liquid_height: 0.0 mix_rate: 0 mix_stage: '' - mix_times: 0 + mix_times: + - 0 mix_vol: 0 none_keys: - '' @@ -4150,9 +4151,11 @@ liquid_handler: mix_stage: type: string mix_times: - maximum: 2147483647 - minimum: -2147483648 - type: integer + items: + maximum: 2147483647 + minimum: -2147483648 + type: integer + type: array mix_vol: maximum: 2147483647 minimum: -2147483648 @@ -5012,7 +5015,8 @@ liquid_handler.biomek: mix_liquid_height: 0.0 mix_rate: 0 mix_stage: '' - mix_times: 0 + mix_times: + - 0 mix_vol: 0 none_keys: - '' @@ -5155,9 +5159,11 @@ liquid_handler.biomek: mix_stage: type: string mix_times: - maximum: 2147483647 - minimum: -2147483648 - type: integer + items: + maximum: 2147483647 + minimum: -2147483648 + type: integer + type: array mix_vol: maximum: 2147483647 minimum: -2147483648 @@ -7801,7 +7807,8 @@ liquid_handler.prcxi: mix_liquid_height: 0.0 mix_rate: 0 mix_stage: '' - mix_times: 0 + mix_times: + - 0 mix_vol: 0 none_keys: - '' @@ -7930,9 +7937,11 @@ liquid_handler.prcxi: mix_stage: type: string mix_times: - maximum: 2147483647 - minimum: -2147483648 - type: integer + items: + maximum: 2147483647 + minimum: -2147483648 + type: integer + type: array mix_vol: maximum: 2147483647 minimum: -2147483648 diff --git a/unilabos/registry/resources/common/resource_container.yaml b/unilabos/registry/resources/common/resource_container.yaml index 9f62fa56..9850167c 100644 --- a/unilabos/registry/resources/common/resource_container.yaml +++ b/unilabos/registry/resources/common/resource_container.yaml @@ -1,3 +1,24 @@ +disposal: + category: + - disposal + - waste + - resource_container + class: + module: unilabos.resources.disposal:Disposal + type: unilabos + description: 废料处理位置,用于处理实验废料 + handles: + - data_key: disposal_access + data_source: handle + data_type: fluid + handler_key: access + io_type: target + label: access + side: NORTH + icon: '' + init_param_schema: {} + registry_type: resource + version: 1.0.0 hplc_plate: category: - resource_container @@ -20,6 +41,55 @@ hplc_plate: type: resource registry_type: resource version: 1.0.0 +maintenance: + category: + - maintenance + - position + - resource_container + class: + module: unilabos.resources.maintenance:Maintenance + type: unilabos + description: 维护位置,用于设备维护和校准 + handles: + - data_key: maintenance_access + data_source: handle + data_type: mechanical + handler_key: access + io_type: target + label: access + side: NORTH + icon: '' + init_param_schema: {} + registry_type: resource + version: 1.0.0 +plate: + category: + - plate + - labware + - resource_container + class: + module: unilabos.resources.plate:Plate + type: unilabos + description: 实验板,用于放置样品和试剂 + handles: + - data_key: plate_access + data_source: handle + data_type: mechanical + handler_key: access + io_type: target + label: access + side: NORTH + - data_key: sample_wells + data_source: handle + data_type: fluid + handler_key: wells + io_type: target + label: wells + side: CENTER + icon: '' + init_param_schema: {} + registry_type: resource + version: 1.0.0 plate_96_high: category: - resource_container @@ -42,6 +112,34 @@ plate_96_high: type: resource registry_type: resource version: 1.0.0 +tip_rack: + category: + - tip_rack + - labware + - resource_container + class: + module: unilabos.resources.tip_rack:TipRack + type: unilabos + description: 枪头架资源,用于存放和管理移液器枪头 + handles: + - data_key: tip_access + data_source: handle + data_type: mechanical + handler_key: access + io_type: target + label: access + side: NORTH + - data_key: tip_pickup + data_source: handle + data_type: mechanical + handler_key: pickup + io_type: target + label: pickup + side: SOUTH + icon: '' + init_param_schema: {} + registry_type: resource + version: 1.0.0 tiprack_96_high: category: - resource_container @@ -72,94 +170,3 @@ tiprack_96_high: type: resource registry_type: resource version: 1.0.0 - -# 抽象资源类型定义 -tip_rack: - category: - - tip_rack - - labware - class: - module: unilabos.resources.tip_rack:TipRack - type: unilabos - description: 枪头架资源,用于存放和管理移液器枪头 - handles: - - data_key: tip_access - data_source: handle - data_type: mechanical - handler_key: access - io_type: target - label: access - side: NORTH - - data_key: tip_pickup - data_source: handle - data_type: mechanical - handler_key: pickup - io_type: target - label: pickup - side: SOUTH - registry_type: resource - version: 1.0.0 - -plate: - category: - - plate - - labware - class: - module: unilabos.resources.plate:Plate - type: unilabos - description: 实验板,用于放置样品和试剂 - handles: - - data_key: plate_access - data_source: handle - data_type: mechanical - handler_key: access - io_type: target - label: access - side: NORTH - - data_key: sample_wells - data_source: handle - data_type: fluid - handler_key: wells - io_type: target - label: wells - side: CENTER - registry_type: resource - version: 1.0.0 - -maintenance: - category: - - maintenance - - position - class: - module: unilabos.resources.maintenance:Maintenance - type: unilabos - description: 维护位置,用于设备维护和校准 - handles: - - data_key: maintenance_access - data_source: handle - data_type: mechanical - handler_key: access - io_type: target - label: access - side: NORTH - registry_type: resource - version: 1.0.0 - -disposal: - category: - - disposal - - waste - class: - module: unilabos.resources.disposal:Disposal - type: unilabos - description: 废料处理位置,用于处理实验废料 - handles: - - data_key: disposal_access - data_source: handle - data_type: fluid - handler_key: access - io_type: target - label: access - side: NORTH - registry_type: resource - version: 1.0.0