|
|
@ -114,6 +114,8 @@ int32_t PipetteModule::pipette_set_zmbcfg(zm_bcfg_index_t index, int32_t val) { |
|
|
|
SET_CFG(kzm_bcfg_io_trigger_append_distance, zmbcfg.io_trigger_append_distance, val); |
|
|
|
SET_CFG(kzm_bcfg_pos_devi_tolerance, zmbcfg.pos_devi_tolerance, val); |
|
|
|
SET_CFG(kzm_bcfg_mres, zmbcfg.mres, val); |
|
|
|
SET_CFG(kzm_bcfg_mark, zmbcfg.mark, val); |
|
|
|
|
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_zmbcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -140,6 +142,7 @@ int32_t PipetteModule::pipette_get_zmbcfg(zm_bcfg_index_t index, int32_t *val) { |
|
|
|
GET_CFG(kzm_bcfg_io_trigger_append_distance, zmbcfg.io_trigger_append_distance, val); |
|
|
|
GET_CFG(kzm_bcfg_pos_devi_tolerance, zmbcfg.pos_devi_tolerance, val); |
|
|
|
GET_CFG(kzm_bcfg_mres, zmbcfg.mres, val); |
|
|
|
GET_CFG(kzm_bcfg_mark, zmbcfg.mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_zmbcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -150,6 +153,7 @@ int32_t PipetteModule::pipette_get_zmbcfg(zm_bcfg_index_t index, int32_t *val) { |
|
|
|
int32_t PipetteModule::pipette_set_pmbcfg(pm_bcfg_index_t index, int32_t val) { |
|
|
|
switch (index) { |
|
|
|
SET_CFG(kpm_bcfg_pad, pm_base_cfg.pad, val); |
|
|
|
SET_CFG(kpm_bcfg_mark, pm_base_cfg.mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_pmbcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -160,6 +164,7 @@ int32_t PipetteModule::pipette_set_pmbcfg(pm_bcfg_index_t index, int32_t val) { |
|
|
|
int32_t PipetteModule::pipette_get_pmbcfg(pm_bcfg_index_t index, int32_t *val) { |
|
|
|
switch (index) { |
|
|
|
GET_CFG(kpm_bcfg_pad, pm_base_cfg.pad, val); |
|
|
|
GET_CFG(kpm_bcfg_mark, pm_base_cfg.mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_pmbcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -184,6 +189,7 @@ int32_t PipetteModule::pipette_set_platinfo(int32_t cpyid, platinfo_index_t inde |
|
|
|
SET_CFG(kplatinfo_transform_pos, platinfo->transform_pos, val); |
|
|
|
SET_CFG(kplatinfo_tip_type, platinfo->tip_type, val); |
|
|
|
SET_CFG(kplatinfo_tip_length, platinfo->tip_length, val); |
|
|
|
SET_CFG(kplatinfo_mark, platinfo->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_platinfo index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -202,10 +208,12 @@ int32_t PipetteModule::pipette_get_platinfo(int32_t cpyid, platinfo_index_t inde |
|
|
|
GET_CFG(kplatinfo_work_ref_pos, platinfo->work_ref_pos, val); |
|
|
|
GET_CFG(kplatinfo_tip_picking_pos, platinfo->tip_picking_pos, val); |
|
|
|
GET_CFG(kplatinfo_tip_picking_search_range, platinfo->tip_picking_search_range, val); |
|
|
|
GET_CFG(kplatinfo_tip_picking_append_distance, platinfo->tip_picking_append_distance, val); |
|
|
|
GET_CFG(kplatinfo_tip_deposit_pos, platinfo->tip_deposit_pos, val); |
|
|
|
GET_CFG(kplatinfo_transform_pos, platinfo->transform_pos, val); |
|
|
|
GET_CFG(kplatinfo_tip_type, platinfo->tip_type, val); |
|
|
|
GET_CFG(kplatinfo_tip_length, platinfo->tip_length, val); |
|
|
|
GET_CFG(kplatinfo_mark, platinfo->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_platinfo index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -229,6 +237,7 @@ int32_t PipetteModule::pipette_set_zmvcfg(int32_t cpyid, zm_vcfg_index_t index, |
|
|
|
SET_CFG(kzm_vcfg_d1, cfg->d1, val); |
|
|
|
SET_CFG(kzm_vcfg_vstop, cfg->vstop, val); |
|
|
|
SET_CFG(kzm_vcfg_vmax, cfg->vmax, val); |
|
|
|
SET_CFG(kzm_vcfg_mark, cfg->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_zmvcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -251,6 +260,7 @@ int32_t PipetteModule::pipette_get_zmvcfg(int32_t cpyid, zm_vcfg_index_t index, |
|
|
|
GET_CFG(kzm_vcfg_d1, cfg->d1, val); |
|
|
|
GET_CFG(kzm_vcfg_vstop, cfg->vstop, val); |
|
|
|
GET_CFG(kzm_vcfg_vmax, cfg->vmax, val); |
|
|
|
GET_CFG(kzm_vcfg_mark, cfg->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_zmvcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -271,6 +281,7 @@ int32_t PipetteModule::pipette_set_pmvcfg(int32_t cpyid, pm_vcfg_index_t index, |
|
|
|
SET_CFG(kpm_vcfg_vstart, cfg->vstart, val); |
|
|
|
SET_CFG(kpm_vcfg_vstop, cfg->vstop, val); |
|
|
|
SET_CFG(kpm_vcfg_vmax, cfg->vmax, val); |
|
|
|
SET_CFG(kpm_vcfg_mark, cfg->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_pmvcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -290,6 +301,7 @@ int32_t PipetteModule::pipette_get_pmvcfg(int32_t cpyid, pm_vcfg_index_t index, |
|
|
|
GET_CFG(kpm_vcfg_vstart, cfg->vstart, val); |
|
|
|
GET_CFG(kpm_vcfg_vstop, cfg->vstop, val); |
|
|
|
GET_CFG(kpm_vcfg_vmax, cfg->vmax, val); |
|
|
|
GET_CFG(kpm_vcfg_mark, cfg->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_pmvcfg index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -317,6 +329,7 @@ int32_t PipetteModule::pipette_set_container_info(int32_t cpyid, container_info_ |
|
|
|
SET_CFG(kcontainer_info_fix_aspiration_depth, cfg->fix_aspiration_depth, val); |
|
|
|
SET_CFG(kcontainer_info_llf_vconvert_coneff, cfg->llf_vconvert_coneff, val); |
|
|
|
SET_CFG(kcontainer_info_pierce_depth, cfg->pierce_depth, val); |
|
|
|
SET_CFG(kcontainer_info_mark, cfg->mark, val); |
|
|
|
|
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_container_info index %d out of range", index); |
|
|
@ -345,6 +358,7 @@ int32_t PipetteModule::pipette_get_container_info(int32_t cpyid, container_info_ |
|
|
|
GET_CFG(kcontainer_info_fix_aspiration_depth, cfg->fix_aspiration_depth, val); |
|
|
|
GET_CFG(kcontainer_info_llf_vconvert_coneff, cfg->llf_vconvert_coneff, val); |
|
|
|
GET_CFG(kcontainer_info_pierce_depth, cfg->pierce_depth, val); |
|
|
|
GET_CFG(kcontainer_info_mark, cfg->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_container_info index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -377,6 +391,7 @@ int32_t PipetteModule::pipette_set_liquid_info(int32_t cpyid, liquid_info_index_ |
|
|
|
SET_CFG(kliquid_info_transport_volume, cfg->transport_volume, val); |
|
|
|
SET_CFG(kliquid_info_transport_volume_pm_vindex, cfg->transport_volume_pm_vindex, val); |
|
|
|
SET_CFG(kliquid_info_mix_pm_vindex, cfg->mix_pm_vindex, val); |
|
|
|
SET_CFG(kliquid_info_mark, cfg->mark, val); |
|
|
|
|
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_set_liquid_info index %d out of range", index); |
|
|
@ -410,7 +425,7 @@ int32_t PipetteModule::pipette_get_liquid_info(int32_t cpyid, liquid_info_index_ |
|
|
|
GET_CFG(kliquid_info_transport_volume, cfg->transport_volume, val); |
|
|
|
GET_CFG(kliquid_info_transport_volume_pm_vindex, cfg->transport_volume_pm_vindex, val); |
|
|
|
GET_CFG(kliquid_info_mix_pm_vindex, cfg->mix_pm_vindex, val); |
|
|
|
|
|
|
|
GET_CFG(kliquid_info_mark, cfg->mark, val); |
|
|
|
default: { |
|
|
|
ZLOGE(TAG, "pipette_get_liquid_info index %d out of range", index); |
|
|
|
return err::kparam_out_of_range; |
|
|
@ -1512,22 +1527,23 @@ void PipetteModule::parameter_init() { |
|
|
|
/***********************************************************************************************************************
|
|
|
|
* zmbcfg * |
|
|
|
***********************************************************************************************************************/ |
|
|
|
zmbcfg.shaft = 0; // Z轴电机运动方向调整
|
|
|
|
zmbcfg.one_circle_pulse = 80; // 电子齿轮比-分子
|
|
|
|
zmbcfg.one_circle_pulse_denominator = 1; // 电子齿轮比-分母
|
|
|
|
zmbcfg.ihold = 7; //
|
|
|
|
zmbcfg.irun = 7; //
|
|
|
|
zmbcfg.iholddelay = 10; //
|
|
|
|
zmbcfg.iglobalscaler = 0; //
|
|
|
|
zmbcfg.min_d = 0; //
|
|
|
|
zmbcfg.max_d = 0; //
|
|
|
|
zmbcfg.tzerowait = 0; //
|
|
|
|
zmbcfg.enc_resolution = 0; //
|
|
|
|
zmbcfg.enable_enc = 0; //
|
|
|
|
zmbcfg.dzero = 92; //
|
|
|
|
zmbcfg.io_trigger_append_distance = 20; //
|
|
|
|
zmbcfg.pos_devi_tolerance = 20; //
|
|
|
|
zmbcfg.mres = 0; //
|
|
|
|
zmbcfg.shaft = 0; // Z轴电机运动方向调整
|
|
|
|
zmbcfg.one_circle_pulse = 80; // 电子齿轮比-分子
|
|
|
|
zmbcfg.one_circle_pulse_denominator = 1; // 电子齿轮比-分母
|
|
|
|
zmbcfg.ihold = 7; //
|
|
|
|
zmbcfg.irun = 7; //
|
|
|
|
zmbcfg.iholddelay = 10; //
|
|
|
|
zmbcfg.iglobalscaler = 0; //
|
|
|
|
zmbcfg.min_d = 0; //
|
|
|
|
zmbcfg.max_d = 0; //
|
|
|
|
zmbcfg.tzerowait = 0; //
|
|
|
|
zmbcfg.enc_resolution = 0; //
|
|
|
|
zmbcfg.enable_enc = 0; //
|
|
|
|
zmbcfg.dzero = 92; //
|
|
|
|
zmbcfg.io_trigger_append_distance = 20; //
|
|
|
|
zmbcfg.pos_devi_tolerance = 20; //
|
|
|
|
zmbcfg.mres = 0; //
|
|
|
|
zmbcfg.mark = 9973; //
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* pm_base_cfg * |
|
|
|
***********************************************************************************************************************/ |
|
|
@ -1538,13 +1554,9 @@ void PipetteModule::parameter_init() { |
|
|
|
***********************************************************************************************************************/ |
|
|
|
memset_int32_t((int32_t *)&m_platinfo[0], -1, sizeof(m_platinfo) / 4); |
|
|
|
memset_int32_t((int32_t *)&m_platinfo[0], 0, sizeof(m_platinfo[0]) / 4); |
|
|
|
m_platinfo[0].work_ref_pos = 0; |
|
|
|
m_platinfo[0].tip_picking_pos = 0; |
|
|
|
m_platinfo[0].tip_picking_search_range = 0; |
|
|
|
m_platinfo[0].tip_deposit_pos = 0; |
|
|
|
// m_platinfo[0].transform_pos = 0; //
|
|
|
|
m_platinfo[0].tip_type = smtp2::TS200UL; |
|
|
|
m_platinfo[0].tip_length = 500; // 50mm
|
|
|
|
m_platinfo[0].tip_length = 500; // 50mm
|
|
|
|
m_platinfo[0].mark = 9973; //
|
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* m_zm_vcfg * |
|
|
@ -1559,6 +1571,7 @@ void PipetteModule::parameter_init() { |
|
|
|
m_zm_vcfg[kzm_v_default].d1 = 200; |
|
|
|
m_zm_vcfg[kzm_v_default].vstop = 400; |
|
|
|
m_zm_vcfg[kzm_v_default].vmax = 1200; |
|
|
|
m_zm_vcfg[kzm_v_default].mark = 9973; |
|
|
|
|
|
|
|
m_zm_vcfg[kzm_v_move_to_zero].vmax = 600; |
|
|
|
m_zm_vcfg[kzm_v_look_zero_edge].vmax = 100; |
|
|
@ -1576,8 +1589,9 @@ void PipetteModule::parameter_init() { |
|
|
|
m_pm_vcfg[kpm_v_default].dec = 1; |
|
|
|
m_pm_vcfg[kpm_v_default].vstart = 100; |
|
|
|
m_pm_vcfg[kpm_v_default].vstop = 50; |
|
|
|
m_pm_vcfg[kpm_v_default].vmax = 2500; |
|
|
|
m_pm_vcfg[kpm_v_default].mark = 9973; |
|
|
|
|
|
|
|
//
|
|
|
|
m_pm_vcfg[kpm_v_default].vmax = 2500; |
|
|
|
m_pm_vcfg[kpm_v_slow_lv1].vmax = 5; |
|
|
|
m_pm_vcfg[kpm_v_slow_lv2].vmax = 10; |
|
|
@ -1593,6 +1607,7 @@ void PipetteModule::parameter_init() { |
|
|
|
memset_int32_t((int32_t *)&m_container_info[0], -1, sizeof(m_container_info) / 4); |
|
|
|
memset_int32_t((int32_t *)&m_container_info[0], 0, sizeof(m_container_info[0]) / 4); |
|
|
|
m_container_info[0].leaving_height = 150; |
|
|
|
m_container_info[0].mark = 9973; |
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* m_liquid_info * |
|
|
@ -1618,4 +1633,5 @@ void PipetteModule::parameter_init() { |
|
|
|
m_liquid_info[0].transport_volume = 50; // 50(x100nl) == 5ul
|
|
|
|
m_liquid_info[0].transport_volume_pm_vindex = kpm_v_slow_lv2; |
|
|
|
m_liquid_info[0].mix_pm_vindex = kpm_v_max; |
|
|
|
m_liquid_info[0].mark = 9973; |
|
|
|
} |