Browse Source

修改文件编码

change_pipette_api
zhaohe 1 year ago
parent
commit
00a25ecee5
  1. 104
      api/apibasic/errorcode.hpp
  2. 24
      api/apibasic/module_type_index.hpp
  3. 186
      api/apibasic/reg_index.hpp

104
api/apibasic/errorcode.hpp

@ -10,10 +10,10 @@ using namespace std;
typedef enum {
ksucc = ERROR_CODE(0, 0),
kfail = ERROR_CODE(0, 1),
kparam_out_of_range = ERROR_CODE(0, 2), // 参数超出范围
koperation_not_support = ERROR_CODE(0, 3), // 操作不支持
kdevice_is_busy = ERROR_CODE(0, 4), // 设备忙
kdevice_is_offline = ERROR_CODE(0, 5), // 设备离线
kparam_out_of_range = ERROR_CODE(0, 2), // 鍙傛暟瓒呭嚭鑼冨洿
koperation_not_support = ERROR_CODE(0, 3), // 鎿嶄綔涓嶆敮鎸�
kdevice_is_busy = ERROR_CODE(0, 4), // 璁惧�蹇�
kdevice_is_offline = ERROR_CODE(0, 5), // 璁惧�绂荤嚎
kovertime = ERROR_CODE(0, 6),
knoack = ERROR_CODE(0, 7),
kerrorack = ERROR_CODE(0, 8),
@ -29,7 +29,7 @@ typedef enum {
khwardware_error = ERROR_CODE(0, 18),
/**
* @brief
* @brief
*/
ksys_error = ERROR_CODE(100, 0),
ksys_create_file_error = ERROR_CODE(100, 1),
@ -49,55 +49,55 @@ typedef enum {
*/
kmodule_not_inited = ERROR_CODE(200, 0),
kmodule_not_found = ERROR_CODE(200, 1),
kmodule_opeation_break_by_user = ERROR_CODE(200, 2), // 用户中断
kmodule_error = ERROR_CODE(200, 3), // 未知错误
kmodule_not_find_config_index = ERROR_CODE(200, 4), // 未找到配置索引
kmodule_not_find_state_index = ERROR_CODE(200, 5), // 未找到配置索引
kmodule_not_support_action = ERROR_CODE(200, 6), // 未找到配置索引
kmodule_not_find_reg = ERROR_CODE(200, 7), // 未找到配置索引
kmodule_opeation_break_by_user = ERROR_CODE(200, 2), // 鐢ㄦ埛涓�柇
kmodule_error = ERROR_CODE(200, 3), // 鏈�煡閿欒�
kmodule_not_find_config_index = ERROR_CODE(200, 4), // 鏈�壘鍒伴厤缃�储寮�
kmodule_not_find_state_index = ERROR_CODE(200, 5), // 鏈�壘鍒伴厤缃�储寮�
kmodule_not_support_action = ERROR_CODE(200, 6), // 鏈�壘鍒伴厤缃�储寮�
kmodule_not_find_reg = ERROR_CODE(200, 7), // 鏈�壘鍒伴厤缃�储寮�
/**
* @brief motor error
*/
kmotor_not_found_zero_point = ERROR_CODE(300, 0), // 未找到零点
kmotor_did_not_go_zero = ERROR_CODE(300, 1), // 设备未归零
kmotor_over_temperature = ERROR_CODE(300, 2), // 过温
kmotor_over_voltage = ERROR_CODE(300, 3), // 过压
kxymotor_not_found_x_zero_point = ERROR_CODE(300, 4), // 未找到零点
kxymotor_not_found_y_zero_point = ERROR_CODE(300, 5), // 未找到零点
kxymotor_x_find_zero_edge_fail = ERROR_CODE(300, 6), // 离开零点失败
kxymotor_y_find_zero_edge_fail = ERROR_CODE(300, 7), // 离开零点失败
kmotor_run_overtime = ERROR_CODE(300, 8), // 运行超时
kmotor_not_enable = ERROR_CODE(300, 9), // 电机未使能
kmotor_not_found_zero_point = ERROR_CODE(300, 0), // 鏈�壘鍒伴浂鐐�
kmotor_did_not_go_zero = ERROR_CODE(300, 1), // 璁惧�鏈�綊闆�
kmotor_over_temperature = ERROR_CODE(300, 2), // 杩囨俯
kmotor_over_voltage = ERROR_CODE(300, 3), // 杩囧帇
kxymotor_not_found_x_zero_point = ERROR_CODE(300, 4), // 鏈�壘鍒伴浂鐐�
kxymotor_not_found_y_zero_point = ERROR_CODE(300, 5), // 鏈�壘鍒伴浂鐐�
kxymotor_x_find_zero_edge_fail = ERROR_CODE(300, 6), // 绂诲紑闆剁偣澶辫触
kxymotor_y_find_zero_edge_fail = ERROR_CODE(300, 7), // 绂诲紑闆剁偣澶辫触
kmotor_run_overtime = ERROR_CODE(300, 8), // 杩愯�瓒呮椂
kmotor_not_enable = ERROR_CODE(300, 9), // 鐢垫満鏈�娇鑳�
/**
* @brief STMP2错误
* @brief STMP2閿欒
*/
kSMTP2_NoError = ERROR_CODE(400, 0), // 无错误
kSMTP2_InitFail = ERROR_CODE(400, 1), // 初始化失败
kSMTP2_InvalidCmd = ERROR_CODE(400, 2), // 无效命令
kSMTP2_InvalidArg = ERROR_CODE(400, 3), // 无效参数
kSMTP2_PressureSensorError = ERROR_CODE(400, 4), // 压力传感器故障
kSMTP2_OverPressure = ERROR_CODE(400, 5), // 超过压力
kSMTP2_LLDError = ERROR_CODE(400, 6), // LLD 错误
kSMTP2_DeviceNotInit = ERROR_CODE(400, 7), // 设备未初始化
kSMTP2_TipPopError = ERROR_CODE(400, 8), // Tip 弹出错误
kSMTP2_PumpOverload = ERROR_CODE(400, 9), // 泵过载
kSMTP2_TipDrop = ERROR_CODE(400, 10), // Tip 脱落
kSMTP2_CanBusError = ERROR_CODE(400, 11), // CAN 总线故障
kSMTP2_InvalidChecksum = ERROR_CODE(400, 12), // 无效校验和
kSMTP2_EEPROMError = ERROR_CODE(400, 13), // EEPROM 故障
kSMTP2_CmdBufferEmpty = ERROR_CODE(400, 14), // 命令缓冲区为空
kSMTP2_CmdBufferOverflow = ERROR_CODE(400, 15), // 命令溢出
kSMTP2_TipBlock = ERROR_CODE(400, 16), // Tip 堵塞
kSMTP2_AirSuction = ERROR_CODE(400, 17), // 吸入空气
kSMTP2_Bubble = ERROR_CODE(400, 18), // 液体中有气泡/泡沫
kSMTP2_VolumeError = ERROR_CODE(400, 19), // 吸取/分配量不准确
kSMTP2_TipAlreadyLoad = ERROR_CODE(400, 20), // Tip已经装载
kSMTP2_NoError = ERROR_CODE(400, 0), // 鏃犻敊璇�
kSMTP2_InitFail = ERROR_CODE(400, 1), // 鍒濆�鍖栧け璐�
kSMTP2_InvalidCmd = ERROR_CODE(400, 2), // 鏃犳晥鍛戒护
kSMTP2_InvalidArg = ERROR_CODE(400, 3), // 鏃犳晥鍙傛暟
kSMTP2_PressureSensorError = ERROR_CODE(400, 4), // 鍘嬪姏浼犳劅鍣ㄦ晠闅�
kSMTP2_OverPressure = ERROR_CODE(400, 5), // 瓒呰繃鍘嬪姏
kSMTP2_LLDError = ERROR_CODE(400, 6), // LLD 閿欒�
kSMTP2_DeviceNotInit = ERROR_CODE(400, 7), // 璁惧�鏈�垵濮嬪寲
kSMTP2_TipPopError = ERROR_CODE(400, 8), // Tip 寮瑰嚭閿欒�
kSMTP2_PumpOverload = ERROR_CODE(400, 9), // 娉佃繃杞�
kSMTP2_TipDrop = ERROR_CODE(400, 10), // Tip 鑴辫惤
kSMTP2_CanBusError = ERROR_CODE(400, 11), // CAN 鎬荤嚎鏁呴殰
kSMTP2_InvalidChecksum = ERROR_CODE(400, 12), // 鏃犳晥鏍¢獙鍜�
kSMTP2_EEPROMError = ERROR_CODE(400, 13), // EEPROM 鏁呴殰
kSMTP2_CmdBufferEmpty = ERROR_CODE(400, 14), // 鍛戒护缂撳啿鍖轰负绌�
kSMTP2_CmdBufferOverflow = ERROR_CODE(400, 15), // 鍛戒护婧㈠嚭
kSMTP2_TipBlock = ERROR_CODE(400, 16), // Tip 鍫靛�
kSMTP2_AirSuction = ERROR_CODE(400, 17), // 鍚稿叆绌烘皵
kSMTP2_Bubble = ERROR_CODE(400, 18), // 娑蹭綋涓�湁姘旀场/娉℃搏
kSMTP2_VolumeError = ERROR_CODE(400, 19), // 鍚稿彇/鍒嗛厤閲忎笉鍑嗙‘
kSMTP2_TipAlreadyLoad = ERROR_CODE(400, 20), // Tip宸茬粡瑁呰浇
kSMTP2_TipLoadFail = ERROR_CODE(400, 21),
/**
* @brief
* @brief
*/
kmicro_noErr = ERROR_CODE(500, 0), //
kmicro_uartSendFail = ERROR_CODE(500, 1), //
@ -107,18 +107,18 @@ typedef enum {
/**
* @brief step motor error
*/
kstep_motor_not_found_zero_point = ERROR_CODE(600, 0), // 未找到零点
kstep_motor_not_go_zero = ERROR_CODE(600, 1), // 设备未归零
kstep_motor_over_temperature = ERROR_CODE(600, 2), // 过温
kstep_motor_over_voltage = ERROR_CODE(600, 3), // 过压
kstep_motor_run_overtime = ERROR_CODE(600, 4), // 运行超时
kstep_motor_not_enable = ERROR_CODE(600, 5), // 电机未使能
kstep_motor_ioindex_out_of_range = ERROR_CODE(600, 6), // IO超出范围
kstep_motor_not_found_zero_point = ERROR_CODE(600, 0), // 鏈�壘鍒伴浂鐐�
kstep_motor_not_go_zero = ERROR_CODE(600, 1), // 璁惧�鏈�綊闆�
kstep_motor_over_temperature = ERROR_CODE(600, 2), // 杩囨俯
kstep_motor_over_voltage = ERROR_CODE(600, 3), // 杩囧帇
kstep_motor_run_overtime = ERROR_CODE(600, 4), // 杩愯�瓒呮椂
kstep_motor_not_enable = ERROR_CODE(600, 5), // 鐢垫満鏈�娇鑳�
kstep_motor_ioindex_out_of_range = ERROR_CODE(600, 6), // IO瓒呭嚭鑼冨洿
/**
* @brief mini servo error
*/
kmini_servo_not_enable = ERROR_CODE(700, 0), // 未找到零点
kmini_servo_not_enable = ERROR_CODE(700, 0), // 鏈�壘鍒伴浂鐐�
} error_t;

24
api/apibasic/module_type_index.hpp

@ -3,18 +3,18 @@
namespace iflytop {
typedef enum {
kuniversal_module = 0, // 通用模块
khbot_module = 1, // hbot模块
kmotor_module = 2, // 电机控制
ktemperature_ctrl_module = 3, // 温度控制
kfan_ctrl_module = 5, // 风扇控制
kcode_scaner = 6, // 风扇控制
kpipette_ctrl_module = 7, // 移液体枪控制
ka8000_optical_module = 8, // a8000光学模组
klaster_scaner_module = 9, // a8000光学模组
kuniversal_module = 0, // 閫氱敤妯″潡
khbot_module = 1, // hbot妯″潡
kmotor_module = 2, // 鐢垫満鎺у埗
ktemperature_ctrl_module = 3, // 娓╁害鎺у埗
kfan_ctrl_module = 5, // 椋庢墖鎺у埗
kcode_scaner = 6, // 椋庢墖鎺у埗
kpipette_ctrl_module = 7, // 绉绘恫浣撴灙鎺у埗
ka8000_optical_module = 8, // a8000鍏夊�妯$粍
klaster_scaner_module = 9, // a8000鍏夊�妯$粍
ktmc_step_motor = 10, // 步进电机
kmini_servo_motor_module = 11, // 舵机
kboard = 12, // 舵机
ktmc_step_motor = 10, // 姝ヨ繘鐢垫満
kmini_servo_motor_module = 11, // 鑸垫満
kboard = 12, // 鑸垫満
} module_type_t;
}

186
api/apibasic/reg_index.hpp

@ -7,22 +7,22 @@ using namespace std;
#define REG_INDEX(type, offset, subconfigindex) (type * 100 + offset + subconfigindex)
typedef enum {
/*******************************************************************************
* *
* *
*******************************************************************************/
kreg_module_version = REG_INDEX(0, 0, 0), // 模块版本
kreg_module_type = REG_INDEX(0, 0, 1), // 模块类型
kreg_module_version = REG_INDEX(0, 0, 0), // 妯″潡鐗堟湰
kreg_module_type = REG_INDEX(0, 0, 1), // 妯″潡绫诲瀷
kreg_module_status = REG_INDEX(0, 0, 2), // 0idle,1busy,2error
kreg_module_errorcode = REG_INDEX(0, 0, 3), // inited_flag
/*******************************************************************************
* SENSOR *
*******************************************************************************/
kreg_sensor_temperature0 = REG_INDEX(2, 0, 0), // 温度1
kreg_sensor_temperature1 = REG_INDEX(2, 0, 1), // 温度2
kreg_sensor_temperature2 = REG_INDEX(2, 0, 2), // 温度3
kreg_sensor_temperature3 = REG_INDEX(2, 0, 3), // 温度4
kreg_sensor_temperature0 = REG_INDEX(2, 0, 0), // 娓╁害1
kreg_sensor_temperature1 = REG_INDEX(2, 0, 1), // 娓╁害2
kreg_sensor_temperature2 = REG_INDEX(2, 0, 2), // 娓╁害3
kreg_sensor_temperature3 = REG_INDEX(2, 0, 3), // 娓╁害4
/*******************************************************************************
* *
* *
*******************************************************************************/
/*******************************************************************************
@ -30,66 +30,66 @@ typedef enum {
*******************************************************************************/
/*******************************************************************************
* PID控制器(3000->4000) *
* PID鎺у埗鍣(3000->4000) *
*******************************************************************************/
kreg_pid_target = REG_INDEX(30, 0, 0), // 目标数值
kreg_pid_nowoutput = REG_INDEX(30, 0, 1), // 当前输出
kreg_pid_feedbackval = REG_INDEX(30, 0, 2), // 当前输出
kreg_pid_target = REG_INDEX(30, 0, 0), // 鐩�爣鏁板€�
kreg_pid_nowoutput = REG_INDEX(30, 0, 1), // 褰撳墠杈撳嚭
kreg_pid_feedbackval = REG_INDEX(30, 0, 2), // 褰撳墠杈撳嚭
kreg_pid_kp = REG_INDEX(30, 50, 0), // kp
kreg_pid_ki = REG_INDEX(30, 50, 1), // ki
kreg_pid_kd = REG_INDEX(30, 50, 2), // kd
kreg_pid_max_output = REG_INDEX(30, 50, 3), // 最大输出
kreg_pid_min_output = REG_INDEX(30, 50, 4), // 最小输出
kreg_pid_max_integral = REG_INDEX(30, 50, 5), // 最大积分
kreg_pid_min_integral = REG_INDEX(30, 50, 6), // 最小积分
kreg_error_limit = REG_INDEX(30, 50, 7), // 误差限制
kreg_compute_interval = REG_INDEX(30, 50, 8), // 计算间隔
kreg_pid_max_output = REG_INDEX(30, 50, 3), // 鏈€澶ц緭鍑�
kreg_pid_min_output = REG_INDEX(30, 50, 4), // 鏈€灏忚緭鍑�
kreg_pid_max_integral = REG_INDEX(30, 50, 5), // 鏈€澶хН鍒�
kreg_pid_min_integral = REG_INDEX(30, 50, 6), // 鏈€灏忕Н鍒�
kreg_error_limit = REG_INDEX(30, 50, 7), // 璇�樊闄愬埗
kreg_compute_interval = REG_INDEX(30, 50, 8), // 璁$畻闂撮殧
/*******************************************************************************
* *
* у *
*******************************************************************************/
kreg_fan0_ctrl_speed_level = REG_INDEX(31, 0, 0), // 风扇转速0,1,2,3
kreg_fan1_ctrl_speed_level = REG_INDEX(31, 0, 1), // 风扇转速0,1,2,3
kreg_fan2_ctrl_speed_level = REG_INDEX(31, 0, 2), // 风扇转速0,1,2,3
kreg_fan3_ctrl_speed_level = REG_INDEX(31, 0, 3), // 风扇转速0,1,2,3
kreg_fan4_ctrl_speed_level = REG_INDEX(31, 0, 4), // 风扇转速0,1,2,3
kreg_fan0_speed_level = REG_INDEX(31, 10, 0), // 风扇实时转速0,1,2,3
kreg_fan1_speed_level = REG_INDEX(31, 10, 1), // 风扇实时转速0,1,2,3
kreg_fan2_speed_level = REG_INDEX(31, 10, 2), // 风扇实时转速0,1,2,3
kreg_fan3_speed_level = REG_INDEX(31, 10, 3), // 风扇实时转速0,1,2,3
kreg_fan4_speed_level = REG_INDEX(31, 10, 4), // 风扇实时转速0,1,2,3
kreg_pwm_pump0_ctrl_speed_level = REG_INDEX(32, 0, 0), // PWM水泵0,1,2,3
kreg_pwm_pump1_ctrl_speed_level = REG_INDEX(32, 0, 1), // PWM水泵0,1,2,3
kreg_pwm_pump2_ctrl_speed_level = REG_INDEX(32, 0, 2), // PWM水泵0,1,2,3
kreg_pwm_pump3_ctrl_speed_level = REG_INDEX(32, 0, 3), // PWM水泵0,1,2,3
kreg_pwm_pump4_ctrl_speed_level = REG_INDEX(32, 0, 4), // PWM水泵0,1,2,3
kreg_pwm_pump0_speed_level = REG_INDEX(32, 10, 0), // PWM水泵0,1,2,3
kreg_pwm_pump1_speed_level = REG_INDEX(32, 10, 1), // PWM水泵0,1,2,3
kreg_pwm_pump2_speed_level = REG_INDEX(32, 10, 2), // PWM水泵0,1,2,3
kreg_pwm_pump3_speed_level = REG_INDEX(32, 10, 3), // PWM水泵0,1,2,3
kreg_pwm_pump4_speed_level = REG_INDEX(32, 10, 4), // PWM水泵0,1,2,3
kreg_fan0_ctrl_speed_level = REG_INDEX(31, 0, 0), // 椋庢墖杞�€�0,1,2,3
kreg_fan1_ctrl_speed_level = REG_INDEX(31, 0, 1), // 椋庢墖杞�€�0,1,2,3
kreg_fan2_ctrl_speed_level = REG_INDEX(31, 0, 2), // 椋庢墖杞�€�0,1,2,3
kreg_fan3_ctrl_speed_level = REG_INDEX(31, 0, 3), // 椋庢墖杞�€�0,1,2,3
kreg_fan4_ctrl_speed_level = REG_INDEX(31, 0, 4), // 椋庢墖杞�€�0,1,2,3
kreg_fan0_speed_level = REG_INDEX(31, 10, 0), // 椋庢墖瀹炴椂杞�€�0,1,2,3
kreg_fan1_speed_level = REG_INDEX(31, 10, 1), // 椋庢墖瀹炴椂杞�€�0,1,2,3
kreg_fan2_speed_level = REG_INDEX(31, 10, 2), // 椋庢墖瀹炴椂杞�€�0,1,2,3
kreg_fan3_speed_level = REG_INDEX(31, 10, 3), // 椋庢墖瀹炴椂杞�€�0,1,2,3
kreg_fan4_speed_level = REG_INDEX(31, 10, 4), // 椋庢墖瀹炴椂杞�€�0,1,2,3
kreg_pwm_pump0_ctrl_speed_level = REG_INDEX(32, 0, 0), // PWM姘存车0,1,2,3
kreg_pwm_pump1_ctrl_speed_level = REG_INDEX(32, 0, 1), // PWM姘存车0,1,2,3
kreg_pwm_pump2_ctrl_speed_level = REG_INDEX(32, 0, 2), // PWM姘存车0,1,2,3
kreg_pwm_pump3_ctrl_speed_level = REG_INDEX(32, 0, 3), // PWM姘存车0,1,2,3
kreg_pwm_pump4_ctrl_speed_level = REG_INDEX(32, 0, 4), // PWM姘存车0,1,2,3
kreg_pwm_pump0_speed_level = REG_INDEX(32, 10, 0), // PWM姘存车0,1,2,3
kreg_pwm_pump1_speed_level = REG_INDEX(32, 10, 1), // PWM姘存车0,1,2,3
kreg_pwm_pump2_speed_level = REG_INDEX(32, 10, 2), // PWM姘存车0,1,2,3
kreg_pwm_pump3_speed_level = REG_INDEX(32, 10, 3), // PWM姘存车0,1,2,3
kreg_pwm_pump4_speed_level = REG_INDEX(32, 10, 4), // PWM姘存车0,1,2,3
/*******************************************************************************
* *
* *
*******************************************************************************/
kreg_pipette_pos_ul = REG_INDEX(40, 0, 0), // 移液枪位置
kreg_pipette_capactitance_val = REG_INDEX(40, 0, 1), // 移液枪电容值
kreg_pipette_tip_state = REG_INDEX(40, 0, 2), // 移动液枪tip状态
kreg_pipette_limit_ul = REG_INDEX(40, 50, 0), // 移液枪ul限制
kreg_pipette_pos_ul = REG_INDEX(40, 0, 0), // 绉绘恫鏋�綅缃�
kreg_pipette_capactitance_val = REG_INDEX(40, 0, 1), // 绉绘恫鏋�數瀹瑰€�
kreg_pipette_tip_state = REG_INDEX(40, 0, 2), // 绉诲姩娑叉灙tip鐘舵€�
kreg_pipette_limit_ul = REG_INDEX(40, 50, 0), // 绉绘恫鏋猽l闄愬埗
/*******************************************************************************
* smartADC *
*******************************************************************************/
kreg_self_reflecting_laser_sensor_transmitting_power = REG_INDEX(41, 0, 0), // 发射功率
kreg_self_reflecting_laser_sensor_receiving_tube_gain = REG_INDEX(41, 0, 1), // 接收管放大倍数
kreg_self_reflecting_laser_sensor_sample_interval_ms = REG_INDEX(41, 0, 2), // 采样率
kreg_self_reflecting_laser_sensor_num_samples = REG_INDEX(41, 0, 3), // 采样点数
kreg_self_reflecting_laser_sensor_transmitting_power = REG_INDEX(41, 0, 0), // 鍙戝皠鍔熺巼
kreg_self_reflecting_laser_sensor_receiving_tube_gain = REG_INDEX(41, 0, 1), // 鎺ユ敹绠℃斁澶у€嶆暟
kreg_self_reflecting_laser_sensor_sample_interval_ms = REG_INDEX(41, 0, 2), // 閲囨牱鐜�
kreg_self_reflecting_laser_sensor_num_samples = REG_INDEX(41, 0, 3), // 閲囨牱鐐规暟
// scan action
kreg_boditech_optical_scan_type = REG_INDEX(42, 0, 0), // 0 t光学,1 f光学
kreg_boditech_optical_scan_type = REG_INDEX(42, 0, 0), // 0 t鍏夊�锛�1 f鍏夊�
kreg_boditech_optical_scan_start_pos = REG_INDEX(42, 0, 1),
kreg_boditech_optical_scan_direction = REG_INDEX(42, 0, 2),
kreg_boditech_optical_scan_step_interval = REG_INDEX(42, 0, 3),
@ -106,7 +106,7 @@ typedef enum {
kreg_boditech_optical_laster_intensity = REG_INDEX(42, 0, 14),
//
kreg_laster_scaner_scan_type = REG_INDEX(43, 0, 0), // 0 t光学,1 f光学
kreg_laster_scaner_scan_type = REG_INDEX(43, 0, 0), // 0 t鍏夊�锛�1 f鍏夊�
kreg_laster_scaner_scan_start_pos = REG_INDEX(43, 0, 1),
kreg_laster_scaner_scan_direction = REG_INDEX(43, 0, 2),
@ -135,55 +135,55 @@ typedef enum {
kreg_xyrobot_irun = REG_INDEX(100, 0, 9),
kreg_xyrobot_iholddelay = REG_INDEX(100, 0, 10),
kreg_xyrobot_robot_type = REG_INDEX(100, 50, 0), // 机器人类型 0:hbot 1:corexy
kreg_xyrobot_x_shift = REG_INDEX(100, 50, 1), // x偏移
kreg_xyrobot_y_shift = REG_INDEX(100, 50, 2), // y偏移
kreg_xyrobot_x_shaft = REG_INDEX(100, 50, 3), // x轴是否反转
kreg_xyrobot_y_shaft = REG_INDEX(100, 50, 4), // y轴是否反转
kreg_xyrobot_x_one_circle_pulse = REG_INDEX(100, 50, 5), // x轴一圈脉冲数
kreg_xyrobot_y_one_circle_pulse = REG_INDEX(100, 50, 6), // y轴一圈脉冲数
kreg_xyrobot_run_to_zero_max_x_d = REG_INDEX(100, 50, 7), // x轴回零最大距离
kreg_xyrobot_run_to_zero_max_y_d = REG_INDEX(100, 50, 8), // y轴回零最大距离
kreg_xyrobot_look_zero_edge_max_x_d = REG_INDEX(100, 50, 9), // x轴找零边缘最大距离
kreg_xyrobot_look_zero_edge_max_y_d = REG_INDEX(100, 50, 10), // y轴找零边缘最大距离
kreg_xyrobot_io_state0 = REG_INDEX(100, 50, 11), // IO状态
kreg_xyrobot_io_state1 = REG_INDEX(100, 50, 12), // IO状态
kreg_xyrobot_robot_type = REG_INDEX(100, 50, 0), // 鏈哄櫒浜虹被鍨� 0:hbot 1:corexy
kreg_xyrobot_x_shift = REG_INDEX(100, 50, 1), // x鍋忕Щ
kreg_xyrobot_y_shift = REG_INDEX(100, 50, 2), // y鍋忕Щ
kreg_xyrobot_x_shaft = REG_INDEX(100, 50, 3), // x杞存槸鍚﹀弽杞�
kreg_xyrobot_y_shaft = REG_INDEX(100, 50, 4), // y杞存槸鍚﹀弽杞�
kreg_xyrobot_x_one_circle_pulse = REG_INDEX(100, 50, 5), // x杞翠竴鍦堣剦鍐叉暟
kreg_xyrobot_y_one_circle_pulse = REG_INDEX(100, 50, 6), // y杞翠竴鍦堣剦鍐叉暟
kreg_xyrobot_run_to_zero_max_x_d = REG_INDEX(100, 50, 7), // x杞村洖闆舵渶澶ц窛绂�
kreg_xyrobot_run_to_zero_max_y_d = REG_INDEX(100, 50, 8), // y杞村洖闆舵渶澶ц窛绂�
kreg_xyrobot_look_zero_edge_max_x_d = REG_INDEX(100, 50, 9), // x杞存壘闆惰竟缂樻渶澶ц窛绂�
kreg_xyrobot_look_zero_edge_max_y_d = REG_INDEX(100, 50, 10), // y杞存壘闆惰竟缂樻渶澶ц窛绂�
kreg_xyrobot_io_state0 = REG_INDEX(100, 50, 11), // IO鐘舵€�
kreg_xyrobot_io_state1 = REG_INDEX(100, 50, 12), // IO鐘舵€�
/***********************************************************************************************************************
* step_motor *
***********************************************************************************************************************/
kreg_step_motor_pos = REG_INDEX(101, 0, 1), // 机器人x坐标
kreg_step_motor_dpos = REG_INDEX(101, 0, 3), // 执行完上一条指令后的相对位移
kreg_step_motor_shift = REG_INDEX(101, 50, 0), // x偏移
kreg_step_motor_shaft = REG_INDEX(101, 50, 1), // x轴是否反转
kreg_step_motor_one_circle_pulse = REG_INDEX(101, 50, 2), // x轴一圈脉冲数
kreg_step_motor_one_circle_pulse_denominator = REG_INDEX(101, 50, 3), // 设置一圈脉冲数的分母
kreg_step_motor_default_velocity = REG_INDEX(101, 50, 4), // 默认速度
kreg_step_motor_default_acc = REG_INDEX(101, 50, 5), // 默认加速度
kreg_step_motor_default_dec = REG_INDEX(101, 50, 6), // 默认减速度
kreg_step_motor_default_break_dec = REG_INDEX(101, 50, 7), // 默认减速度
kreg_step_motor_ihold = REG_INDEX(101, 50, 8), // 步进电机电流配置
kreg_step_motor_irun = REG_INDEX(101, 50, 9), // 步进电机电流配置
kreg_step_motor_iholddelay = REG_INDEX(101, 50, 10), // 步进电机电流配置
kreg_step_motor_iglobalscaler = REG_INDEX(101, 50, 11), // 步进电机电流配置
kreg_step_motor_run_to_zero_max_d = REG_INDEX(101, 50, 21), // x轴回零最大距离
kreg_step_motor_look_zero_edge_max_d = REG_INDEX(101, 50, 22), // x轴找零边缘最大距离
kreg_step_motor_run_to_zero_speed = REG_INDEX(101, 50, 23), // 回零速度
kreg_step_motor_run_to_zero_dec = REG_INDEX(101, 50, 24), // 回零减速度
kreg_step_motor_look_zero_edge_speed = REG_INDEX(101, 50, 25), // 找零边缘速度
kreg_step_motor_look_zero_edge_dec = REG_INDEX(101, 50, 26), // 找零边缘减速度
kreg_step_motor_max_d = REG_INDEX(101, 50, 28), // 最大限制距离
kreg_step_motor_min_d = REG_INDEX(101, 50, 29), // 最小限制距离
kreg_step_motor_pos = REG_INDEX(101, 0, 1), // 鏈哄櫒浜簒鍧愭爣
kreg_step_motor_dpos = REG_INDEX(101, 0, 3), // 鎵ц�瀹屼笂涓€鏉℃寚浠ゅ悗鐨勭浉瀵逛綅绉�
kreg_step_motor_shift = REG_INDEX(101, 50, 0), // x鍋忕Щ
kreg_step_motor_shaft = REG_INDEX(101, 50, 1), // x杞存槸鍚﹀弽杞�
kreg_step_motor_one_circle_pulse = REG_INDEX(101, 50, 2), // x杞翠竴鍦堣剦鍐叉暟
kreg_step_motor_one_circle_pulse_denominator = REG_INDEX(101, 50, 3), // 璁剧疆涓€鍦堣剦鍐叉暟鐨勫垎姣�
kreg_step_motor_default_velocity = REG_INDEX(101, 50, 4), // 榛樿�閫熷害
kreg_step_motor_default_acc = REG_INDEX(101, 50, 5), // 榛樿�鍔犻€熷害
kreg_step_motor_default_dec = REG_INDEX(101, 50, 6), // 榛樿�鍑忛€熷害
kreg_step_motor_default_break_dec = REG_INDEX(101, 50, 7), // 榛樿�鍑忛€熷害
kreg_step_motor_ihold = REG_INDEX(101, 50, 8), // 姝ヨ繘鐢垫満鐢垫祦閰嶇疆
kreg_step_motor_irun = REG_INDEX(101, 50, 9), // 姝ヨ繘鐢垫満鐢垫祦閰嶇疆
kreg_step_motor_iholddelay = REG_INDEX(101, 50, 10), // 姝ヨ繘鐢垫満鐢垫祦閰嶇疆
kreg_step_motor_iglobalscaler = REG_INDEX(101, 50, 11), // 姝ヨ繘鐢垫満鐢垫祦閰嶇疆
kreg_step_motor_run_to_zero_max_d = REG_INDEX(101, 50, 21), // x杞村洖闆舵渶澶ц窛绂�
kreg_step_motor_look_zero_edge_max_d = REG_INDEX(101, 50, 22), // x杞存壘闆惰竟缂樻渶澶ц窛绂�
kreg_step_motor_run_to_zero_speed = REG_INDEX(101, 50, 23), // 鍥為浂閫熷害
kreg_step_motor_run_to_zero_dec = REG_INDEX(101, 50, 24), // 鍥為浂鍑忛€熷害
kreg_step_motor_look_zero_edge_speed = REG_INDEX(101, 50, 25), // 鎵鹃浂杈圭紭閫熷害
kreg_step_motor_look_zero_edge_dec = REG_INDEX(101, 50, 26), // 鎵鹃浂杈圭紭鍑忛€熷害
kreg_step_motor_max_d = REG_INDEX(101, 50, 28), // 鏈€澶ч檺鍒惰窛绂�
kreg_step_motor_min_d = REG_INDEX(101, 50, 29), // 鏈€灏忛檺鍒惰窛绂�
/***********************************************************************************************************************
* MINI_STEP_MOTOR *
***********************************************************************************************************************/
kreg_mini_servo_pos = REG_INDEX(102, 0, 1), // 位置
kreg_mini_servo_limit_velocity = REG_INDEX(102, 50, 1), // 限制速度
kreg_mini_servo_limit_torque = REG_INDEX(102, 50, 2), // 限制扭矩
kreg_mini_servo_protective_torque = REG_INDEX(102, 50, 3), // 保护扭矩
kreg_mini_servo_pos = REG_INDEX(102, 0, 1), // 浣嶇疆
kreg_mini_servo_limit_velocity = REG_INDEX(102, 50, 1), // 闄愬埗閫熷害
kreg_mini_servo_limit_torque = REG_INDEX(102, 50, 2), // 闄愬埗鎵�煩
kreg_mini_servo_protective_torque = REG_INDEX(102, 50, 3), // 淇濇姢鎵�煩
/***********************************************************************************************************************
* BOARD *

Loading…
Cancel
Save