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

1
tests/interp/good/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*.ngc.out

8
tests/interp/good/README Normal file
View File

@@ -0,0 +1,8 @@
This directory consists of snippets of gcode that should be accepted.
All files that match the glob '*.ngc' are tested.
An individual file is considered to be a failure if it is rejected by
the interpreter.
If any file is a failure, then the test as a whole fails and will count
as 1 failure in the testsuite.

2
tests/interp/good/checkresult Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
true

View File

@@ -0,0 +1,5 @@
g20
f1
g0x0y0z0
g2 x600 i[300 + [100 * [0.00099 * sqrt[2]]]]
m2

View File

@@ -0,0 +1,19 @@
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... ON_RESET()
7 N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
8 N..... SET_FEED_RATE(1.0000)
9 N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
10 N..... ARC_FEED(600.0000, 0.0000, 300.1400, 0.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
12 N..... SET_XY_ROTATION(0.0000)
13 N..... SET_FEED_MODE(0, 0)
14 N..... SET_FEED_RATE(0.0000)
15 N..... STOP_SPINDLE_TURNING(0)
16 N..... SET_SPINDLE_MODE(0 0.0000)
17 N..... PROGRAM_END()
18 N..... ON_RESET()
19 N..... ON_RESET()

View File

@@ -0,0 +1,5 @@
g21
f1
g0x0y0z0
g2 x6000 i[3000 + [100 * [0.0099 * sqrt[2]]]]
m2

View File

@@ -0,0 +1,19 @@
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... ON_RESET()
7 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
8 N..... SET_FEED_RATE(1.0000)
9 N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
10 N..... ARC_FEED(6000.0000, 0.0000, 3001.4001, 0.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
12 N..... SET_XY_ROTATION(0.0000)
13 N..... SET_FEED_MODE(0, 0)
14 N..... SET_FEED_RATE(0.0000)
15 N..... STOP_SPINDLE_TURNING(0)
16 N..... SET_SPINDLE_MODE(0 0.0000)
17 N..... PROGRAM_END()
18 N..... ON_RESET()
19 N..... ON_RESET()

View File

@@ -0,0 +1,5 @@
g20
f1
g0x0y0z0
g2 x200 i[0.9995 * 100]
m2

View File

@@ -0,0 +1,19 @@
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... ON_RESET()
7 N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
8 N..... SET_FEED_RATE(1.0000)
9 N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
10 N..... ARC_FEED(200.0000, 0.0000, 99.9500, 0.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
12 N..... SET_XY_ROTATION(0.0000)
13 N..... SET_FEED_MODE(0, 0)
14 N..... SET_FEED_RATE(0.0000)
15 N..... STOP_SPINDLE_TURNING(0)
16 N..... SET_SPINDLE_MODE(0 0.0000)
17 N..... PROGRAM_END()
18 N..... ON_RESET()
19 N..... ON_RESET()

View File

@@ -0,0 +1,5 @@
g21
f1
g0x0y0z0
g2 x2000 i[0.9995 * 1000]
m2

View File

@@ -0,0 +1,19 @@
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... ON_RESET()
7 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
8 N..... SET_FEED_RATE(1.0000)
9 N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
10 N..... ARC_FEED(2000.0000, 0.0000, 999.5000, 0.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
12 N..... SET_XY_ROTATION(0.0000)
13 N..... SET_FEED_MODE(0, 0)
14 N..... SET_FEED_RATE(0.0000)
15 N..... STOP_SPINDLE_TURNING(0)
16 N..... SET_SPINDLE_MODE(0 0.0000)
17 N..... PROGRAM_END()
18 N..... ON_RESET()
19 N..... ON_RESET()

View File

@@ -0,0 +1,5 @@
g20
f1
g0x0y0z0
g2 x5.000 y0 i[2.500 - [0.00099 * sqrt[2]]]
m2

View File

@@ -0,0 +1,19 @@
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... ON_RESET()
7 N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
8 N..... SET_FEED_RATE(1.0000)
9 N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
10 N..... ARC_FEED(5.0000, 0.0000, 2.4986, 0.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
12 N..... SET_XY_ROTATION(0.0000)
13 N..... SET_FEED_MODE(0, 0)
14 N..... SET_FEED_RATE(0.0000)
15 N..... STOP_SPINDLE_TURNING(0)
16 N..... SET_SPINDLE_MODE(0 0.0000)
17 N..... PROGRAM_END()
18 N..... ON_RESET()
19 N..... ON_RESET()

View File

@@ -0,0 +1,5 @@
g21
f1
g0x0y0z0
g2 x50.00 y0 i[25.00 - [0.0099 * sqrt[2]]]
m2

View File

@@ -0,0 +1,19 @@
1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
4 N..... SET_XY_ROTATION(0.0000)
5 N..... SET_FEED_REFERENCE(CANON_XYZ)
6 N..... ON_RESET()
7 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
8 N..... SET_FEED_RATE(1.0000)
9 N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
10 N..... ARC_FEED(50.0000, 0.0000, 24.9860, 0.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
11 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
12 N..... SET_XY_ROTATION(0.0000)
13 N..... SET_FEED_MODE(0, 0)
14 N..... SET_FEED_RATE(0.0000)
15 N..... STOP_SPINDLE_TURNING(0)
16 N..... SET_SPINDLE_MODE(0 0.0000)
17 N..... PROGRAM_END()
18 N..... ON_RESET()
19 N..... ON_RESET()

24
tests/interp/good/test Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env python3
import glob, os, sys, filecmp
fail = 0
for t in sorted(glob.glob('*.ngc')):
sys.stderr.write("#".format(t))
p = os.popen("rs274 -g %s 2>&1 > %s.out " % (t, t))
output = p.readlines()
r = p.close()
out_file = t + ".out"
expected_file = t + ".expected"
if r != None:
print("%s: Interpreter reported an error with the gcode" % t)
print(output)
fail += 1
continue
if not filecmp.cmp(out_file, expected_file):
print("%s: Interpreter output is unexpected:" % t)
os.system('diff -u %s %s' % (expected_file, out_file))
fail += 1
continue
if fail:
raise SystemExit("%d failures" % fail)