Browse Source

update

change_pipette_api
zhaohe 1 year ago
parent
commit
40ada078fc
  1. 298
      api/apibasic/cmdid.hpp
  2. 43
      api/apibasic/reg_index.cpp
  3. 6
      api/apibasic/reg_index.hpp

298
api/apibasic/cmdid.hpp

@ -13,175 +13,135 @@ typedef enum {
virtual int32_t board_reset() = 0;
#endif
kboard_reset = CMDID(0, 0), // para:{}, ack:{}
kevent_bus_reg_change_report = CMDID(0, 100), // val{regindex, oldval, toval}
kmodule_ping = CMDID(1, 0),
kmodule_get_status = CMDID(1, 4),
kmodule_stop = CMDID(1, 1),
kmodule_set_reg = CMDID(1, 5),
kmodule_get_reg = CMDID(1, 6),
kmodule_get_error = CMDID(1, 10),
kmodule_clear_error = CMDID(1, 11),
kmodule_active_cfg = CMDID(1, 16),
kxymotor_enable = CMDID(3, 1),
kxymotor_move_by = CMDID(3, 2),
kxymotor_move_to = CMDID(3, 3),
kxymotor_move_to_zero = CMDID(3, 4),
kxymotor_read_pos = CMDID(3, 6),
kxymotor_read_inio_index_in_stm32 = CMDID(3, 7),
kxymotor_read_inio = CMDID(3, 8),
kxymotor_set_pos = CMDID(3, 9),
kxymotor_motor_move_by_direct = CMDID(3, 10), // int32_t motor1_dpos, int32_t motor2_dpos
kxymotor_read_enc_direct = CMDID(3, 11), // int32_t *enc1, int32_t *enc2
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
ka8000_optical_module_power_ctrl = CMDID(6, 0), // para:{4}, ack:{}
ka8000_optical_open_laser = CMDID(6, 1), // para:{4}, ack:{}
ka8000_optical_close_laser = CMDID(6, 2), // para:{4}, ack:{}
ka8000_optical_set_laster_gain = CMDID(6, 3), // para:{4,4}, ack:{}
ka8000_optical_set_scan_amp_gain = CMDID(6, 4), // para:{4,4}, ack:{}
ka8000_optical_read_scanner_adc_val = CMDID(6, 5), // para:{4}, ack:{4}
ka8000_optical_read_laster_adc_val = CMDID(6, 6), // para:{4}, ack:{4}
ka8000_optical_scan_current_point_amp_adc_val = CMDID(6, 7), // para:{4,4,4,4}, ack:{4,4}
ka8000_optical_start_capture = CMDID(6, 8), // para:{n/a}
ka8000_optical_read_raw = CMDID(6, 9), // para:{index,size}
ka8k_opt_v2_t_start_scan = CMDID(7, 0), //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)
ka8k_opt_v2_f_start_scan = CMDID(7, 1), //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)
ka8k_opt_v2_t_open_laster = CMDID(7, 10), //(int32_t lasterGain,int32_t scanGain) for_debug
ka8k_opt_v2_t_close_laster = CMDID(7, 11), //() for_debug
ka8k_opt_v2_t_readVal = CMDID(7, 12), //(int32_t *val0,int32_t *val1) for_debug
ka8k_opt_v2_f_open_laster = CMDID(7, 13), //(int32_t lasterGain,int32_t scanGain) for_debug
ka8k_opt_v2_f_close_laster = CMDID(7, 14), //() for_debug
ka8k_opt_v2_f_readVal = CMDID(7, 15), //(int32_t *val0,int32_t *val1) for_debug
/***********************************************************************************************************************
* STEP_MOTOR *
***********************************************************************************************************************/
kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{}
kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4}
kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{}
kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{}
kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{}
kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{}
kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{}
kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{}
kstep_motor_stop = CMDID(2, 40), // para:{4}, ack:{}
kstep_motor_active_cfg = CMDID(2, 41), // para:{4}, ack:{}
kstep_motor_read_io_state = CMDID(2, 42), // para:{4}, ack:{}
kstep_motor_easy_move_to_end_point = CMDID(2, 44), //
kstep_motor_easy_reciprocating_motion = CMDID(2, 45), //(int32_t startpos, int32_t endpos, int32_t times) = 0;
kstep_motor_easy_move_to_zero_point_quick = CMDID(2, 46), //(int32_t startpos, int32_t endpos, int32_t times) = 0;
kstep_motor_read_tmc5130_status = CMDID(2, 50), //
kstep_motor_read_tmc5130_state = CMDID(2, 51), // 调试使用
kstep_motor_read_io_index_in_stm32 = CMDID(2, 56), // 调试使用
kstep_motor_set_subdevice_reg = CMDID(2, 57), // 调试使用
kstep_motor_get_subdevice_reg = CMDID(2, 58), // 调试使用
/***********************************************************************************************************************
* MINI_SERVO *
***********************************************************************************************************************/
kmini_servo_enable = CMDID(102, 1),
kmini_servo_read_pos = CMDID(102, 2),
kmini_servo_active_cfg = CMDID(102, 3),
kmini_servo_stop = CMDID(102, 4),
kmini_servo_set_mid_point = CMDID(102, 7),
kmini_servo_read_io_state = CMDID(102, 8),
kmini_servo_move_to = CMDID(102, 9),
kmini_servo_rotate = CMDID(102, 10),
kmini_servo_rotate_with_torque = CMDID(102, 11),
kmini_servo_set_cur_pos = CMDID(102, 12), // {int32_t pos}
/***********************************************************************************************************************
* BOARD *
***********************************************************************************************************************/
kextboard_read_inio = CMDID(103, 1), // para:{index}, ack:{state}
kextboard_write_outio = CMDID(103, 2), // para:{index,state}, ack:{}
kextboard_read_muti_inio = CMDID(103, 3), // para:{}, ack:{states}
kextboard_read_inio_index_in_stm32 = CMDID(103, 4), // para:{index}, ack:{index_in_stm32}
kextboard_read_outio_index_in_stm32 = CMDID(103, 5), // para:{index}, ack:{index_in_stm32}
kextboard_read_outio = CMDID(103, 6), // para:{index}, ack:{state}
/***********************************************************************************************************************
* CODE_SCANER *
***********************************************************************************************************************/
kcode_scaner_start_scan = CMDID(104, 1), // para:{}, ack:{}
kcode_scaner_stop_scan = CMDID(104, 2), // para:{}, ack:{}
kcode_scaner_result_is_ready = CMDID(104, 3), // para:{}, ack:{}
kcode_scaner_read_scaner_result = CMDID(104, 4), // para:{}, ack:{X}
kcode_scaner_get_result_length = CMDID(104, 5), // para:{}, ack:{X}
/***********************************************************************************************************************
* FAN_CTRL *
***********************************************************************************************************************/
kfan_controler_set_speed = CMDID(0x69, 0),
/***********************************************************************************************************************
* WATER_COOLING_TEMPERATURE *
***********************************************************************************************************************/
ktemp_controler_start_hearting = CMDID(0x70, 0),
ktemp_controler_stop_hearting = CMDID(0x70, 1),
ktemp_controler_set_peltier_power_level = CMDID(0x70, 2), // 测试使用 para:{+-level100}
ktemp_controler_set_pump_level = CMDID(0x70, 3), // 测试使用 para:{+ level100}
ktemp_controler_set_fan_level = CMDID(0x70, 4), // 测试使用 para:{+ level100}
ktemp_controler_enable_log = CMDID(0x70, 5), // 测试使用 para:{enable log}
/***********************************************************************************************************************
* IDCARD_READER *
***********************************************************************************************************************/
ka8000_idcard_reader_read_raw = CMDID(0x71, 0), // para:{index}, ack:{}
ka8000_idcard_write_raw = CMDID(0x71, 1), // (int32_t add, uint8_t* data, int32_t len)
ka8000_idcard_erase = CMDID(0x71, 2), //
ka8000_idcard_earse_unlock = CMDID(0x71, 3), //
kevent_a8000_idcard_online = CMDID(0x71, 200), //
kevent_a8000_idcard_offline = CMDID(0x71, 201), //
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
kpipette_ctrl_init_device = CMDID(0x72, 1), // param:(void)
kpipette_ctrl_put_tip = CMDID(0x72, 2), // param:(void)
kpipette_ctrl_move_to_ul = CMDID(0x72, 3), // param:(int32_t ul)
kpipette_lld_prepare = CMDID(0x72, 4), // param:(void)
kpipette_plld = CMDID(0x72, 5), // param:(int32_t zdpos, int32_t p_threshold)
kpipette_clld = CMDID(0x72, 6), // param:(int32_t zdpos, int32_t c_threshold)
kpipette_mlld = CMDID(0x72, 7), // param:(int32_t zdpos, int32_t c_threshold, int32_t p_threshold)
kpipette_lld_is_detect_liquid = CMDID(0x72, 8), // param:(void) ack(int32_t isdetect)
kpipette_aspirate = CMDID(0x72, 9), // param:(int32_t ul)
kpipette_distribut = CMDID(0x72, 10), // param:(int32_t ul)
kpipette_shake_up = CMDID(0x72, 11), // param:(int32_t ul, int32_t times)
kpipette_aspirate_llf = CMDID(0x72, 12), // param:(int32_t ul, int32_t zmotor_v)
kpipette_distribut_llf = CMDID(0x72, 13), // param:(int32_t ul, int32_t zmotor_v)
kpipette_shake_up_llf = CMDID(0x72, 14), // param:(int32_t ul, int32_t zmotor_v, int32_t times)
kpipette_enable_zmotor = CMDID(0x72, 20), // para:{enable}, ack:{}
kpipette_write_cmd_direct = CMDID(0x72, 21), // para:{strbuf}, ack:{strbuf}
kpipette_get_sensor_sample_data = CMDID(0x72, 22), // para:{index} , ack:{motor_pos,cval,pval}
kpipette_get_sensor_sample_data_num = CMDID(0x72, 23), // para:{} , ack:{num}
kpipette_sensor_sample_data_report = CMDID(0x72, 50), // val{regindex, oldval, toval}
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
kplate_code_scaner_push_card_and_scan = CMDID(0x73, 1), // int32_t startpos
kplate_code_scaner_stop_scan = CMDID(0x73, 2), //
kplate_code_scaner_read_result = CMDID(0x73, 3), // int32_t packetIndex, uint8_t* data, int32_t* len
kplate_code_scaner_read_result_point_num = CMDID(0x73, 4), // int32_t* pointNum
kplate_code_scaner_read_code = CMDID(0x73, 5), // int32_t* rawcode, int32_t* legal, int32_t* item, int32_t* lot
kplate_code_scaner_adc_readraw = CMDID(0x73, 6), // 硬件测试使用 int32_t* val
kplate_code_scaner_open_laser = CMDID(0x73, 7), // 硬件测试使用
kplate_code_scaner_close_laser = CMDID(0x73, 8), // 硬件测试使用
kboard_reset = 0x0000, //{} {}
kevent_bus_reg_change_report = 0x0064, //{regindex,oldval,toval}
kmodule_ping = 0x0100, //{}{}
kmodule_get_status = 0x0104, //{}{int32_t}
kmodule_stop = 0x0101, //{}{}
kmodule_set_reg = 0x0105, //(int32_t index,int32_t val)->()
kmodule_get_reg = 0x0106, //(int32_t index)->(int32_t val)
kmodule_get_error = 0x010a, //
kmodule_clear_error = 0x010b, //
kmodule_active_cfg = 0x0110, //
kxymotor_enable = 0x0301, //
kxymotor_move_by = 0x0302, //
kxymotor_move_to = 0x0303, //
kxymotor_move_to_zero = 0x0304, //
kxymotor_read_pos = 0x0306, //
kxymotor_read_inio_index_in_stm32 = 0x0307, //
kxymotor_read_inio = 0x0308, //
kxymotor_set_pos = 0x0309, //
kxymotor_motor_move_by_direct = 0x030a, //
kxymotor_read_enc_direct = 0x030b, //
kpipette_ctrl_init_device = 0x7201, // param:(void)
kpipette_ctrl_put_tip = 0x7202, // param:(void)
kpipette_ctrl_move_to_ul = 0x7203, // param:(int32_t ul)
kpipette_lld_prepare = 0x7204, // param:(void)
kpipette_plld = 0x7205, // param:(int32_t zdpos, int32_t p_threshold)
kpipette_clld = 0x7206, // param:(int32_t zdpos, int32_t c_threshold)
kpipette_mlld = 0x7207, // param:(int32_t zdpos, int32_t c_threshold, int32_t p_threshold)
kpipette_lld_is_detect_liquid = 0x7208, // param:(void) ack(int32_t isdetect)
kpipette_aspirate = 0x7209, // param:(int32_t ul)
kpipette_distribut = 0x720a, // param:(int32_t ul)
kpipette_shake_up = 0x720b, // param:(int32_t ul, int32_t times)
kpipette_enable_zmotor = 0x7214, // param:(int32_t ul, int32_t zmotor_v)
kpipette_write_cmd_direct = 0x7215, // param:(int32_t ul, int32_t zmotor_v)
kpipette_get_sensor_sample_data = 0x7216, // param:(int32_t ul, int32_t zmotor_v, int32_t times)
kpipette_get_sensor_sample_data_num = 0x7217, // para:{enable}, ack:{}
kpipette_sensor_sample_data_report = 0x7232, // para:{strbuf}, ack:{strbuf}
kpipette_aspirate_llf = 0x720c, // para:{index} , ack:{motor_pos,cval,pval}
kpipette_distribut_llf = 0x720d, // para:{} , ack:{num}
kpipette_shake_up_llf = 0x720e, // val{regindex, oldval, toval}
ka8000_optical_module_power_ctrl = 0x0600, //
ka8000_optical_open_laser = 0x0601, //
ka8000_optical_close_laser = 0x0602, //
ka8000_optical_set_laster_gain = 0x0603, //
ka8000_optical_set_scan_amp_gain = 0x0604, //
ka8000_optical_read_scanner_adc_val = 0x0605, //
ka8000_optical_read_laster_adc_val = 0x0606, //
ka8000_optical_scan_current_point_amp_adc_val = 0x0607, //
ka8000_optical_start_capture = 0x0608, //
ka8000_optical_read_raw = 0x0609, //
ka8k_opt_v2_t_start_scan = 0x0700, //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)
ka8k_opt_v2_f_start_scan = 0x0701, //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)
ka8k_opt_v2_t_open_laster = 0x070a, //(int32_t lasterGain,int32_t scanGain) for_debug
ka8k_opt_v2_t_close_laster = 0x070b, //() for_debug
ka8k_opt_v2_t_readVal = 0x070c, //(int32_t *val0,int32_t *val1) for_debug
ka8k_opt_v2_f_open_laster = 0x070d, //(int32_t lasterGain,int32_t scanGain) for_debug
ka8k_opt_v2_f_close_laster = 0x070e, //() for_debug
ka8k_opt_v2_f_readVal = 0x070f, //(int32_t *val0,int32_t *val1) for_debug
kstep_motor_enable = 0x0201, //
kstep_motor_read_pos = 0x020b, //
kstep_motor_easy_rotate = 0x0211, //
kstep_motor_easy_move_by = 0x0212, //
kstep_motor_easy_move_to = 0x0213, //
kstep_motor_easy_move_to_zero = 0x0214, //
kstep_motor_easy_set_current_pos = 0x0215, //
kstep_motor_easy_move_to_io = 0x0216, //
kstep_motor_stop = 0x0228, //
kstep_motor_active_cfg = 0x0229, //
kstep_motor_read_io_state = 0x022a, //
kstep_motor_easy_move_to_end_point = 0x022c, //
kstep_motor_read_tmc5130_status = 0x0232, //
kstep_motor_read_tmc5130_state = 0x0233, //
kstep_motor_read_io_index_in_stm32 = 0x0238, //
kstep_motor_set_subdevice_reg = 0x0239, //
kstep_motor_get_subdevice_reg = 0x023a, //
kstep_motor_easy_reciprocating_motion = 0x022d, //
kstep_motor_easy_move_to_zero_point_quick = 0x022e, //
kmini_servo_enable = 0x6601, //
kmini_servo_read_pos = 0x6602, //
kmini_servo_active_cfg = 0x6603, //
kmini_servo_stop = 0x6604, //
kmini_servo_set_mid_point = 0x6607, //
kmini_servo_read_io_state = 0x6608, //
kmini_servo_move_to = 0x6609, //
kmini_servo_rotate = 0x660a, //
kmini_servo_rotate_with_torque = 0x660b, //
kmini_servo_set_cur_pos = 0x660c, //
kextboard_read_inio = 0x6701, // para:{index}, ack:{state}
kextboard_write_outio = 0x6702, // para:{index,state}, ack:{}
kextboard_read_muti_inio = 0x6703, // para:{}, ack:{states}
kextboard_read_inio_index_in_stm32 = 0x6704, // para:{index}, ack:{index_in_stm32}
kextboard_read_outio_index_in_stm32 = 0x6705, // para:{index}, ack:{index_in_stm32}
kextboard_read_outio = 0x6706, // para:{index}, ack:{state}
kcode_scaner_start_scan = 0x6801, // para:{}, ack:{}
kcode_scaner_stop_scan = 0x6802, // para:{}, ack:{}
kcode_scaner_result_is_ready = 0x6803, // para:{}, ack:{}
kcode_scaner_read_scaner_result = 0x6804, // para:{}, ack:{X}
kcode_scaner_get_result_length = 0x6805, // para:{}, ack:{X}
kfan_controler_set_speed = 0x6900, //
ktemp_controler_start_hearting = 0x7000, //
ktemp_controler_stop_hearting = 0x7001, //
ktemp_controler_set_peltier_power_level = 0x7002, //
ktemp_controler_set_pump_level = 0x7003, //
ktemp_controler_set_fan_level = 0x7004, //
ktemp_controler_enable_log = 0x7005, //
ka8000_idcard_reader_read_raw = 0x7100, //
ka8000_idcard_write_raw = 0x7101, //
ka8000_idcard_erase = 0x7102, //
ka8000_idcard_earse_unlock = 0x7103, //
kevent_a8000_idcard_online = 0x71c8, //
kevent_a8000_idcard_offline = 0x71c9, //
kplate_code_scaner_push_card_and_scan = 0x7301, //
kplate_code_scaner_stop_scan = 0x7302, //
kplate_code_scaner_read_result = 0x7303, //
kplate_code_scaner_read_result_point_num = 0x7304, //
kplate_code_scaner_read_code = 0x7305, //
kplate_code_scaner_adc_readraw = 0x7306, //
kplate_code_scaner_open_laser = 0x7307, //
kplate_code_scaner_close_laser = 0x7308, //
} cmdid_t;

