Expand LinuxCNC interpreter regression coverage

This commit is contained in:
2026-06-09 14:54:54 +08:00
parent 50757e45ba
commit 5bd8f12872
143 changed files with 10895 additions and 219 deletions

View File

@@ -0,0 +1,2 @@
This test tests inverse time feed mode and that the feeds should
be the same whether or not compensation is on.

View File

@@ -0,0 +1,114 @@
N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SET_FEED_REFERENCE(CANON_XYZ)
N..... ON_RESET()
N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: cutter radius compensation on right")
N..... COMMENT("interpreter: feed mode set to inverse time")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(30.0000)
N..... STRAIGHT_FEED(1.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(20.0000)
N..... STRAIGHT_FEED(1.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(40.0000)
N..... STRAIGHT_FEED(-1.0000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(40.0000)
N..... STRAIGHT_FEED(-1.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to units per minute")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... SET_FEED_RATE(33.0000)
N..... STRAIGHT_FEED(1.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(1.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(0.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(0.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to inverse time")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(10.0000)
N..... ARC_FEED(0.0000, 5.0000, 0.0000, 4.5000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to units per minute")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... SET_FEED_RATE(25.0000)
N..... COMMENT("interpreter: cutter radius compensation off")
N..... STRAIGHT_FEED(0.0000, 6.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: cutter radius compensation on right")
N..... COMMENT("interpreter: feed mode set to inverse time")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(30.0000)
N..... STRAIGHT_FEED(1.0000, -0.2000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(20.0000)
N..... ARC_FEED(1.2000, 0.0000, 1.0000, 0.0000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(1.2000, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(40.0000)
N..... ARC_FEED(1.0000, 1.2000, 1.0000, 1.0000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(-0.8000, 1.2000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(40.0000)
N..... STRAIGHT_FEED(-0.8000, 1.8000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to units per minute")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... SET_FEED_RATE(33.0000)
N..... STRAIGHT_FEED(1.0000, 1.8000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... ARC_FEED(1.2000, 2.0000, 1.0000, 2.0000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(1.2000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... ARC_FEED(1.0000, 3.2000, 1.0000, 3.0000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(0.2000, 3.2000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(0.2000, 3.8292, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to inverse time")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(10.0000)
N..... ARC_FEED(0.0000, 5.2000, 0.0000, 4.5000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to units per minute")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... SET_FEED_RATE(25.0000)
N..... COMMENT("interpreter: cutter radius compensation off")
N..... STRAIGHT_FEED(0.0000, 6.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: cutter radius compensation on left")
N..... COMMENT("interpreter: feed mode set to inverse time")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(30.0000)
N..... STRAIGHT_FEED(0.8000, 0.2000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(20.0000)
N..... STRAIGHT_FEED(0.8000, 0.8000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(40.0000)
N..... STRAIGHT_FEED(-1.0000, 0.8000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(40.0000)
N..... ARC_FEED(-1.2000, 1.0000, -1.0000, 1.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(-1.2000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to units per minute")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... SET_FEED_RATE(33.0000)
N..... ARC_FEED(-1.0000, 2.2000, -1.0000, 2.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(0.8000, 2.2000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(0.8000, 2.8000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(-0.0000, 2.8000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... ARC_FEED(-0.2000, 3.0000, 0.0000, 3.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(-0.2000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to inverse time")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(10.0000)
N..... ARC_FEED(0.0000, 4.2000, 0.0000, 4.0000, -1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... ARC_FEED(0.0000, 4.8000, 0.0000, 4.5000, 1, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: feed mode set to units per minute")
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... SET_FEED_RATE(25.0000)
N..... COMMENT("interpreter: cutter radius compensation off")
N..... STRAIGHT_FEED(0.0000, 6.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... SET_SPINDLE_MODE(0 0.0000)
N..... PROGRAM_END()
N..... ON_RESET()
N..... ON_RESET()

View File

@@ -0,0 +1,23 @@
g20
o100 sub
g0x0y0z0
g42.1d#100
g93g1x1f30 ;30 ipm
y1f20 ;20 ipm
x-1f20 ;40 ipm
y2f40 ;40 ipm
g94
x1f33 ;33ipm
y3
x0
y4
g93g3y5j.5f[20/3.14159265359] ;10 ipm
g40g94g1y6f25
o100 endsub
#100=0
o100 call
#100=.4
o100 call
#100=-.4
o100 call
m2

View File

@@ -0,0 +1,3 @@
#!/bin/bash
rs274 -g inverse.ngc | awk '{$1=""; print}'
exit "${PIPESTATUS[0]}"