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

View File

@@ -0,0 +1,171 @@
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..... SELECT_PLANE(CANON_PLANE_XZ)
N..... COMMENT("interpreter: retract mode set to old_z")
N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
N..... SET_SPINDLE_SPEED(0, 1000.0000)
N..... START_SPINDLE_CLOCKWISE(0)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_TRAVERSE(0.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("number 1: Y[-1] < R[1] < OLD_Y[2]")
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(1.0000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(1.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(-1.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(2.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 2: Y[0.5] < OLD_Y[2] < R[3]")
N..... STRAIGHT_TRAVERSE(1.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(1.0000, 3.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(0.5000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(3.0000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 3: OLD_Y[3] < Y[4] < R[5]")
N..... STRAIGHT_TRAVERSE(1.0000, 5.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(1.0000, 5.0000, 3.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(4.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(5.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 4: Y[-1] < R[1] < OLD_Y[2]")
N..... STRAIGHT_TRAVERSE(10.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: distance mode changed to incremental")
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(11.0000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(11.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(-1.0000, 1.0000, 11.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(2.0000, 1.0000, 11.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_TRAVERSE(12.0000, 2.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(12.0000, 1.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(-1.0000, 2.0000, 12.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(2.0000, 2.0000, 12.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 5: Y[0.5] < OLD_Y[2] < R[3]")
N..... COMMENT("interpreter: distance mode changed to absolute")
N..... STRAIGHT_TRAVERSE(20.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: distance mode changed to incremental")
N..... STRAIGHT_TRAVERSE(20.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(21.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(0.5000, 1.0000, 21.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(3.0000, 1.0000, 21.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_TRAVERSE(22.0000, 3.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(0.5000, 2.0000, 22.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(3.0000, 2.0000, 22.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 6: OLD_Y[2] < Y[4] < R[5]")
N..... COMMENT("interpreter: distance mode changed to absolute")
N..... STRAIGHT_TRAVERSE(30.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: distance mode changed to incremental")
N..... STRAIGHT_TRAVERSE(30.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(31.0000, 5.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(4.0000, 1.0000, 31.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(5.0000, 1.0000, 31.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_TRAVERSE(32.0000, 5.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(4.0000, 2.0000, 32.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(5.0000, 2.0000, 32.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("done")
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SELECT_PLANE(CANON_PLANE_XY)
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,45 @@
g18 ; do canned cycles in the ZX plane
g98 ; "retract to previous Z" mode (though in G18 it should mean "previous Y")
g90 ; absolute coordinates mode
g20 ; imperial
M3 S1000
f10
; starting position
g0 x0 y2 z0
;
; There are six possible orderings of Y, OLD_Y, and R, but the three that
; have R < Y are rejected by LinuxCNC.
;
(number 1: Y[-1] < R[1] < OLD_Y[2])
g84 x1 z1 y-1 r1
(number 2: Y[0.5] < OLD_Y[2] < R[3])
g84 x1 z2 y0.5 r3
(number 3: OLD_Y[3] < Y[4] < R[5])
g84 x1 z3 y4 r5
;
; test with incremental motion and repeat cycles
;
(number 4: Y[-1] < R[1] < OLD_Y[2])
g90 g0 x10 z0 y2
g91 g84 x1 z1 y-2 r-1 l2
(number 5: Y[0.5] < OLD_Y[2] < R[3])
g90 g0 x20 z0 y2
g91 g84 x1 z1 y-2.5 r1 l2
(number 6: OLD_Y[2] < Y[4] < R[5])
g90 g0 x30 z0 y2
g91 g84 x1 z1 y-1 r3 l2
(done)
m2

View File

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

View File

@@ -0,0 +1,161 @@
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..... SELECT_PLANE(CANON_PLANE_XZ)
N..... COMMENT("interpreter: retract mode set to r_plane")
N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
N..... SET_SPINDLE_SPEED(0, 1000.0000)
N..... START_SPINDLE_CLOCKWISE(0)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_TRAVERSE(0.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("number 1: Y[-1] < R[1] < OLD_Y[2]")
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(1.0000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(1.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(1.0000, -1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(1.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 2: Y[0.5] < OLD_Y[1] < R[3]")
N..... STRAIGHT_TRAVERSE(1.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(1.0000, 3.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(0.5000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(3.0000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 3: OLD_Y[3] < Y[4] < R[5]")
N..... STRAIGHT_TRAVERSE(1.0000, 5.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(1.0000, 5.0000, 3.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(4.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(5.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 4: Y[-1] < R[1] < OLD_Y[2]")
N..... STRAIGHT_TRAVERSE(10.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: distance mode changed to incremental")
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(11.0000, 2.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(11.0000, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(-1.0000, 1.0000, 11.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(1.0000, 1.0000, 11.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_TRAVERSE(12.0000, 1.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(-1.0000, 2.0000, 12.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(1.0000, 2.0000, 12.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 5: Y[0.5] < OLD_Y[2] < R[3]")
N..... COMMENT("interpreter: distance mode changed to absolute")
N..... STRAIGHT_TRAVERSE(20.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: distance mode changed to incremental")
N..... STRAIGHT_TRAVERSE(20.0000, 3.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(21.0000, 3.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(0.5000, 1.0000, 21.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(3.0000, 1.0000, 21.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_TRAVERSE(22.0000, 3.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(0.5000, 2.0000, 22.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(3.0000, 2.0000, 22.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("number 6: OLD_Y[2] < Y[4] < R[5]")
N..... COMMENT("interpreter: distance mode changed to absolute")
N..... STRAIGHT_TRAVERSE(30.0000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... COMMENT("interpreter: distance mode changed to incremental")
N..... STRAIGHT_TRAVERSE(30.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
N..... STRAIGHT_TRAVERSE(31.0000, 5.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(4.0000, 1.0000, 31.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(5.0000, 1.0000, 31.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_TRAVERSE(32.0000, 5.0000, 2.0000, 0.0000, 0.0000, 0.0000)
N..... DISABLE_FEED_OVERRIDE()
N..... DISABLE_SPEED_OVERRIDE(0)
N..... STRAIGHT_FEED(4.0000, 2.0000, 32.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_COUNTERCLOCKWISE(0)
N..... DWELL(0.0000)
N..... STRAIGHT_FEED(5.0000, 2.0000, 32.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... START_SPINDLE_CLOCKWISE(0)
N..... ENABLE_FEED_OVERRIDE()
N..... ENABLE_SPEED_OVERRIDE(0)
N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
N..... SET_NAIVECAM_TOLERANCE(0.0000)
N..... COMMENT("done")
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SELECT_PLANE(CANON_PLANE_XY)
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,45 @@
g18 ; do canned cycles in the ZX plane
g99 ; "retract to R" mode
g90 ; absolute coordinates mode
g20 ; imperial
M3 S1000
f10
; starting position
g0 x0 z0 y2
;
; There are six possible orderings of Y, OLD_Y, and R, but the three that
; have R < Y are rejected by LinuxCNC.
;
(number 1: Y[-1] < R[1] < OLD_Y[2])
g81 x1 z1 y-1 r1
(number 2: Y[0.5] < OLD_Y[1] < R[3])
g84 x1 z2 y0.5 r3
(number 3: OLD_Y[3] < Y[4] < R[5])
g84 x1 z3 y4 r5
;
; test with incremental motion and repeat cycles
;
(number 4: Y[-1] < R[1] < OLD_Y[2])
g90 g0 x10 z0 y2
g91 g84 x1 z1 y-2 r-1 l2
(number 5: Y[0.5] < OLD_Y[2] < R[3])
g90 g0 x20 z0 y2
g91 g84 x1 z1 y-2.5 r1 l2
(number 6: OLD_Y[2] < Y[4] < R[5])
g90 g0 x30 z0 y2
g91 g84 x1 z1 y-1 r3 l2
(done)
m2

View File

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