参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:按 LinuxCNC INI TOOL_TABLE 来源扩展 switchkins/remap 配置别名和生成案例,未增加 smoke 功能行为;表校验、native、source-link 均通过。
This commit is contained in:
@@ -649,6 +649,59 @@ 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
|
||||
|
||||
@@ -796,8 +849,13 @@ 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
|
||||
record_tooldata_source "$path" "$resolved_tooldata_source"
|
||||
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"
|
||||
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
|
||||
@@ -900,7 +958,7 @@ validate_generated_content
|
||||
write_table() {
|
||||
cat <<'EOF'
|
||||
// Generated by ./generate-linuxcnc-switchkins-remap-table.sh.
|
||||
// Source: LinuxCNC INI MACHINE/KINEMATICS/HALFILE/POSTGUI_HALFILE/SUBROUTINE_PATH/REMAP entries and
|
||||
// Source: LinuxCNC INI MACHINE/KINEMATICS/HALFILE/POSTGUI_HALFILE/TOOL_TABLE/SUBROUTINE_PATH/REMAP entries and
|
||||
// adjacent remap_subs/{428,429,430}remap.ngc #<kinstype> assignments.
|
||||
EOF
|
||||
|
||||
@@ -910,7 +968,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,
|
||||
// Source: LinuxCNC INI config path, MACHINE, KINEMATICS, non-LIB HALFILE/POSTGUI_HALFILE, TOOL_TABLE,
|
||||
// SUBROUTINE_PATH-resolved remap_subs entries, and adjacent M428/M429/M430 #<kinstype> assignments.
|
||||
EOF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user