From d80b7654e9b5343d12f15755a4f8e6b1f98e135a Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 9 Dec 2024 16:57:58 +0800 Subject: [PATCH] change_pipette_api --- api/apibasic/cmdid.cpp | 157 +++++++++++------------------------------ api/apibasic/cmdid.hpp | 41 +++++++++-- api/apibasic/errorcode.hpp | 1 + api/apibasic/reg_index.cpp | 2 + api/apibasic/reg_index.hpp | 2 + api/zi_pipette_ctrl_module.hpp | 23 ------ 6 files changed, 81 insertions(+), 145 deletions(-) diff --git a/api/apibasic/cmdid.cpp b/api/apibasic/cmdid.cpp index a5cee9d..ef609f2 100644 --- a/api/apibasic/cmdid.cpp +++ b/api/apibasic/cmdid.cpp @@ -11,25 +11,10 @@ static cmdinfo_t table[] = { CMD_ITERM(kevent_bus_reg_change_report), - CMD_ITERM(kmodule_ping), - CMD_ITERM(kmodule_get_status), - CMD_ITERM(kmodule_stop), - CMD_ITERM(kmodule_set_reg), - CMD_ITERM(kmodule_get_reg), - CMD_ITERM(kmodule_get_error), - CMD_ITERM(kmodule_clear_error), - CMD_ITERM(kmodule_active_cfg), - - CMD_ITERM(kxymotor_enable), - CMD_ITERM(kxymotor_move_by), - CMD_ITERM(kxymotor_move_to), - CMD_ITERM(kxymotor_move_to_zero), - CMD_ITERM(kxymotor_read_pos), - CMD_ITERM(kxymotor_read_inio_index_in_stm32), - CMD_ITERM(kxymotor_read_inio), - CMD_ITERM(kxymotor_set_pos), - CMD_ITERM(kxymotor_motor_move_by_direct), - CMD_ITERM(kxymotor_read_enc_direct), + CMD_ITERM(kmodule_ping), CMD_ITERM(kmodule_get_status), CMD_ITERM(kmodule_stop), CMD_ITERM(kmodule_set_reg), CMD_ITERM(kmodule_get_reg), CMD_ITERM(kmodule_get_error), CMD_ITERM(kmodule_clear_error), CMD_ITERM(kmodule_active_cfg), + + CMD_ITERM(kxymotor_enable), CMD_ITERM(kxymotor_move_by), CMD_ITERM(kxymotor_move_to), CMD_ITERM(kxymotor_move_to_zero), CMD_ITERM(kxymotor_read_pos), CMD_ITERM(kxymotor_read_inio_index_in_stm32), CMD_ITERM(kxymotor_read_inio), CMD_ITERM(kxymotor_set_pos), + CMD_ITERM(kxymotor_motor_move_by_direct), CMD_ITERM(kxymotor_read_enc_direct), // CMD_ITERM(kpipette_ctrl_init_device), // CMD_ITERM(kpipette_ctrl_put_tip), @@ -51,103 +36,35 @@ static cmdinfo_t table[] = { // CMD_ITERM(kpipette_distribut_llf), // CMD_ITERM(kpipette_shake_up_llf), - CMD_ITERM(ka8000_optical_module_power_ctrl), - CMD_ITERM(ka8000_optical_open_laser), - CMD_ITERM(ka8000_optical_close_laser), - CMD_ITERM(ka8000_optical_set_laster_gain), - CMD_ITERM(ka8000_optical_set_scan_amp_gain), - CMD_ITERM(ka8000_optical_read_scanner_adc_val), - CMD_ITERM(ka8000_optical_read_laster_adc_val), - CMD_ITERM(ka8000_optical_scan_current_point_amp_adc_val), - CMD_ITERM(ka8000_optical_start_capture), - CMD_ITERM(ka8000_optical_read_raw), - - CMD_ITERM(ka8k_opt_v2_t_start_scan), - CMD_ITERM(ka8k_opt_v2_f_start_scan), - CMD_ITERM(ka8k_opt_v2_t_open_laster), - CMD_ITERM(ka8k_opt_v2_t_close_laster), - CMD_ITERM(ka8k_opt_v2_t_readVal), - CMD_ITERM(ka8k_opt_v2_f_open_laster), - CMD_ITERM(ka8k_opt_v2_f_close_laster), - CMD_ITERM(ka8k_opt_v2_f_readVal), - - CMD_ITERM(kstep_motor_enable), - CMD_ITERM(kstep_motor_read_pos), - CMD_ITERM(kstep_motor_easy_rotate), - CMD_ITERM(kstep_motor_easy_move_by), - CMD_ITERM(kstep_motor_easy_move_to), - CMD_ITERM(kstep_motor_easy_move_to_zero), - CMD_ITERM(kstep_motor_easy_set_current_pos), - CMD_ITERM(kstep_motor_easy_move_to_io), - CMD_ITERM(kstep_motor_stop), - CMD_ITERM(kstep_motor_active_cfg), - CMD_ITERM(kstep_motor_read_io_state), - CMD_ITERM(kstep_motor_easy_move_to_end_point), - CMD_ITERM(kstep_motor_read_tmc5130_status), - CMD_ITERM(kstep_motor_read_tmc5130_state), - CMD_ITERM(kstep_motor_read_io_index_in_stm32), - CMD_ITERM(kstep_motor_set_subdevice_reg), - CMD_ITERM(kstep_motor_get_subdevice_reg), - CMD_ITERM(kstep_motor_easy_reciprocating_motion), - CMD_ITERM(kstep_motor_easy_move_to_zero_point_quick), - - CMD_ITERM(kmini_servo_enable), - CMD_ITERM(kmini_servo_read_pos), - CMD_ITERM(kmini_servo_active_cfg), - CMD_ITERM(kmini_servo_stop), - CMD_ITERM(kmini_servo_set_mid_point), - CMD_ITERM(kmini_servo_read_io_state), - - CMD_ITERM(kmini_servo_move_to), - CMD_ITERM(kmini_servo_rotate), - CMD_ITERM(kmini_servo_rotate_with_torque), - CMD_ITERM(kmini_servo_set_cur_pos), - - CMD_ITERM(kextboard_read_inio), - CMD_ITERM(kextboard_write_outio), - CMD_ITERM(kextboard_read_muti_inio), - CMD_ITERM(kextboard_read_inio_index_in_stm32), - CMD_ITERM(kextboard_read_outio_index_in_stm32), - CMD_ITERM(kextboard_read_outio), - - CMD_ITERM(kcode_scaner_start_scan), - CMD_ITERM(kcode_scaner_stop_scan), - CMD_ITERM(kcode_scaner_result_is_ready), - CMD_ITERM(kcode_scaner_read_scaner_result), - CMD_ITERM(kcode_scaner_get_result_length), + CMD_ITERM(ka8000_optical_module_power_ctrl), CMD_ITERM(ka8000_optical_open_laser), CMD_ITERM(ka8000_optical_close_laser), CMD_ITERM(ka8000_optical_set_laster_gain), CMD_ITERM(ka8000_optical_set_scan_amp_gain), CMD_ITERM(ka8000_optical_read_scanner_adc_val), + CMD_ITERM(ka8000_optical_read_laster_adc_val), CMD_ITERM(ka8000_optical_scan_current_point_amp_adc_val), CMD_ITERM(ka8000_optical_start_capture), CMD_ITERM(ka8000_optical_read_raw), + + CMD_ITERM(ka8k_opt_v2_t_start_scan), CMD_ITERM(ka8k_opt_v2_f_start_scan), CMD_ITERM(ka8k_opt_v2_t_open_laster), CMD_ITERM(ka8k_opt_v2_t_close_laster), CMD_ITERM(ka8k_opt_v2_t_readVal), CMD_ITERM(ka8k_opt_v2_f_open_laster), CMD_ITERM(ka8k_opt_v2_f_close_laster), CMD_ITERM(ka8k_opt_v2_f_readVal), + + CMD_ITERM(kstep_motor_enable), CMD_ITERM(kstep_motor_read_pos), CMD_ITERM(kstep_motor_easy_rotate), CMD_ITERM(kstep_motor_easy_move_by), CMD_ITERM(kstep_motor_easy_move_to), CMD_ITERM(kstep_motor_easy_move_to_zero), CMD_ITERM(kstep_motor_easy_set_current_pos), + CMD_ITERM(kstep_motor_easy_move_to_io), CMD_ITERM(kstep_motor_stop), CMD_ITERM(kstep_motor_active_cfg), CMD_ITERM(kstep_motor_read_io_state), CMD_ITERM(kstep_motor_easy_move_to_end_point), CMD_ITERM(kstep_motor_read_tmc5130_status), CMD_ITERM(kstep_motor_read_tmc5130_state), + CMD_ITERM(kstep_motor_read_io_index_in_stm32), CMD_ITERM(kstep_motor_set_subdevice_reg), CMD_ITERM(kstep_motor_get_subdevice_reg), CMD_ITERM(kstep_motor_easy_reciprocating_motion), CMD_ITERM(kstep_motor_easy_move_to_zero_point_quick), + + CMD_ITERM(kmini_servo_enable), CMD_ITERM(kmini_servo_read_pos), CMD_ITERM(kmini_servo_active_cfg), CMD_ITERM(kmini_servo_stop), CMD_ITERM(kmini_servo_set_mid_point), CMD_ITERM(kmini_servo_read_io_state), + + CMD_ITERM(kmini_servo_move_to), CMD_ITERM(kmini_servo_rotate), CMD_ITERM(kmini_servo_rotate_with_torque), CMD_ITERM(kmini_servo_set_cur_pos), + + CMD_ITERM(kextboard_read_inio), CMD_ITERM(kextboard_write_outio), CMD_ITERM(kextboard_read_muti_inio), CMD_ITERM(kextboard_read_inio_index_in_stm32), CMD_ITERM(kextboard_read_outio_index_in_stm32), CMD_ITERM(kextboard_read_outio), + + CMD_ITERM(kcode_scaner_start_scan), CMD_ITERM(kcode_scaner_stop_scan), CMD_ITERM(kcode_scaner_result_is_ready), CMD_ITERM(kcode_scaner_read_scaner_result), CMD_ITERM(kcode_scaner_get_result_length), CMD_ITERM(kfan_controler_set_speed), - CMD_ITERM(ktemp_controler_start_hearting), - CMD_ITERM(ktemp_controler_stop_hearting), - CMD_ITERM(ktemp_controler_set_peltier_power_level), - CMD_ITERM(ktemp_controler_set_pump_level), - CMD_ITERM(ktemp_controler_set_fan_level), - CMD_ITERM(ktemp_controler_enable_log), - - CMD_ITERM(ka8000_idcard_reader_read_raw), - CMD_ITERM(ka8000_idcard_write_raw), - CMD_ITERM(ka8000_idcard_erase), - CMD_ITERM(ka8000_idcard_earse_unlock), - CMD_ITERM(kevent_a8000_idcard_online), - CMD_ITERM(kevent_a8000_idcard_offline), - - CMD_ITERM(kplate_code_scaner_push_card_and_scan), - CMD_ITERM(kplate_code_scaner_stop_scan), - CMD_ITERM(kplate_code_scaner_read_result), - CMD_ITERM(kplate_code_scaner_read_result_point_num), - CMD_ITERM(kplate_code_scaner_read_code), - CMD_ITERM(kplate_code_scaner_adc_readraw), - CMD_ITERM(kplate_code_scaner_open_laser), - CMD_ITERM(kplate_code_scaner_close_laser), - - CMD_ITERM(kpipette_zmotor_enable), - CMD_ITERM(kpipette_zmotor_move_zero), - CMD_ITERM(kpipette_zmotor_move_to_zero_point_quick), - CMD_ITERM(kpipette_zmotor_measure_distance), - CMD_ITERM(kpipette_zmotor_read_measure_distance_result), - CMD_ITERM(kpipette_zmotor_move_by), + CMD_ITERM(ktemp_controler_start_hearting), CMD_ITERM(ktemp_controler_stop_hearting), CMD_ITERM(ktemp_controler_set_peltier_power_level), CMD_ITERM(ktemp_controler_set_pump_level), CMD_ITERM(ktemp_controler_set_fan_level), CMD_ITERM(ktemp_controler_enable_log), + + CMD_ITERM(ka8000_idcard_reader_read_raw), CMD_ITERM(ka8000_idcard_write_raw), CMD_ITERM(ka8000_idcard_erase), CMD_ITERM(ka8000_idcard_earse_unlock), CMD_ITERM(kevent_a8000_idcard_online), CMD_ITERM(kevent_a8000_idcard_offline), + + CMD_ITERM(kplate_code_scaner_push_card_and_scan), CMD_ITERM(kplate_code_scaner_stop_scan), CMD_ITERM(kplate_code_scaner_read_result), CMD_ITERM(kplate_code_scaner_read_result_point_num), CMD_ITERM(kplate_code_scaner_read_code), CMD_ITERM(kplate_code_scaner_adc_readraw), + CMD_ITERM(kplate_code_scaner_open_laser), CMD_ITERM(kplate_code_scaner_close_laser), + + CMD_ITERM(kpipette_zmotor_enable), CMD_ITERM(kpipette_zmotor_move_zero), CMD_ITERM(kpipette_zmotor_move_to_zero_point_quick), CMD_ITERM(kpipette_zmotor_measure_distance), CMD_ITERM(kpipette_zmotor_read_measure_distance_result), CMD_ITERM(kpipette_zmotor_move_by), CMD_ITERM(kpipette_zmotor_move_to), +#if 0 CMD_ITERM(kpipette_init_device), CMD_ITERM(kpipette_put_tip), CMD_ITERM(kpipette_lld_prepare), @@ -168,7 +85,6 @@ static cmdinfo_t table[] = { CMD_ITERM(kpipette_get_sensor_sample_data_num), CMD_ITERM(kpipette_zmotor_read_zero_point_state), CMD_ITERM(kpipette_zmotor_read_dev_status_cache), - CMD_ITERM(kpipette_set_lld_startz), CMD_ITERM(kpipette_set_lld_endz), CMD_ITERM(kpipette_set_lld_type), @@ -177,8 +93,19 @@ static cmdinfo_t table[] = { CMD_ITERM(kpipette_set_llf_startz), CMD_ITERM(kpipette_set_llf_endz), CMD_ITERM(kpipette_clear_hanging_liquid), - - +#endif + + CMD_ITERM(kpipette_init_device), // + CMD_ITERM(kpipette_put_tip), // + CMD_ITERM(kpipette_pump_move_to), // + CMD_ITERM(kpipette_lld), // + CMD_ITERM(kpipette_aspirate), // + CMD_ITERM(kpipette_distribu), // + CMD_ITERM(kpipette_shake_up), // + CMD_ITERM(kpipette_get_sensor_sample_data), // + CMD_ITERM(kpipette_get_sensor_sample_data_num), // + CMD_ITERM(kpipette_zmotor_read_zero_point_state), // + CMD_ITERM(kpipette_zmotor_read_dev_status_cache), // }; const char* cmdid2str(int32_t code) { diff --git a/api/apibasic/cmdid.hpp b/api/apibasic/cmdid.hpp index 4083adf..3805c2c 100644 --- a/api/apibasic/cmdid.hpp +++ b/api/apibasic/cmdid.hpp @@ -126,13 +126,15 @@ typedef enum { /*********************************************************************************************************************** * 移液枪 * ***********************************************************************************************************************/ - kpipette_zmotor_enable = 0x7400, - kpipette_zmotor_move_zero = 0x7401, - kpipette_zmotor_move_to_zero_point_quick = 0x7402, - kpipette_zmotor_measure_distance = 0x7403, - kpipette_zmotor_read_measure_distance_result = 0x7404, - kpipette_zmotor_move_by = 0x7405, - kpipette_zmotor_move_to = 0x7406, + kpipette_zmotor_enable = 0x7400, + kpipette_zmotor_move_zero = 0x7401, + kpipette_zmotor_move_to_zero_point_quick = 0x7402, + kpipette_zmotor_measure_distance = 0x7403, + kpipette_zmotor_read_measure_distance_result = 0x7404, + kpipette_zmotor_move_by = 0x7405, + kpipette_zmotor_move_to = 0x7406, + +#if 0 kpipette_init_device = 0x7407, kpipette_put_tip = 0x7408, kpipette_lld_prepare = 0x7409, @@ -163,6 +165,31 @@ typedef enum { kpipette_set_llf_startz = 0x7422, kpipette_set_llf_endz = 0x7423, kpipette_clear_hanging_liquid = 0x7424, +#endif + + // + // virtual int32_t pipette_pump_move_to(int32_t pumpv, int32_t ul); + // virtual int32_t pipette_lld(int32_t lldtype, int32_t maxzpos, int32_t c_threshold, int32_t p_threshold); + // virtual int32_t pipette_aspirate(int32_t llfrpm, int32_t llftpos, int32_t pumpv, int32_t ul); + // virtual int32_t pipette_distribu(int32_t llfrpm, int32_t pumpv, int32_t ul); + // virtual int32_t pipette_shake_up(int32_t llfrpm, int32_t maxzpos, int32_t pumpv, int32_t ul, int32_t times); + // pipette_get_sensor_sample_data + // pipette_get_sensor_sample_data_num + // pipette_zmotor_read_zero_point_state + // pipette_zmotor_read_dev_status_cache + + kpipette_init_device = 0x7501, + kpipette_put_tip = 0x7502, + kpipette_pump_move_to = 0x7503, + kpipette_lld = 0x7504, + kpipette_aspirate = 0x7505, + kpipette_distribu = 0x7506, + kpipette_shake_up = 0x7507, + + kpipette_get_sensor_sample_data = 0x7510, + kpipette_get_sensor_sample_data_num = 0x7511, + kpipette_zmotor_read_zero_point_state = 0x7512, + kpipette_zmotor_read_dev_status_cache = 0x7513, } cmdid_t; diff --git a/api/apibasic/errorcode.hpp b/api/apibasic/errorcode.hpp index b22f135..1f2d2f6 100644 --- a/api/apibasic/errorcode.hpp +++ b/api/apibasic/errorcode.hpp @@ -59,6 +59,7 @@ typedef enum { kpipette_error_VolumeError = 1419, kpipette_error_TipAlreadyLoad = 1420, kpipette_error_TipLoadFail = 1421, + kpipette_error_no_tip_when_lld = 1422, kpipette_error_uninited = 1501, kpipette_error_not_lld_prepare = 1502, diff --git a/api/apibasic/reg_index.cpp b/api/apibasic/reg_index.cpp index 74ade46..785426a 100644 --- a/api/apibasic/reg_index.cpp +++ b/api/apibasic/reg_index.cpp @@ -49,6 +49,8 @@ static reginfo_t table[] = { REG_ITERM(kreg_pipette_lld_detect_period_ms), REG_ITERM(kreg_pipette_lld_prepare_pos), REG_ITERM(kreg_pipette_lld_prepare_pre_distribut_ul), + REG_ITERM(kreg_pipette_lld_enable_record_data), + REG_ITERM(kreg_pipette_distribu_pump_vel), REG_ITERM(kreg_pipette_zm_pos), REG_ITERM(kreg_pipette_zm_is_enable), diff --git a/api/apibasic/reg_index.hpp b/api/apibasic/reg_index.hpp index 055697b..52b38ba 100644 --- a/api/apibasic/reg_index.hpp +++ b/api/apibasic/reg_index.hpp @@ -59,6 +59,8 @@ typedef enum { kreg_pipette_lld_detect_period_ms = 4060, // kreg_pipette_lld_prepare_pos = 4061, // kreg_pipette_lld_prepare_pre_distribut_ul = 4062, // + kreg_pipette_lld_enable_record_data = 4063, // + kreg_pipette_distribu_pump_vel = 4064, // kreg_pipette_zm_pos = 4101, kreg_pipette_zm_is_enable = 4102, diff --git a/api/zi_pipette_ctrl_module.hpp b/api/zi_pipette_ctrl_module.hpp index f915de0..7b82e6e 100644 --- a/api/zi_pipette_ctrl_module.hpp +++ b/api/zi_pipette_ctrl_module.hpp @@ -7,28 +7,5 @@ namespace iflytop { using namespace std; -class ZIPipetteCtrlModule { - public: - virtual ~ZIPipetteCtrlModule() {} - virtual int32_t pipette_ctrl_init_device() = 0; - virtual int32_t pipette_ctrl_put_tip() = 0; - virtual int32_t pipette_ctrl_move_to_ul(int32_t ul) = 0; - virtual int32_t pipette_lld_prepare() = 0; - virtual int32_t pipette_plld(int32_t zdpos, int32_t p_threshold) = 0; - virtual int32_t pipette_clld(int32_t zdpos, int32_t c_threshold) = 0; - virtual int32_t pipette_mlld(int32_t zdpos, int32_t c_threshold, int32_t p_threshold) = 0; - virtual int32_t pipette_lld_is_detect_liquid(int32_t *liquid) = 0; - virtual int32_t pipette_aspirate(int32_t ul) = 0; - virtual int32_t pipette_distribut(int32_t ul) = 0; - virtual int32_t pipette_shake_up(int32_t ul, int32_t times) = 0; - virtual int32_t pipette_aspirate_llf(int32_t ul, int32_t zmotor_v) = 0; - virtual int32_t pipette_distribut_llf(int32_t ul, int32_t zmotor_v) = 0; - virtual int32_t pipette_shake_up_llf(int32_t ul, int32_t zmotor_v, int32_t times) = 0; - - virtual int32_t pipette_enable_zmotor(int32_t enable) = 0; - virtual int32_t pipette_write_cmd_direct(uint8_t *tx, int32_t len, uint8_t *rx, int32_t *rxlen) = 0; - virtual int32_t pipette_get_sensor_sample_data(int32_t index, int32_t *motor_pos, int32_t *cval, int32_t *pval) = 0; - virtual int32_t pipette_get_sensor_sample_data_num(int32_t *num) = 0; -}; } // namespace iflytop