|
|
@ -9,15 +9,15 @@ typedef enum { |
|
|
|
/*******************************************************************************
|
|
|
|
* 模块通用配置和状态 * |
|
|
|
*******************************************************************************/ |
|
|
|
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
|
|
|
|
kreg_module_initflag = REG_INDEX(0, 0, 4), // inited_flag
|
|
|
|
kreg_module_enableflag = REG_INDEX(0, 0, 5), // 0idle,1busy,2error
|
|
|
|
kreg_module_errorbitflag0 = REG_INDEX(0, 0, 6), // 模块异常标志,bit,每个模块自定义
|
|
|
|
kreg_module_input_state = REG_INDEX(0, 0, 8), //
|
|
|
|
kreg_module_output_state = REG_INDEX(0, 0, 9), //
|
|
|
|
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
|
|
|
|
// kreg_module_initflag = REG_INDEX(0, 0, 4), // inited_flag
|
|
|
|
// kreg_module_enableflag = REG_INDEX(0, 0, 5), // 0idle,1busy,2error
|
|
|
|
// kreg_module_errorbitflag0 = REG_INDEX(0, 0, 6), // 模块异常标志,bit,每个模块自定义
|
|
|
|
// kreg_module_input_state = REG_INDEX(0, 0, 8), //
|
|
|
|
// kreg_module_output_state = REG_INDEX(0, 0, 9), //
|
|
|
|
kreg_module_raw_sector_size = REG_INDEX(0, 0, 10), // sector_size
|
|
|
|
kreg_module_raw_sector_num = REG_INDEX(0, 0, 11), //
|
|
|
|
|
|
|
@ -30,90 +30,40 @@ typedef enum { |
|
|
|
kreg_sensor_temperature3 = REG_INDEX(2, 0, 3), // 温度4
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* 简单控制 * |
|
|
|
*******************************************************************************/ |
|
|
|
kreg_pwm0_ctrl = REG_INDEX(3, 0, 0), //
|
|
|
|
kreg_pwm0_duty = REG_INDEX(3, 0, 1), //
|
|
|
|
kreg_pwm0_freq = REG_INDEX(3, 0, 2), //
|
|
|
|
|
|
|
|
kreg_pwm1_ctrl = REG_INDEX(3, 10, 0), //
|
|
|
|
kreg_pwm1_duty = REG_INDEX(3, 10, 1), //
|
|
|
|
kreg_pwm1_freq = REG_INDEX(3, 10, 2), //
|
|
|
|
|
|
|
|
kreg_pwm2_ctrl = REG_INDEX(3, 20, 0), //
|
|
|
|
kreg_pwm2_duty = REG_INDEX(3, 20, 1), //
|
|
|
|
kreg_pwm2_freq = REG_INDEX(3, 20, 2), //
|
|
|
|
|
|
|
|
kreg_pwm3_ctrl = REG_INDEX(3, 30, 0), //
|
|
|
|
kreg_pwm3_duty = REG_INDEX(3, 30, 1), //
|
|
|
|
kreg_pwm3_freq = REG_INDEX(3, 30, 2), //
|
|
|
|
|
|
|
|
kreg_pwm4_ctrl = REG_INDEX(3, 40, 0), //
|
|
|
|
kreg_pwm4_duty = REG_INDEX(3, 40, 1), //
|
|
|
|
kreg_pwm4_freq = REG_INDEX(3, 40, 2), //
|
|
|
|
|
|
|
|
kreg_pwm5_ctrl = REG_INDEX(3, 50, 0), //
|
|
|
|
kreg_pwm5_duty = REG_INDEX(3, 50, 1), //
|
|
|
|
kreg_pwm5_freq = REG_INDEX(3, 50, 2), //
|
|
|
|
|
|
|
|
kreg_pwm6_ctrl = REG_INDEX(3, 60, 0), //
|
|
|
|
kreg_pwm6_duty = REG_INDEX(3, 60, 1), //
|
|
|
|
kreg_pwm6_freq = REG_INDEX(3, 60, 2), //
|
|
|
|
|
|
|
|
kreg_pwm7_ctrl = REG_INDEX(3, 70, 0), //
|
|
|
|
kreg_pwm7_duty = REG_INDEX(3, 70, 1), //
|
|
|
|
kreg_pwm7_freq = REG_INDEX(3, 70, 2), //
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* 机械人通用配置 * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* MOTOR_DEFAULT * |
|
|
|
*******************************************************************************/ |
|
|
|
kreg_robot_pos = REG_INDEX(10, 0, 1), // 机器人x坐标
|
|
|
|
|
|
|
|
kreg_motor_shift = REG_INDEX(10, 50, 0), // x偏移
|
|
|
|
kreg_motor_shaft = REG_INDEX(10, 50, 1), // x轴是否反转
|
|
|
|
kreg_motor_one_circle_pulse = REG_INDEX(10, 50, 2), // x轴一圈脉冲数
|
|
|
|
kreg_motor_one_circle_pulse_denominator = REG_INDEX(10, 50, 3), // 设置一圈脉冲数的分母
|
|
|
|
kreg_motor_default_velocity = REG_INDEX(10, 50, 4), // 默认速度
|
|
|
|
kreg_motor_default_acc = REG_INDEX(10, 50, 5), // 默认加速度
|
|
|
|
kreg_motor_default_dec = REG_INDEX(10, 50, 6), // 默认减速度
|
|
|
|
kreg_motor_default_break_dec = REG_INDEX(10, 50, 7), // 默认减速度
|
|
|
|
kreg_motor_ihold = REG_INDEX(10, 50, 8), // 步进电机电流配置
|
|
|
|
kreg_motor_irun = REG_INDEX(10, 50, 9), // 步进电机电流配置
|
|
|
|
kreg_motor_iholddelay = REG_INDEX(10, 50, 10), // 步进电机电流配置
|
|
|
|
kreg_motor_iglobalscaler = REG_INDEX(10, 50, 11), // 步进电机电流配置
|
|
|
|
kreg_motor_run_to_zero_max_d = REG_INDEX(10, 50, 21), // x轴回零最大距离
|
|
|
|
kreg_motor_look_zero_edge_max_d = REG_INDEX(10, 50, 22), // x轴找零边缘最大距离
|
|
|
|
kreg_motor_run_to_zero_speed = REG_INDEX(10, 50, 23), // 回零速度
|
|
|
|
kreg_motor_run_to_zero_dec = REG_INDEX(10, 50, 24), // 回零减速度
|
|
|
|
kreg_motor_look_zero_edge_speed = REG_INDEX(10, 50, 25), // 找零边缘速度
|
|
|
|
kreg_motor_look_zero_edge_dec = REG_INDEX(10, 50, 26), // 找零边缘减速度
|
|
|
|
kreg_motor_default_torque = REG_INDEX(10, 50, 27), // 默认扭矩
|
|
|
|
|
|
|
|
kreg_motor_max_d = REG_INDEX(10, 50, 28), // 最大限制距离
|
|
|
|
kreg_motor_min_d = REG_INDEX(10, 50, 29), // 最小限制距离
|
|
|
|
kreg_step_motor_pos = REG_INDEX(10, 0, 1), // 机器人x坐标
|
|
|
|
kreg_step_motor_io_state = REG_INDEX(10, 0, 2), // IO状态
|
|
|
|
kreg_step_motor_shift = REG_INDEX(10, 50, 0), // x偏移
|
|
|
|
kreg_step_motor_shaft = REG_INDEX(10, 50, 1), // x轴是否反转
|
|
|
|
kreg_step_motor_one_circle_pulse = REG_INDEX(10, 50, 2), // x轴一圈脉冲数
|
|
|
|
kreg_step_motor_one_circle_pulse_denominator = REG_INDEX(10, 50, 3), // 设置一圈脉冲数的分母
|
|
|
|
kreg_step_motor_default_velocity = REG_INDEX(10, 50, 4), // 默认速度
|
|
|
|
kreg_step_motor_default_acc = REG_INDEX(10, 50, 5), // 默认加速度
|
|
|
|
kreg_step_motor_default_dec = REG_INDEX(10, 50, 6), // 默认减速度
|
|
|
|
kreg_step_motor_default_break_dec = REG_INDEX(10, 50, 7), // 默认减速度
|
|
|
|
kreg_step_motor_ihold = REG_INDEX(10, 50, 8), // 步进电机电流配置
|
|
|
|
kreg_step_motor_irun = REG_INDEX(10, 50, 9), // 步进电机电流配置
|
|
|
|
kreg_step_motor_iholddelay = REG_INDEX(10, 50, 10), // 步进电机电流配置
|
|
|
|
kreg_step_motor_iglobalscaler = REG_INDEX(10, 50, 11), // 步进电机电流配置
|
|
|
|
kreg_step_motor_run_to_zero_max_d = REG_INDEX(10, 50, 21), // x轴回零最大距离
|
|
|
|
kreg_step_motor_look_zero_edge_max_d = REG_INDEX(10, 50, 22), // x轴找零边缘最大距离
|
|
|
|
kreg_step_motor_run_to_zero_speed = REG_INDEX(10, 50, 23), // 回零速度
|
|
|
|
kreg_step_motor_run_to_zero_dec = REG_INDEX(10, 50, 24), // 回零减速度
|
|
|
|
kreg_step_motor_look_zero_edge_speed = REG_INDEX(10, 50, 25), // 找零边缘速度
|
|
|
|
kreg_step_motor_look_zero_edge_dec = REG_INDEX(10, 50, 26), // 找零边缘减速度
|
|
|
|
kreg_step_motor_default_torque = REG_INDEX(10, 50, 27), // 默认扭矩
|
|
|
|
kreg_step_motor_max_d = REG_INDEX(10, 50, 28), // 最大限制距离
|
|
|
|
kreg_step_motor_min_d = REG_INDEX(10, 50, 29), // 最小限制距离
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* MOTOR_X * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
kreg_xyrobot_x_pos = REG_INDEX(11, 0, 1), // 机器人x坐标
|
|
|
|
kreg_xyrobot_y_pos = REG_INDEX(12, 0, 1), // 机器人x坐标
|
|
|
|
kreg_xyrobot_x_shift = REG_INDEX(11, 50, 0), // x偏移
|
|
|
|
kreg_xyrobot_y_shift = REG_INDEX(12, 50, 0), // y偏移
|
|
|
|
kreg_xyrobot_x_shaft = REG_INDEX(11, 50, 1), // x轴是否反转
|
|
|
|
kreg_xyrobot_y_shaft = REG_INDEX(12, 50, 1), // y轴是否反转
|
|
|
|
kreg_xyrobot_x_one_circle_pulse = REG_INDEX(11, 50, 2), // x轴一圈脉冲数
|
|
|
|
kreg_xyrobot_y_one_circle_pulse = REG_INDEX(12, 50, 2), // y轴一圈脉冲数
|
|
|
|
kreg_xyrobot_run_to_zero_max_x_d = REG_INDEX(11, 50, 20), // x轴回零最大距离
|
|
|
|
kreg_xyrobot_run_to_zero_max_y_d = REG_INDEX(12, 50, 20), // y轴回零最大距离
|
|
|
|
kreg_xyrobot_look_zero_edge_max_x_d = REG_INDEX(11, 50, 21), // x轴找零边缘最大距离
|
|
|
|
kreg_xyrobot_look_zero_edge_max_y_d = REG_INDEX(12, 50, 21), // y轴找零边缘最大距离
|
|
|
|
kreg_xyrobot_robot_type = REG_INDEX(20, 50, 0), // 机器人类型 0:hbot 1:corexy
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* PID控制器(3000->4000) * |
|
|
|
*******************************************************************************/ |
|
|
@ -204,6 +154,36 @@ typedef enum { |
|
|
|
kreg_laster_scaner_adc_result_overflow = REG_INDEX(43, 0, 13), |
|
|
|
kreg_laster_scaner_laster_intensity = REG_INDEX(43, 0, 14), |
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* NEW_API * |
|
|
|
***********************************************************************************************************************/ |
|
|
|
|
|
|
|
kreg_xyrobot_default_velocity = REG_INDEX(100, 0, 0), |
|
|
|
kreg_xyrobot_default_acc = REG_INDEX(100, 0, 1), |
|
|
|
kreg_xyrobot_default_dec = REG_INDEX(100, 0, 2), |
|
|
|
kreg_xyrobot_default_break_dec = REG_INDEX(100, 0, 3), |
|
|
|
kreg_xyrobot_run_to_zero_speed = REG_INDEX(100, 0, 4), |
|
|
|
kreg_xyrobot_run_to_zero_dec = REG_INDEX(100, 0, 5), |
|
|
|
kreg_xyrobot_look_zero_edge_speed = REG_INDEX(100, 0, 6), |
|
|
|
kreg_xyrobot_look_zero_edge_dec = REG_INDEX(100, 0, 7), |
|
|
|
kreg_xyrobot_ihold = REG_INDEX(100, 0, 8), |
|
|
|
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状态
|
|
|
|
|
|
|
|
} reg_index_t; |
|
|
|
|
|
|
|
} // namespace iflytop
|