43
api/apibasic/reg_index.cpp

@ -5,8 +5,7 @@
namespace iflytop {
#define REG_ITERM(enum) \
{ enum, #enum }
#define REG_ITERM(enum) {enum, #enum}
static reginfo_t table[] = {
REG_ITERM(kreg_module_version),
@ -14,8 +13,6 @@ static reginfo_t table[] = {
REG_ITERM(kreg_module_status),
REG_ITERM(kreg_module_errorcode),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_target),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_nowoutput),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_feedbackval),
@ -51,37 +48,6 @@ static reginfo_t table[] = {
REG_ITERM(kreg_pipette_lld_prepare_pos),
REG_ITERM(kreg_pipette_lld_prepare_distribut_pos),
#if 0
//
REG_ITERM(kreg_boditech_optical_module_raw_sector_size),
REG_ITERM(kreg_boditech_optical_module_raw_sector_num),
REG_ITERM(kreg_boditech_optical_scan_type),
REG_ITERM(kreg_boditech_optical_scan_start_pos),
REG_ITERM(kreg_boditech_optical_scan_direction),
REG_ITERM(kreg_boditech_optical_scan_step_interval),
REG_ITERM(kreg_boditech_optical_scan_pointnum),
REG_ITERM(kreg_boditech_optical_channel_select_num),
REG_ITERM(kreg_boditech_optical_laster_gain_potentiometer_val),
REG_ITERM(kreg_boditech_optical_scan_gain_potentiometer),
REG_ITERM(kreg_boditech_optical_trf_uvled_on_duration_us),
REG_ITERM(kreg_boditech_optical_trf_uvled_off_duration_us),
REG_ITERM(kreg_boditech_optical_trf_scan_delay_us),
REG_ITERM(kreg_boditech_optical_trf_scan_duration_us),
REG_ITERM(kreg_boditech_optical_scan_gain_potentiometer_adjust_suggestion),
REG_ITERM(kreg_boditech_optical_adc_result_overflow),
REG_ITERM(kreg_boditech_optical_laster_intensity),
REG_ITERM(kreg_laster_scaner_scan_type),
REG_ITERM(kreg_laster_scaner_scan_start_pos),
REG_ITERM(kreg_laster_scaner_scan_direction),
REG_ITERM(kreg_laster_scaner_scan_step_interval),
REG_ITERM(kreg_laster_scaner_scan_pointnum),
REG_ITERM(kreg_laster_scaner_laster_gain),
REG_ITERM(kreg_laster_scaner_scan_gain),
REG_ITERM(kreg_laster_scaner_scan_gain_adjust_suggestion),
REG_ITERM(kreg_laster_scaner_adc_result_overflow),
REG_ITERM(kreg_laster_scaner_laster_intensity),
#endif
REG_ITERM(kreg_a8k_opt_t_pos_offset),
REG_ITERM(kreg_a8k_opt_f_pos_offset),
REG_ITERM(kreg_a8k_opt_t_reverse_scan_pos_offset),
@ -118,6 +84,8 @@ static reginfo_t table[] = {
REG_ITERM(kreg_xyrobot_shift_x),
REG_ITERM(kreg_xyrobot_shift_y),
REG_ITERM(kreg_xyrobot_default_velocity),
REG_ITERM(kreg_xyrobot_pos_devi_tolerance),
REG_ITERM(kreg_xyrobot_io_trigger_append_distance),
REG_ITERM(kreg_step_motor_pos),
REG_ITERM(kreg_step_motor_dpos),
@ -146,9 +114,8 @@ static reginfo_t table[] = {
REG_ITERM(kreg_step_motor_enc_resolution),
REG_ITERM(kreg_step_motor_enable_enc),
REG_ITERM(kreg_step_motor_dzero_pos),
REG_ITERM(kret_step_motor_pos_devi_tolerance),
REG_ITERM(kret_step_motor_io_trigger_append_distance),
REG_ITERM(kreg_step_motor_pos_devi_tolerance),
REG_ITERM(kreg_step_motor_io_trigger_append_distance),
REG_ITERM(kreg_mini_servo_pos),
REG_ITERM(kreg_mini_servo_limit_velocity),

6
api/apibasic/reg_index.hpp

@ -111,6 +111,8 @@ typedef enum {
kreg_xyrobot_look_zero_edge_speed = 9977, //
kreg_xyrobot_shift_x = 9978, //
kreg_xyrobot_shift_y = 9979, //
kreg_xyrobot_pos_devi_tolerance = 9980, //
kreg_xyrobot_io_trigger_append_distance = 9981, //
kreg_xyrobot_default_velocity = 10000, //
/***********************************************************************************************************************
@ -144,8 +146,8 @@ typedef enum {
kreg_step_motor_enc_resolution = 10189, // 编码器分辨率 1000,1024,4000,4096,16384
kreg_step_motor_enable_enc = 10190, //
kreg_step_motor_dzero_pos = 10191, // 驱动器处于调试模式
kret_step_motor_pos_devi_tolerance = 10192, // 位置偏差容忍度
kret_step_motor_io_trigger_append_distance = 10193, // 移动到IO时,会在原点触发的边沿,稍稍里面移动一点,用来保证IO稳定触发
kreg_step_motor_pos_devi_tolerance = 10192, // 位置偏差容忍度
kreg_step_motor_io_trigger_append_distance = 10193, // 移动到IO时,会在原点触发的边沿,稍稍里面移动一点,用来保证IO稳定触发
/***********************************************************************************************************************
* step_motor *

Loading…
Cancel
Save