|
|
@ -655,20 +655,10 @@ int32_t XYRobotCtrlModule::module_xxx_reg(int32_t param_id, bool read, int32_t& |
|
|
|
switch (param_id) { |
|
|
|
MODULE_COMMON_PROCESS_REG_CB(); |
|
|
|
|
|
|
|
PROCESS_REG(kreg_motor_x_shift, REG_GET(m_basecfg.shift_x), REG_SET(m_basecfg.shift_x)); |
|
|
|
PROCESS_REG(kreg_motor_y_shift, REG_GET(m_basecfg.shift_y), REG_SET(m_basecfg.shift_y)); |
|
|
|
PROCESS_REG(kreg_motor_x_shaft, REG_GET(m_basecfg.x_shaft), REG_SET(m_basecfg.x_shaft)); |
|
|
|
PROCESS_REG(kreg_motor_y_shaft, REG_GET(m_basecfg.y_shaft), REG_SET(m_basecfg.y_shaft)); |
|
|
|
PROCESS_REG(kreg_motor_x_one_circle_pulse, REG_GET(m_basecfg.distance_scale), REG_SET(m_basecfg.distance_scale)); |
|
|
|
PROCESS_REG(kreg_motor_y_one_circle_pulse, REG_GET(m_basecfg.distance_scale), REG_SET(m_basecfg.distance_scale)); |
|
|
|
PROCESS_REG(kreg_motor_default_velocity, REG_GET(m_basecfg.maxspeed), REG_SET(m_basecfg.maxspeed)); |
|
|
|
PROCESS_REG(kreg_motor_default_acc, REG_GET(m_basecfg.acc), REG_SET(m_basecfg.acc)); |
|
|
|
PROCESS_REG(kreg_motor_default_dec, REG_GET(m_basecfg.dec), REG_SET(m_basecfg.dec)); |
|
|
|
PROCESS_REG(kreg_motor_default_break_dec, REG_GET(m_basecfg.breakdec), REG_SET(m_basecfg.breakdec)); |
|
|
|
PROCESS_REG(kreg_motor_run_to_zero_max_x_d, REG_GET(m_basecfg.run_to_zero_max_d), REG_SET(m_basecfg.run_to_zero_max_d)); |
|
|
|
PROCESS_REG(kreg_motor_run_to_zero_max_y_d, REG_GET(m_basecfg.run_to_zero_max_d), REG_SET(m_basecfg.run_to_zero_max_d)); |
|
|
|
PROCESS_REG(kreg_motor_look_zero_edge_max_x_d, REG_GET(m_basecfg.look_zero_edge_max_d), REG_SET(m_basecfg.look_zero_edge_max_d)); |
|
|
|
PROCESS_REG(kreg_motor_look_zero_edge_max_y_d, REG_GET(m_basecfg.look_zero_edge_max_d), REG_SET(m_basecfg.look_zero_edge_max_d)); |
|
|
|
PROCESS_REG(kreg_motor_run_to_zero_speed, REG_GET(m_basecfg.run_to_zero_speed), REG_SET(m_basecfg.run_to_zero_speed)); |
|
|
|
PROCESS_REG(kreg_motor_run_to_zero_dec, REG_GET(m_basecfg.run_to_zero_dec), REG_SET(m_basecfg.run_to_zero_dec)); |
|
|
|
PROCESS_REG(kreg_motor_look_zero_edge_speed, REG_GET(m_basecfg.look_zero_edge_speed), REG_SET(m_basecfg.look_zero_edge_speed)); |
|
|
@ -676,9 +666,20 @@ int32_t XYRobotCtrlModule::module_xxx_reg(int32_t param_id, bool read, int32_t& |
|
|
|
PROCESS_REG(kreg_stepmotor_ihold, REG_GET(m_basecfg.ihold), REG_SET(m_basecfg.ihold)); |
|
|
|
PROCESS_REG(kreg_stepmotor_irun, REG_GET(m_basecfg.irun), REG_SET(m_basecfg.irun)); |
|
|
|
PROCESS_REG(kreg_stepmotor_iholddelay, REG_GET(m_basecfg.iholddelay), REG_SET(m_basecfg.iholddelay)); |
|
|
|
|
|
|
|
PROCESS_REG(kreg_xyrobot_x_shift, REG_GET(m_basecfg.shift_x), REG_SET(m_basecfg.shift_x)); |
|
|
|
PROCESS_REG(kreg_xyrobot_y_shift, REG_GET(m_basecfg.shift_y), REG_SET(m_basecfg.shift_y)); |
|
|
|
PROCESS_REG(kreg_xyrobot_x_shaft, REG_GET(m_basecfg.x_shaft), REG_SET(m_basecfg.x_shaft)); |
|
|
|
PROCESS_REG(kreg_xyrobot_y_shaft, REG_GET(m_basecfg.y_shaft), REG_SET(m_basecfg.y_shaft)); |
|
|
|
PROCESS_REG(kreg_xyrobot_x_one_circle_pulse, REG_GET(m_basecfg.distance_scale), REG_SET(m_basecfg.distance_scale)); |
|
|
|
PROCESS_REG(kreg_xyrobot_y_one_circle_pulse, REG_GET(m_basecfg.distance_scale), REG_SET(m_basecfg.distance_scale)); |
|
|
|
PROCESS_REG(kreg_xyrobot_run_to_zero_max_x_d, REG_GET(m_basecfg.run_to_zero_max_d), REG_SET(m_basecfg.run_to_zero_max_d)); |
|
|
|
PROCESS_REG(kreg_xyrobot_run_to_zero_max_y_d, REG_GET(m_basecfg.run_to_zero_max_d), REG_SET(m_basecfg.run_to_zero_max_d)); |
|
|
|
PROCESS_REG(kreg_xyrobot_look_zero_edge_max_x_d, REG_GET(m_basecfg.look_zero_edge_max_d), REG_SET(m_basecfg.look_zero_edge_max_d)); |
|
|
|
PROCESS_REG(kreg_xyrobot_look_zero_edge_max_y_d, REG_GET(m_basecfg.look_zero_edge_max_d), REG_SET(m_basecfg.look_zero_edge_max_d)); |
|
|
|
PROCESS_REG(kreg_xyrobot_robot_type, REG_GET(m_basecfg.robot_type), REG_SET(m_basecfg.robot_type)); |
|
|
|
PROCESS_REG(kreg_robot_x_pos, REG_GET(m_x), ACTION_NONE); |
|
|
|
PROCESS_REG(kreg_robot_y_pos, REG_GET(m_y), ACTION_NONE); |
|
|
|
PROCESS_REG(kreg_xyrobot_x_pos, REG_GET(m_x), ACTION_NONE); |
|
|
|
PROCESS_REG(kreg_xyrobot_y_pos, REG_GET(m_y), ACTION_NONE); |
|
|
|
PROCESS_REG(kreg_module_input_state, module_readio(&val), ACTION_NONE); |
|
|
|
|
|
|
|
default: |
|
|
@ -687,7 +688,6 @@ int32_t XYRobotCtrlModule::module_xxx_reg(int32_t param_id, bool read, int32_t& |
|
|
|
} |
|
|
|
return 0; |
|
|
|
} |
|
|
|
int32_t XYRobotCtrlModule::do_action(int32_t actioncode) { return err::kmodule_not_support_action; } |
|
|
|
|
|
|
|
#if 0
|
|
|
|
int32_t XYRobotCtrlModule::module_set_state(int32_t state_id, int32_t state_value) { return err::kmodule_not_find_state_index; } |
|
|
@ -771,18 +771,20 @@ int32_t XYRobotCtrlModule::xymotor_calculated_pos_by_move_to_zero() { |
|
|
|
if (erro != 0) { |
|
|
|
m_dx = 0; |
|
|
|
m_dy = 0; |
|
|
|
|
|
|
|
m_com_reg.module_last_cmd_exec_status = err::kmodule_opeation_break_by_user; |
|
|
|
m_com_reg.module_last_cmd_exec_val0 = 0; |
|
|
|
m_com_reg.module_last_cmd_exec_val1 = 0; |
|
|
|
_motor_stop(); |
|
|
|
return; |
|
|
|
} |
|
|
|
m_dx = dx; |
|
|
|
m_dy = dy; |
|
|
|
m_com_reg.module_last_cmd_exec_status = 0; |
|
|
|
m_com_reg.module_last_cmd_exec_val0 = -m_dx; |
|
|
|
m_com_reg.module_last_cmd_exec_val1 = -m_dy; |
|
|
|
m_dx = dx; |
|
|
|
m_dy = dy; |
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief |
|
|
|
* TODO: add function to get dx and dy |
|
|
|
*/ |
|
|
|
|
|
|
|
// m_com_reg.module_last_cmd_exec_status = 0;
|
|
|
|
// m_com_reg.module_last_cmd_exec_val0 = -m_dx;
|
|
|
|
// m_com_reg.module_last_cmd_exec_val1 = -m_dy;
|
|
|
|
m_stepM1->setXACTUAL(0); |
|
|
|
m_stepM2->setXACTUAL(0); |
|
|
|
ZLOGI(TAG, "xymotor_calculated_pos_by_move_to_zero dx:%d dy:%d", dx, dy); |
|
|
|