接续上一轮:推进浏览器验证与M428配置收拢
结论:已完成浏览器侧真实加载验证,M428/M429/M430 的配置入口进一步从 LinuxCNC INI/HALFILE/REMAP 来源生成,native 与 source-link 验证通过。
This commit is contained in:
55
generate-linuxcnc-puma560-dh-parameters.sh
Normal file
55
generate-linuxcnc-puma560-dh-parameters.sh
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
|
||||
source_path=${1:-configs/sim/axis/vismach/puma/puma560_dh.hal}
|
||||
source_file="$linuxcnc_root/$source_path"
|
||||
|
||||
if [[ ! -f "$source_file" ]]; then
|
||||
echo "missing LinuxCNC puma560 DH HAL source: $source_file" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
awk -v source_path="$source_path" '
|
||||
function fail(message) {
|
||||
print message > "/dev/stderr"
|
||||
exit 1
|
||||
}
|
||||
|
||||
$1 == "setp" && $2 ~ /^genserkins\.(A|ALPHA|D)-[0-5]$/ {
|
||||
split($2, qualified, ".")
|
||||
split(qualified[2], name_index, "-")
|
||||
name = name_index[1]
|
||||
index = name_index[2] + 0
|
||||
values[name, index] = $3
|
||||
}
|
||||
|
||||
END {
|
||||
names[0] = "A"
|
||||
arrays["A"] = "a"
|
||||
names[1] = "ALPHA"
|
||||
arrays["ALPHA"] = "alpha"
|
||||
names[2] = "D"
|
||||
arrays["D"] = "d"
|
||||
|
||||
print "// Generated by ./generate-linuxcnc-puma560-dh-parameters.sh."
|
||||
print "// Source: linuxcnc/" source_path " setp genserkins.{A,ALPHA,D}-N values."
|
||||
|
||||
for (n = 0; n < 3; n++) {
|
||||
name = names[n]
|
||||
array = arrays[name]
|
||||
for (i = 0; i < 6; i++) {
|
||||
key = name SUBSEP i
|
||||
if (!(key in values)) {
|
||||
fail("missing " name "-" i " in " source_path)
|
||||
}
|
||||
print " parameters." array "[" i "] = " values[key] ";"
|
||||
}
|
||||
if (n < 2) {
|
||||
print ""
|
||||
}
|
||||
}
|
||||
}
|
||||
' "$source_file"
|
||||
Reference in New Issue
Block a user