Browse Source

update

master
zhaohe 1 year ago
parent
commit
2d255992ea
  1. 2
      a8000_protocol
  2. 74
      src/tab/xyrobot_tab.cpp

2
a8000_protocol

@ -1 +1 @@
Subproject commit e4a80570d108c0a711401236f95bbc95b4ae7ecf
Subproject commit 653a4997e1a69abf06244714b255876534ca55a8

74
src/tab/xyrobot_tab.cpp

@ -38,18 +38,39 @@ void XYRobotTab::construct(QTabWidget *fathertab) {
{
ZQFunctionListBox *box = new ZQFunctionListBox(tab, "方法", 4);
box->newFunc("使能", {}, [this](int argn, const char **args) { ICM->callcmd1(getDeviceId(), kxymotor_enable, 1); });
box->newFunc("失能", {}, [this](int argn, const char **args) { ICM->callcmd1(getDeviceId(), kxymotor_enable, 0); });
box->newFunc("相对移动", {"dx", "dy", "velocity"}, [this](int argn, const char **args) { ICM->callcmd3(getDeviceId(), kxymotor_move_by, atoi(args[0]), atoi(args[1]), atoi(args[2])); });
box->newFunc("绝对移动", {"x", "y", "velocity"}, [this](int argn, const char **args) { ICM->callcmd3(getDeviceId(), kxymotor_move_to, atoi(args[0]), atoi(args[1]), atoi(args[2])); });
box->newFunc("移动到原点", {}, [this](int argn, const char **args) { ICM->callcmd0(getDeviceId(), kxymotor_move_to_zero); });
box->newFunc("读取位置", {}, [this](int argn, const char **args) {
box->newSubButton("使能", [this](int argn, const char **args) { ICM->callcmd1(getDeviceId(), kxymotor_enable, 1); });
box->newSubButton("失能", [this](int argn, const char **args) { ICM->callcmd1(getDeviceId(), kxymotor_enable, 0); });
box->newSubButton("移动到原点", [this](int argn, const char **args) { ICM->callcmd0(getDeviceId(), kxymotor_move_to_zero); });
box->newSubButtonEnd();
box->newSubButton("读取位置", [this](int argn, const char **args) {
int32_t x, y;
ICM->callcmd0(getDeviceId(), kxymotor_read_pos);
x = ICM->getAck(0);
y = ICM->getAck(1);
ZQUI::ins()->ishow("x,y(%d,%d)", x, y);
});
box->newFunc("设置位置", {"x", "y"}, [this](int argn, const char **args) { ICM->callcmd2(getDeviceId(), kxymotor_set_pos, atoi(args[0]), atoi(args[1])); });
box->newFunc("相对移动", {"dx", "dy", "velocity"}, [this](int argn, const char **args) { ICM->callcmd3(getDeviceId(), kxymotor_move_by, atoi(args[0]), atoi(args[1]), atoi(args[2])); });
box->newFunc("绝对移动", {"x", "y", "velocity"}, [this](int argn, const char **args) { ICM->callcmd3(getDeviceId(), kxymotor_move_to, atoi(args[0]), atoi(args[1]), atoi(args[2])); });
box->newFunc("读取全部输入IO", {}, [this](int argn, const char **args) {
int32_t portState = 0;
int32_t indexInStm32 = 0;
for (int i = 0; i < 10; i++) {
try {
ICM->callcmd1(getDeviceId(), kxymotor_read_inio_index_in_stm32, i);
indexInStm32 = ICM->getAck(0);
ICM->callcmd1(getDeviceId(), kxymotor_read_inio, i);
portState = ICM->getAck(0);
if (indexInStm32 == 0) continue;
ZQUI::ins()->ishow("io%d(%s):%d", i, stm32pin2str((Pin_t)indexInStm32).c_str(), portState);
} catch (const std::exception &e) {
break;
}
}
});
}
/***********************************************************************************************************************
@ -67,29 +88,34 @@ void XYRobotTab::construct(QTabWidget *fathertab) {
return true;
});
tableBox->addReg("default_velocity", kreg_xyrobot_default_velocity, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("default_acc", kreg_xyrobot_default_acc, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("default_dec", kreg_xyrobot_default_dec, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("default_break_dec", kreg_xyrobot_default_break_dec, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("run_to_zero_speed", kreg_xyrobot_run_to_zero_speed, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("run_to_zero_dec", kreg_xyrobot_run_to_zero_dec, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("look_zero_edge_speed", kreg_xyrobot_look_zero_edge_speed, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("look_zero_edge_dec", kreg_xyrobot_look_zero_edge_dec, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("robot_type", kreg_xyrobot_robot_type, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("one_circle_pulse", kreg_xyrobot_one_circle_pulse, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("one_circle_pulse_denominator", kreg_xyrobot_one_circle_pulse_denominator, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("ihold", kreg_xyrobot_ihold, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("irun", kreg_xyrobot_irun, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("iholddelay", kreg_xyrobot_iholddelay, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("robot_type", kreg_xyrobot_robot_type, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("x_shift", kreg_xyrobot_x_shift, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("y_shift", kreg_xyrobot_y_shift, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("iglobalscaler", kreg_xyrobot_iglobalscaler, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("vstart", kreg_xyrobot_vstart, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("a1", kreg_xyrobot_a1, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("amax", kreg_xyrobot_amax, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("v1", kreg_xyrobot_v1, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("dmax", kreg_xyrobot_dmax, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("d1", kreg_xyrobot_d1, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("vstop", kreg_xyrobot_vstop, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("tzerowait", kreg_xyrobot_tzerowait, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("enc_resolution", kreg_xyrobot_enc_resolution, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("enable_enc", kreg_xyrobot_enable_enc, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("x_shaft", kreg_xyrobot_x_shaft, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("y_shaft", kreg_xyrobot_y_shaft, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("x_one_circle_pulse", kreg_xyrobot_x_one_circle_pulse, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("y_one_circle_pulse", kreg_xyrobot_y_one_circle_pulse, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("run_to_zero_max_x_d", kreg_xyrobot_run_to_zero_max_x_d, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("run_to_zero_max_y_d", kreg_xyrobot_run_to_zero_max_y_d, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("look_zero_edge_max_x_d", kreg_xyrobot_look_zero_edge_max_x_d, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("look_zero_edge_max_y_d", kreg_xyrobot_look_zero_edge_max_y_d, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("io_state0", kreg_xyrobot_io_state0, ZRegItem::krw | ZRegItem::kbinary);
tableBox->addReg("min_x", kreg_xyrobot_min_x, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("min_y", kreg_xyrobot_min_y, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("max_x", kreg_xyrobot_max_x, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("max_y", kreg_xyrobot_max_y, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("run_to_zero_speed", kreg_xyrobot_run_to_zero_speed, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("look_zero_edge_speed", kreg_xyrobot_look_zero_edge_speed, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("shift_x", kreg_xyrobot_shift_x, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("shift_y", kreg_xyrobot_shift_y, ZRegItem::krw | ZRegItem::kdec);
tableBox->addReg("default_velocity", kreg_xyrobot_default_velocity, ZRegItem::krw | ZRegItem::kdec);
tableBox->addSpacer();
}

Loading…
Cancel
Save