From 03080afe2420da135fe59a5e7a81652f88efcfc4 Mon Sep 17 00:00:00 2001 From: cnc Date: Fri, 5 Jun 2026 23:10:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E9=BD=90=20cutter-comp=20=E5=89=A9?= =?UTF-8?q?=E4=BD=99M=E7=A0=81=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test-linuxcnc-source-link.sh | 9 +++++++-- tests/gcode/linuxcnc_cutter_comp_m48_error.ngc | 3 +++ tests/gcode/linuxcnc_cutter_comp_m64_error.ngc | 3 +++ tests/gcode/linuxcnc_cutter_comp_m65_error.ngc | 3 +++ tests/gcode/linuxcnc_cutter_comp_m68_error.ngc | 3 +++ 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 tests/gcode/linuxcnc_cutter_comp_m48_error.ngc create mode 100644 tests/gcode/linuxcnc_cutter_comp_m64_error.ngc create mode 100644 tests/gcode/linuxcnc_cutter_comp_m65_error.ngc create mode 100644 tests/gcode/linuxcnc_cutter_comp_m68_error.ngc diff --git a/test-linuxcnc-source-link.sh b/test-linuxcnc-source-link.sh index 40382bf..2ee5aaf 100755 --- a/test-linuxcnc-source-link.sh +++ b/test-linuxcnc-source-link.sh @@ -1424,11 +1424,16 @@ fi grep -q "Cannot wait for digital input with cutter radius compensation on" \ "$output_dir/cnc_sim_linuxcnc_source_cutter_comp_wait_input_error.err" # Source basis: LinuxCNC src/emc/rs274ngc/interp_convert.cc -# convert_m() rejects M63/M67/M49 while cutter radius compensation is active -# before enqueueing digital/analog output or override canon side effects. +# convert_m() rejects M63-M65/M67-M68/M48-M49 while cutter radius +# compensation is active before enqueueing digital/analog output or override +# canon side effects. cutter_comp_m_error_cases=( "linuxcnc_cutter_comp_m63_error|Cannot set motion digital output with cutter radius compensation on" + "linuxcnc_cutter_comp_m64_error|Cannot set auxiliary digital output with cutter radius compensation on" + "linuxcnc_cutter_comp_m65_error|Cannot set auxiliary digital output with cutter radius compensation on" "linuxcnc_cutter_comp_m67_error|Cannot set motion analog output with cutter radius compensation on" + "linuxcnc_cutter_comp_m68_error|Cannot set auxiliary analog output with cutter radius compensation on" + "linuxcnc_cutter_comp_m48_error|Cannot enable overrides with cutter radius compensation on" "linuxcnc_cutter_comp_m49_error|Cannot disable overrides with cutter radius compensation on" ) for case in "${cutter_comp_m_error_cases[@]}"; do diff --git a/tests/gcode/linuxcnc_cutter_comp_m48_error.ngc b/tests/gcode/linuxcnc_cutter_comp_m48_error.ngc new file mode 100644 index 0000000..4e63fec --- /dev/null +++ b/tests/gcode/linuxcnc_cutter_comp_m48_error.ngc @@ -0,0 +1,3 @@ +G21 G90 G17 +G41 D1 +M48 diff --git a/tests/gcode/linuxcnc_cutter_comp_m64_error.ngc b/tests/gcode/linuxcnc_cutter_comp_m64_error.ngc new file mode 100644 index 0000000..91f2c1a --- /dev/null +++ b/tests/gcode/linuxcnc_cutter_comp_m64_error.ngc @@ -0,0 +1,3 @@ +G21 G90 G17 +G41 D1 +M64 P1 diff --git a/tests/gcode/linuxcnc_cutter_comp_m65_error.ngc b/tests/gcode/linuxcnc_cutter_comp_m65_error.ngc new file mode 100644 index 0000000..5e9344f --- /dev/null +++ b/tests/gcode/linuxcnc_cutter_comp_m65_error.ngc @@ -0,0 +1,3 @@ +G21 G90 G17 +G41 D1 +M65 P1 diff --git a/tests/gcode/linuxcnc_cutter_comp_m68_error.ngc b/tests/gcode/linuxcnc_cutter_comp_m68_error.ngc new file mode 100644 index 0000000..b7154f7 --- /dev/null +++ b/tests/gcode/linuxcnc_cutter_comp_m68_error.ngc @@ -0,0 +1,3 @@ +G21 G90 G17 +G41 D1 +M68 E0 Q1