第 6 组:源码链接、构建和文档约束闭环完成
This commit is contained in:
@@ -103,9 +103,17 @@ bool contains_switchkins_config_alias(const std::string &compact, const char *al
|
||||
contains_string_value(compact, "kinematics", alias) ||
|
||||
contains_string_value(compact, "halfile", alias) ||
|
||||
contains_string_value(compact, "hal_file", alias) ||
|
||||
contains_string_value(compact, "postguihalfile", alias) ||
|
||||
contains_string_value(compact, "postgui_halfile", alias) ||
|
||||
contains_string_value(compact, "postgui_hal_file", alias) ||
|
||||
contains_string_value(compact, "config", alias) ||
|
||||
contains_string_value(compact, "configpath", alias) ||
|
||||
contains_string_value(compact, "config_path", alias);
|
||||
contains_string_value(compact, "config_path", alias) ||
|
||||
contains_string_value(compact, "ini", alias) ||
|
||||
contains_string_value(compact, "inifile", alias) ||
|
||||
contains_string_value(compact, "inifilename", alias) ||
|
||||
contains_string_value(compact, "ini_file", alias) ||
|
||||
contains_string_value(compact, "ini_file_name", alias);
|
||||
}
|
||||
|
||||
bool find_number_value(const std::string &compact, const char *key, double *value) {
|
||||
|
||||
@@ -28,6 +28,19 @@ double motion_control_tolerance = 0.0;
|
||||
double naivecam_tolerance = 0.0;
|
||||
std::string parameter_file_name = "rs274ngc.var";
|
||||
|
||||
void load_nonrandom_tool_to_spindle(int pocket) {
|
||||
// LinuxCNC Task::load_tool() uses pocket 0 as the non-random
|
||||
// toolchanger unload handshake. Do not eagerly mirror nonzero
|
||||
// loads here; the source-linked interpreter observes its own
|
||||
// post-canonical state before external task-side load completion.
|
||||
if (pocket == 0) {
|
||||
CANON_TOOL_TABLE unloaded = tooldata_entry_init();
|
||||
unloaded.toolno = 0;
|
||||
unloaded.pocketno = 0;
|
||||
tooldata_put(unloaded, 0);
|
||||
}
|
||||
}
|
||||
|
||||
CncSimPose make_pose(double x, double y, double z,
|
||||
double a, double b, double c,
|
||||
double u, double v, double w) {
|
||||
@@ -215,6 +228,10 @@ void SELECT_TOOL(int tool) {
|
||||
void CHANGE_TOOL() {
|
||||
trace_call("CHANGE_TOOL");
|
||||
if (active_sink) {
|
||||
const int selected_tool = active_sink->selected_tool();
|
||||
if (selected_tool == 0) {
|
||||
load_nonrandom_tool_to_spindle(0);
|
||||
}
|
||||
active_sink->change_tool(event_line());
|
||||
}
|
||||
}
|
||||
@@ -524,6 +541,7 @@ void USE_TOOL_LENGTH_OFFSET(const EmcPose &offset) {
|
||||
|
||||
void CHANGE_TOOL_NUMBER(int number) {
|
||||
if (active_sink) {
|
||||
load_nonrandom_tool_to_spindle(number);
|
||||
active_sink->select_tool(number);
|
||||
active_sink->change_tool(event_line());
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Generated by ./generate-linuxcnc-switchkins-remap-table.sh.
|
||||
// Source: LinuxCNC INI MACHINE/KINEMATICS/HALFILE/SUBROUTINE_PATH/REMAP entries and
|
||||
// Source: LinuxCNC INI MACHINE/KINEMATICS/HALFILE/POSTGUI_HALFILE/SUBROUTINE_PATH/REMAP entries and
|
||||
// adjacent remap_subs/{428,429,430}remap.ngc #<kinstype> assignments.
|
||||
{"configs/sim/axis/vismach/5axis/bridgemill/5axis.ini", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/5axis/bridgemill", 0, 1, 2},
|
||||
@@ -11,6 +11,8 @@
|
||||
{"5axiskins", 0, 1, 2},
|
||||
{"5axisgui.hal", 0, 1, 2},
|
||||
{"5axisgui", 0, 1, 2},
|
||||
{"5axis_postgui.hal", 0, 1, 2},
|
||||
{"5axis_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/5axis/bridgemill/remap_subs", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini", 1, 0, -1},
|
||||
{"configs/sim/axis/vismach/5axis/table-dual-rotary", 1, 0, -1},
|
||||
@@ -21,6 +23,8 @@
|
||||
{"xyzab_tdr_kins", 1, 0, -1},
|
||||
{"xyzab_tdr", 1, 0, -1},
|
||||
{"xyzab-tdr-kins", 1, 0, -1},
|
||||
{"xyzab-tdr-postgui.hal", 1, 0, -1},
|
||||
{"xyzab-tdr-postgui", 1, 0, -1},
|
||||
{"configs/sim/axis/vismach/5axis/table-dual-rotary/remap_subs", 1, 0, -1},
|
||||
{"configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", 1, 0, 2},
|
||||
{"configs/sim/axis/vismach/5axis/table-rotary-tilting", 1, 0, 2},
|
||||
@@ -30,6 +34,8 @@
|
||||
{"sim-xyzac-trt-kins", 1, 0, 2},
|
||||
{"xyzac-trt-kinssparm=identityfirst", 1, 0, 2},
|
||||
{"xyzac-trt-kins", 1, 0, 2},
|
||||
{"switchkins_postgui.hal", 1, 0, 2},
|
||||
{"switchkins_postgui", 1, 0, 2},
|
||||
{"configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs", 1, 0, 2},
|
||||
{"configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini", 1, 0, 2},
|
||||
{"xyzbc-trt", 1, 0, 2},
|
||||
@@ -43,6 +49,8 @@
|
||||
{"xyzacb-trsrn", 0, 1, 2},
|
||||
{"xyzacb-trsrn(switchkins)", 0, 1, 2},
|
||||
{"xyzacb_trsrn", 0, 1, 2},
|
||||
{"xyzacb-trsrn_postgui.hal", 0, 1, 2},
|
||||
{"xyzacb-trsrn_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating", 0, 1, 2},
|
||||
{"table-rotary_spindle-rotary-nutating", 0, 1, 2},
|
||||
@@ -52,6 +60,8 @@
|
||||
{"xyzbca-trsrn", 0, 1, 2},
|
||||
{"xyzbca-trsrn(switchkins)", 0, 1, 2},
|
||||
{"xyzbca_trsrn", 0, 1, 2},
|
||||
{"xyzbca-trsrn_postgui.hal", 0, 1, 2},
|
||||
{"xyzbca-trsrn_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/hexapod-sim/hexapod.ini", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/hexapod-sim", 0, 1, 2},
|
||||
{"hexapod-sim", 0, 1, 2},
|
||||
@@ -60,6 +70,8 @@
|
||||
{"genhexkins", 0, 1, 2},
|
||||
{"kinematics.hal", 0, 1, 2},
|
||||
{"kinematics", 0, 1, 2},
|
||||
{"hexapod_postgui.hal", 0, 1, 2},
|
||||
{"hexapod_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/hexapod-sim/remap_subs", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/melfa-sim/melfa.ini", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/melfa-sim", 0, 1, 2},
|
||||
@@ -69,12 +81,16 @@
|
||||
{"genserkins", 0, 1, 2},
|
||||
{"melfa_dh.hal", 0, 1, 2},
|
||||
{"melfa_dh", 0, 1, 2},
|
||||
{"melfa-postgui.hal", 0, 1, 2},
|
||||
{"melfa-postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/melfa-sim/remap_subs", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/millturn/millturn.ini", 0, 1, -1},
|
||||
{"configs/sim/axis/vismach/millturn", 0, 1, -1},
|
||||
{"millturn", 0, 1, -1},
|
||||
{"millturn(mm)", 0, 1, -1},
|
||||
{"millturn.hal", 0, 1, -1},
|
||||
{"millturn-postgui.hal", 0, 1, -1},
|
||||
{"millturn-postgui", 0, 1, -1},
|
||||
{"configs/sim/axis/vismach/millturn/remap_subs", 0, 1, -1},
|
||||
{"configs/sim/axis/vismach/puma/puma.ini", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/puma", 0, 1, 2},
|
||||
@@ -83,6 +99,8 @@
|
||||
{"pumakins", 0, 1, 2},
|
||||
{"puma_dh.hal", 0, 1, 2},
|
||||
{"puma_dh", 0, 1, 2},
|
||||
{"puma_postgui.hal", 0, 1, 2},
|
||||
{"puma_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/puma/remap_subs", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/puma/puma_cube.ini", 0, 1, 2},
|
||||
{"puma_cube", 0, 1, 2},
|
||||
@@ -93,6 +111,8 @@
|
||||
{"puma560(switchkins)(inch)", 0, 1, 2},
|
||||
{"puma560_dh.hal", 0, 1, 2},
|
||||
{"puma560_dh", 0, 1, 2},
|
||||
{"puma560_postgui.hal", 0, 1, 2},
|
||||
{"puma560_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/puma/puma560_uvw.ini", 0, 1, 2},
|
||||
{"puma560_uvw", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/scara/scara.ini", 0, 1, 2},
|
||||
@@ -101,6 +121,8 @@
|
||||
{"scara(genserkins,switchkins)", 0, 1, 2},
|
||||
{"scarakinscoordinates=xyzcab", 0, 1, 2},
|
||||
{"scarakins", 0, 1, 2},
|
||||
{"scara_postgui.hal", 0, 1, 2},
|
||||
{"scara_postgui", 0, 1, 2},
|
||||
{"configs/sim/axis/vismach/scara/remap_subs", 0, 1, 2},
|
||||
{"configs/sim/qtaxis/non-trivial/scara/scara.ini", 0, 1, 2},
|
||||
{"configs/sim/qtaxis/non-trivial/scara", 0, 1, 2},
|
||||
|
||||
Reference in New Issue
Block a user