Browse Source

修复移液枪 校准 错误的BUG

master
zhaohe 2 months ago
parent
commit
25579e0f37
  1. 3
      sdk/components/pipette_module/pipette_ctrl_module.cpp
  2. 6
      sdk/components/pipette_module/pipette_ctrl_module_utils.cpp

3
sdk/components/pipette_module/pipette_ctrl_module.cpp

@ -414,7 +414,7 @@ int32_t PipetteModule::pipette_pump_aspirate() {
} else {
lld_enable_protect = m_common_cfg.lld_enable_protect; // 使用全局配置
}
_do_lld(acfg->container_pos, platform_info, container_cfg, liquidinfo, m_common_cfg.lld_enable_protect); // 液面探测
_do_lld(acfg->container_pos, platform_info, container_cfg, liquidinfo,lld_enable_protect); // 液面探测
} else {
m_state.water_level = acfg->container_pos + container_cfg->fix_water_level_depth; // 没有使用lld,使用固定深度
}
@ -637,6 +637,7 @@ void PipetteModule::_do_sapirate(platinfo_t *platform_info, container_info_t *co
}
int32_t x100nl = calibrate_liquid_volume(liquidinfo, acfg->volumeX100nl);
ZLOGI(TAG, "--> aspirate volume=%d after calibrate volume=%d", acfg->volumeX100nl, x100nl);
if (acfg->llf_enable > 0) {
zm_move_to(acfg->container_pos + container_cfg->container_depth, kzm_v_llf, compute_zm_llf_vel(aspiration_pm_index, container_cfg));

6
sdk/components/pipette_module/pipette_ctrl_module_utils.cpp

@ -215,8 +215,12 @@ void PipetteModule::dump(const char *title, distribu_all_param_t *param) {
}
int32_t PipetteModule::calibrate_liquid_volume(liquid_info_t *liquidinfo, int32_t volumex100nl) {
ZLOGI(TAG, "calibrate_liquid_volume: volumeX100nl:%d", volumex100nl);
ZLOGI(TAG, "k: %d, b: %d", liquidinfo->volume_calibration_coefficient_k, liquidinfo->volume_calibration_coefficient_b);
int32_t x100nl = volumex100nl * liquidinfo->volume_calibration_coefficient_k * 0.001 + //
liquidinfo->volume_calibration_coefficient_b * 0.001;
liquidinfo->volume_calibration_coefficient_b * 0.001 * 10;
ZLOGI(TAG, "calibrate_liquid_volume: after_x100nl:%d", x100nl);
return x100nl;
}

Loading…
Cancel
Save