Browse Source

移液枪增加子设备连接检测状态字段

master
zhaohe 2 months ago
parent
commit
d4a5e1e359
  1. 4
      .settings/language.settings.xml
  2. 16
      sdk/components/pipette_module/base/pipette_state.hpp
  3. 7
      sdk/components/pipette_module/pipette_ctrl_module.cpp

4
.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1445281128059663999" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="722607236405791415" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1518348503305787149" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="795674611651914565" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

16
sdk/components/pipette_module/base/pipette_state.hpp

@ -36,6 +36,12 @@ typedef struct {
* @brief * @brief
*/ */
int32_t __platinfo_cpyid = 0; int32_t __platinfo_cpyid = 0;
int32_t test_pipette_io1_connected = 0;
int32_t test_pipette_io1_reverse = 0;
int32_t test_pipette_uart485_connected = 0;
int32_t test_pipette_uart232_connected = 0;
} pipette_state_t; } pipette_state_t;
typedef enum { typedef enum {
@ -53,6 +59,10 @@ typedef enum {
kpipette_state_asynchronous_result0, kpipette_state_asynchronous_result0,
kpipette_state_asynchronous_result1, kpipette_state_asynchronous_result1,
kpipette_state_platinfo_cpyid, kpipette_state_platinfo_cpyid,
kpipette_state_test_pipette_io1_connected,
kpipette_state_test_pipette_io1_reverse,
kpipette_state_test_pipette_uart485_connected,
kpipette_state_test_pipette_uart232_connected,
kpipette_state_max, kpipette_state_max,
} pipette_state_index_t; } pipette_state_index_t;
@ -72,6 +82,10 @@ static inline const char *pipette_state_index_to_string(pipette_state_index_t in
CASE_ENUM_TO_STRING(kpipette_state_asynchronous_result0) CASE_ENUM_TO_STRING(kpipette_state_asynchronous_result0)
CASE_ENUM_TO_STRING(kpipette_state_asynchronous_result1) CASE_ENUM_TO_STRING(kpipette_state_asynchronous_result1)
CASE_ENUM_TO_STRING(kpipette_state_platinfo_cpyid) CASE_ENUM_TO_STRING(kpipette_state_platinfo_cpyid)
CASE_ENUM_TO_STRING(kpipette_state_test_pipette_io1_connected)
CASE_ENUM_TO_STRING(kpipette_state_test_pipette_io1_reverse)
CASE_ENUM_TO_STRING(kpipette_state_test_pipette_uart485_connected)
CASE_ENUM_TO_STRING(kpipette_state_test_pipette_uart232_connected)
CASE_ENUM_TO_STRING(kpipette_state_max) CASE_ENUM_TO_STRING(kpipette_state_max)
} }
return "unknown"; return "unknown";
@ -79,7 +93,7 @@ static inline const char *pipette_state_index_to_string(pipette_state_index_t in
typedef struct { typedef struct {
int32_t is_has_liquid; // 是否有液体 int32_t is_has_liquid; // 是否有液体
int32_t liquid_type_cpyidx; // 移液枪中液体类型索引
int32_t liquid_type_cpyidx; // 移液枪中液体类型索引
int32_t liquid_volume; // 移液枪中液体体积(0.1ul) int32_t liquid_volume; // 移液枪中液体体积(0.1ul)
int32_t transport_volume; // 转移过程中多吸入的量,精度0.1ul (放滴落) int32_t transport_volume; // 转移过程中多吸入的量,精度0.1ul (放滴落)
int32_t blowout_air_volume; // 预先吸入的空气体积(0.1ul) int32_t blowout_air_volume; // 预先吸入的空气体积(0.1ul)

7
sdk/components/pipette_module/pipette_ctrl_module.cpp

@ -84,6 +84,11 @@ void PipetteModule::test_connectivity() {
ZLOGI(TAG, "= io1_connected :%d(%s)", io1_connected, io1_reverse ? "Err:Reverse" : ""); ZLOGI(TAG, "= io1_connected :%d(%s)", io1_connected, io1_reverse ? "Err:Reverse" : "");
ZLOGI(TAG, "= uart232_connected :%d", uart232_connected); ZLOGI(TAG, "= uart232_connected :%d", uart232_connected);
ZLOGI(TAG, "="); ZLOGI(TAG, "=");
m_state.test_pipette_io1_connected = io1_connected;
m_state.test_pipette_io1_reverse = io1_reverse;
m_state.test_pipette_uart485_connected = uart485_connected;
m_state.test_pipette_uart232_connected = uart232_connected;
} }
int32_t PipetteModule::module_stop() { int32_t PipetteModule::module_stop() {
@ -413,7 +418,7 @@ int32_t PipetteModule::pipette_pump_aspirate() {
} else { } else {
lld_enable_protect = m_common_cfg.lld_enable_protect; // 使用全局配置 lld_enable_protect = m_common_cfg.lld_enable_protect; // 使用全局配置
} }
_do_lld(acfg->container_pos, platform_info, container_cfg, liquidinfo,lld_enable_protect); // 液面探测
_do_lld(acfg->container_pos, platform_info, container_cfg, liquidinfo, lld_enable_protect); // 液面探测
} else { } else {
m_state.water_level = acfg->container_pos + container_cfg->fix_water_level_depth; // 没有使用lld,使用固定深度 m_state.water_level = acfg->container_pos + container_cfg->fix_water_level_depth; // 没有使用lld,使用固定深度
} }

Loading…
Cancel
Save