Import LinuxCNC source tree

This commit is contained in:
Wang Dequan
2026-08-20 06:17:39 +08:00
commit 2c814634c3
9429 changed files with 10556013 additions and 0 deletions

3
tests/pyvcp/do-test.hal Normal file
View File

@@ -0,0 +1,3 @@
loadusr -Wn mypanel pyvcp -c mypanel test.xml
show pin
exit 0

24
tests/pyvcp/expected Normal file
View File

@@ -0,0 +1,24 @@
mypanel float OUT 0 mypanel.dial-a-out
mypanel float OUT 0 mypanel.dial-b-out
mypanel float IN 0 mypanel.dial-c-in
mypanel float OUT 0 mypanel.dial-c-out
mypanel float OUT 0 mypanel.dial.0.out
mypanel float IN 0 mypanel.dial.0.param_pin
mypanel float IN 0 mypanel.dial.1.param_pin
mypanel float IN 0 mypanel.dial.2.param_pin
mypanel float OUT 0 mypanel.scale-a-out-f
mypanel s32 OUT 0 mypanel.scale-a-out-i
mypanel float OUT 0 mypanel.scale-b-out-f
mypanel s32 OUT 0 mypanel.scale-b-out-i
mypanel float IN 0 mypanel.scale-c-in
mypanel float OUT 0 mypanel.scale-c-out-f
mypanel s32 OUT 0 mypanel.scale-c-out-i
mypanel float OUT 0 mypanel.scale.0-f
mypanel s32 OUT 0 mypanel.scale.0-i
mypanel float IN 0 mypanel.scale.2.param_pin
mypanel float OUT 0 mypanel.spinbox-a-out
mypanel float OUT 0 mypanel.spinbox-b-out
mypanel float IN 0 mypanel.spinbox-c-in
mypanel float OUT 0 mypanel.spinbox-c-out
mypanel float OUT 0 mypanel.spinbox.0
mypanel float IN 0 mypanel.spinbox.2.param_pin

16
tests/pyvcp/skip Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
# pyvcp is only built in GUI builds (BUILD_GUI); skip in headless builds.
# Also skip without xvfb-run (minimal local environments), like ui-smoke.
set -u
if ! command -v pyvcp >/dev/null 2>&1; then
echo "skip: pyvcp not built (headless build)" >&2
exit 1
fi
if ! command -v xvfb-run >/dev/null 2>&1; then
echo "skip: xvfb-run not installed" >&2
exit 1
fi
exit 0

16
tests/pyvcp/test.ini Normal file
View File

@@ -0,0 +1,16 @@
<pyvcp>
<dial/> # dial.0.out test.dial.0.param_pin
<dial halpin="dial-a-out"/> # dial-a-out test.dial.1.param_pin
<dial halpin="dial-b-out" param_pin="1"/> # dial-b-out dial.2.param_pin
<dial halpin="dial-c-out" param_pin="1" halparam="dial-c-in"/> # dial-c-out dial-c-in
<spinbox/> # spinbox.0
<spinbox halpin="spinbox-a-out"/> # spinbox-a-out
<spinbox halpin="spinbox-b-out" param_pin="1"/> # spinbox-b-out spinbox.2.param_pin
<spinbox halpin="spinbox-c-out" param_pin="1" halparam="spinbox-c-in"/> # spinbox-c-out spinbox-c-in
<scale/> # scale.0-(f|i)
<scale halpin="scale-a-out"/> # scale-a-out-(f|i)
<scale halpin="scale-b-out" param_pin="1"/> # scale-b-out-(f|i) scale.2.param_pin
<scale halpin="scale-c-out" param_pin="1" halparam="scale-c-in"/> # scale-c-out-(f|i) scale-c-in
</pyvcp>

10
tests/pyvcp/test.sh Normal file
View File

@@ -0,0 +1,10 @@
#! /usr/bin/bash
set -e
xvfb-run halrun -s do-test.hal
# Ubuntu's xvfb-run merges stderr into stdout, so on a slow machine the
# halcmd "Waiting for component" pacifier can end up in result. Drop it.
sed -i -e '/^Waiting for component/d' -e '/mypanel/!d' result
exit 0

16
tests/pyvcp/test.xml Normal file
View File

@@ -0,0 +1,16 @@
<pyvcp>
<dial/> # dial.0.out test.dial.0.param_pin
<dial halpin="dial-a-out"/> # dial-a-out test.dial.1.param_pin
<dial halpin="dial-b-out" param_pin="1"/> # dial-b-out dial.2.param_pin
<dial halpin="dial-c-out" param_pin="1" halparam="dial-c-in"/> # dial-c-out dial-c-in
<spinbox/> # spinbox.0
<spinbox halpin="spinbox-a-out"/> # spinbox-a-out
<spinbox halpin="spinbox-b-out" param_pin="1"/> # spinbox-b-out spinbox.2.param_pin
<spinbox halpin="spinbox-c-out" param_pin="1" halparam="spinbox-c-in"/> # spinbox-c-out spinbox-c-in
<scale/> # scale.0-(f|i)
<scale halpin="scale-a-out"/> # scale-a-out-(f|i)
<scale halpin="scale-b-out" param_pin="1"/> # scale-b-out-(f|i) scale.2.param_pin
<scale halpin="scale-c-out" param_pin="1" halparam="scale-c-in"/> # scale-c-out-(f|i) scale-c-in
</pyvcp>