From 8698821c5289a483a4dc776b1a9d0bbf5397f2f9 Mon Sep 17 00:00:00 2001 From: Junhan Chang Date: Sat, 7 Jun 2025 18:52:20 +0800 Subject: [PATCH] fix liquid_handler.biomek handles --- unilabos/devices/liquid_handling/biomek.py | 9 ++ unilabos/registry/devices/liquid_handler.yaml | 87 +++++++++++++++++-- unilabos_msgs/CMakeLists.txt | 4 + ...ion => LiquidHandlerIncubateBiomek.action} | 0 ...on => LiquidHandlerOscillateBiomek.action} | 0 5 files changed, 93 insertions(+), 7 deletions(-) rename unilabos_msgs/action/{LiquidHandlerPauseBiomek.action => LiquidHandlerIncubateBiomek.action} (100%) rename unilabos_msgs/action/{LiquidHandlerOscillationBiomek.action => LiquidHandlerOscillateBiomek.action} (100%) diff --git a/unilabos/devices/liquid_handling/biomek.py b/unilabos/devices/liquid_handling/biomek.py index 451d45eb..469fb39b 100644 --- a/unilabos/devices/liquid_handling/biomek.py +++ b/unilabos/devices/liquid_handling/biomek.py @@ -93,6 +93,15 @@ class LiquidHandlerBiomek(LiquidHandlerAbstract): def deserialize(cls, data: dict, allow_marshal: bool = False) -> LiquidHandler: return LiquidHandler.deserialize(data, allow_marshal) + @property + def success(self): + """ + 获取操作是否成功的状态。 + + Returns: + bool: 如果操作成功,返回True;否则返回False。 + """ + return self._success def create_protocol( self, diff --git a/unilabos/registry/devices/liquid_handler.yaml b/unilabos/registry/devices/liquid_handler.yaml index c891fb22..eef04042 100644 --- a/unilabos/registry/devices/liquid_handler.yaml +++ b/unilabos/registry/devices/liquid_handler.yaml @@ -368,18 +368,91 @@ liquid_handler.biomek: result: {} handles: input: - - handler_key: liquid-input - label: Liquid Input + - handler_key: sources + label: sources + data_type: resource + data_source: handle + data_key: liquid + - handler_key: targets + label: targets + data_type: resource + data_source: executor + data_key: liquid + - handler_key: tip_rack + label: tip_rack + data_type: resource + data_source: executor + data_key: liquid + output: + - handler_key: sources_out + label: sources + data_type: resource + data_source: handle + data_key: liquid + - handler_key: targets_out + label: targets + data_type: resource + data_source: executor + data_key: liquid + oscillation_biomek: + type: LiquidHandlerOscillateBiomek + goal: + rpm: rpm + time: time + feedback: {} + result: {} + handles: + input: + - handler_key: plate + label: plate data_type: resource - io_type: target data_source: handle data_key: liquid output: - - handler_key: liquid-output - label: Liquid Output + - handler_key: plate_out + label: plate data_type: resource - io_type: source - data_source: executor + data_source: handle + data_key: liquid + move_biomek: + type: LiquidHandlerMoveBiomek + goal: + source: resource + target: target + feedback: {} + result: + name: name + handles: + input: + - handler_key: sources + label: sources + data_type: resource + data_source: handle + data_key: liquid + output: + - handler_key: targets + label: targets + data_type: resource + data_source: handle + data_key: liquid + incubation_biomek: + type: LiquidHandlerIncubateBiomek + goal: + time: time + feedback: {} + result: {} + handles: + input: + - handler_key: plate + label: plate + data_type: resource + data_source: handle + data_key: liquid + output: + - handler_key: plate_out + label: plate + data_type: resource + data_source: handle data_key: liquid schema: type: object diff --git a/unilabos_msgs/CMakeLists.txt b/unilabos_msgs/CMakeLists.txt index 098bb35c..3e98ce6e 100644 --- a/unilabos_msgs/CMakeLists.txt +++ b/unilabos_msgs/CMakeLists.txt @@ -45,7 +45,11 @@ set(action_files "action/LiquidHandlerReturnTips96.action" "action/LiquidHandlerStamp.action" "action/LiquidHandlerTransfer.action" + "action/LiquidHandlerTransferBiomek.action" + "action/LiquidHandlerIncubateBiomek.action" + "action/LiquidHandlerMoveBiomek.action" + "action/LiquidHandlerOscillateBiomek.action" "action/LiquidHandlerAdd.action" "action/LiquidHandlerMix.action" diff --git a/unilabos_msgs/action/LiquidHandlerPauseBiomek.action b/unilabos_msgs/action/LiquidHandlerIncubateBiomek.action similarity index 100% rename from unilabos_msgs/action/LiquidHandlerPauseBiomek.action rename to unilabos_msgs/action/LiquidHandlerIncubateBiomek.action diff --git a/unilabos_msgs/action/LiquidHandlerOscillationBiomek.action b/unilabos_msgs/action/LiquidHandlerOscillateBiomek.action similarity index 100% rename from unilabos_msgs/action/LiquidHandlerOscillationBiomek.action rename to unilabos_msgs/action/LiquidHandlerOscillateBiomek.action