补齐多主轴 M19 source-linked 覆盖

This commit is contained in:
cnc
2026-06-05 21:50:59 +08:00
parent 55149b0a0a
commit 9c73577ade
2 changed files with 33 additions and 0 deletions

View File

@@ -236,6 +236,12 @@ INI_FILE_NAME="$multi_spindle_modes_file" CNC_SIM_RS274_VAR="$var_file" \
CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_spindle_orient.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_spindle_orient.json"
# Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads
# [TRAJ] SPINDLES from INI_FILE_NAME, and interp_convert.cc routes M19 with a
# $ selector to the selected spindle for orient and wait Canon calls.
INI_FILE_NAME="$multi_spindle_modes_file" CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_orient.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_orient.json"
CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_io_controls.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_io_controls.json"
@@ -1899,6 +1905,27 @@ if not any(
):
raise SystemExit("missing source-linked M19 spindle orient wait state")
multi_spindle_orient = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_multi_spindle_orient.json").read_text())
if not any(
event["type"] == "comment" and
event["line"] == 4 and
event["reserved"] == 1901 and
event["tool"] == 1 and
event["feed"] == 45 and
event["arcTurns"] == 1
for event in multi_spindle_orient
):
raise SystemExit("missing source-linked selected-spindle M19 orient state")
if not any(
event["type"] == "comment" and
event["line"] == 4 and
event["reserved"] == 1902 and
event["tool"] == 1 and
event["dwellSeconds"] == 2
for event in multi_spindle_orient
):
raise SystemExit("missing source-linked selected-spindle M19 orient wait state")
io_controls = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_io_controls.json").read_text())
io_states = [
(event["line"], event["reserved"], event["tool"], event["feed"], event["arcTurns"], event["dwellSeconds"])
@@ -3713,6 +3740,7 @@ echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_direction.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_all_direction.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_spindle_modes.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_spindle_orient.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_orient.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_io_controls.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_override_controls.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_state.json"

View File

@@ -0,0 +1,5 @@
G21 G90 G17
(Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads [TRAJ] SPINDLES from INI_FILE_NAME.)
(Source basis: LinuxCNC src/emc/rs274ngc/interp_convert.cc M19 with $ selects spindle orient and wait calls.)
M19 R45 P1 Q2 $1
M30