参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke

结论:按 LinuxCNC source policy 将 TOOL_TABLE 恢复为 source coverage only,撤回生成 API/browser switchkins cases,并增加 checker/native 守护;表校验、native、source-link 均通过。
This commit is contained in:
cnc
2026-06-03 15:13:01 +08:00
parent aff6f85d8a
commit 457557dee8
9 changed files with 163 additions and 370 deletions

View File

@@ -649,59 +649,6 @@ add_subroutine_path_cases() {
add_case "SUBROUTINE_PATH" "$subroutine_path" "$m428" "$m429" "$m430"
}
add_tool_table_case_fields() {
local field=$1
local tool_table=$2
local m428=$3
local m429=$4
local m430=$5
local tool_base=${tool_table##*/}
local tool_stem=${tool_base%.tbl}
add_case "$field" "$tool_table" "$m428" "$m429" "$m430"
add_case "$field" "$tool_base" "$m428" "$m429" "$m430"
add_case "$field" "$tool_stem" "$m428" "$m429" "$m430"
}
add_tool_table_cases() {
local tool_table=$1
local m428=$2
local m429=$3
local m430=$4
[[ -n "$tool_table" ]] || return 0
add_tool_table_case_fields "toolTable" "$tool_table" "$m428" "$m429" "$m430"
add_tool_table_case_fields "tooltable" "$tool_table" "$m428" "$m429" "$m430"
add_tool_table_case_fields "tool_table" "$tool_table" "$m428" "$m429" "$m430"
add_tool_table_case_fields "TOOL_TABLE" "$tool_table" "$m428" "$m429" "$m430"
}
add_tool_table_source_cases() {
local source=$1
local m428=$2
local m429=$3
local m430=$4
[[ -n "$source" ]] || return 0
add_case "toolTable" "$source" "$m428" "$m429" "$m430"
add_case "tooltable" "$source" "$m428" "$m429" "$m430"
add_case "tool_table" "$source" "$m428" "$m429" "$m430"
add_case "TOOL_TABLE" "$source" "$m428" "$m429" "$m430"
}
add_tool_table_aliases() {
local tool_table=$1
local m428=$2
local m429=$3
local m430=$4
[[ -n "$tool_table" ]] || return 0
add_alias "$tool_table" "$m428" "$m429" "$m430"
local tool_base=${tool_table##*/}
add_alias "$tool_base" "$m428" "$m429" "$m430"
add_alias "${tool_base%.tbl}" "$m428" "$m429" "$m430"
}
while IFS=: read -r group path _note; do
[[ "$group" == "config" && "$path" == *.ini ]] || continue
@@ -849,13 +796,8 @@ while IFS=: read -r group path _note; do
done <<<"$postgui_halfiles"
while IFS= read -r tool_table; do
if tooldata_source_for_tool_table "$config" "$tool_table"; then
tool_source=$resolved_tooldata_source
record_tooldata_source "$path" "$tool_source"
add_alias "$tool_source" "$m428" "$m429" "$m430"
add_tool_table_source_cases "$tool_source" "$m428" "$m429" "$m430"
record_tooldata_source "$path" "$resolved_tooldata_source"
fi
add_tool_table_cases "$tool_table" "$m428" "$m429" "$m430"
add_tool_table_aliases "$tool_table" "$m428" "$m429" "$m430"
done <<<"$tool_tables"
for remap_source in "$remap_source_428" "$remap_source_429" "$remap_source_430"; do
@@ -958,7 +900,7 @@ validate_generated_content
write_table() {
cat <<'EOF'
// Generated by ./generate-linuxcnc-switchkins-remap-table.sh.
// Source: LinuxCNC INI MACHINE/KINEMATICS/HALFILE/POSTGUI_HALFILE/TOOL_TABLE/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.
EOF
@@ -968,7 +910,7 @@ EOF
write_config_cases() {
cat <<'EOF'
// Generated by ./generate-linuxcnc-switchkins-remap-table.sh --config-cases.
// Source: LinuxCNC INI config path, MACHINE, KINEMATICS, non-LIB HALFILE/POSTGUI_HALFILE, TOOL_TABLE,
// Source: LinuxCNC INI config path, MACHINE, KINEMATICS, non-LIB HALFILE/POSTGUI_HALFILE,
// SUBROUTINE_PATH-resolved remap_subs entries, and adjacent M428/M429/M430 #<kinstype> assignments.
EOF