补齐默认 M3M4 单主轴 source-linked 覆盖

This commit is contained in:
cnc
2026-06-05 22:07:39 +08:00
parent 09e2259669
commit 7e18c6cd40
2 changed files with 30 additions and 0 deletions

View File

@@ -225,6 +225,12 @@ INI_FILE_NAME="$multi_spindle_modes_file" CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_all_direction.ngc \ "$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_all_direction.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_all_direction.json" >"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_all_direction.json"
# Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads # Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads
# [TRAJ] SPINDLES from INI_FILE_NAME, and interp_convert.cc M3/M4 without a $
# selector start only the default spindle.
INI_FILE_NAME="$multi_spindle_modes_file" CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_default_start.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_default_start.json"
# Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads
# [TRAJ] SPINDLES from INI_FILE_NAME, and interp_convert.cc M5 without a $ # [TRAJ] SPINDLES from INI_FILE_NAME, and interp_convert.cc M5 without a $
# selector stops every configured spindle. # selector stops every configured spindle.
INI_FILE_NAME="$multi_spindle_modes_file" CNC_SIM_RS274_VAR="$var_file" \ INI_FILE_NAME="$multi_spindle_modes_file" CNC_SIM_RS274_VAR="$var_file" \
@@ -1867,6 +1873,22 @@ if multi_spindle_all_direction_states != expected_multi_spindle_all_direction_st
f"{multi_spindle_all_direction_states!r}" f"{multi_spindle_all_direction_states!r}"
) )
multi_spindle_default_start = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_multi_spindle_default_start.json").read_text())
multi_spindle_default_start_states = [
(event["line"], event["tool"], event["spindle"], event["reserved"])
for event in multi_spindle_default_start
if event["type"] == "set-spindle" and event["line"] in {5, 6}
]
expected_multi_spindle_default_start_states = [
(5, 0, 1200, 1),
(6, 0, 1200, 2),
]
if multi_spindle_default_start_states != expected_multi_spindle_default_start_states:
raise SystemExit(
"unexpected source-linked default M3/M4 spindle states: "
f"{multi_spindle_default_start_states!r}"
)
multi_spindle_default_stop = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_multi_spindle_default_stop.json").read_text()) multi_spindle_default_stop = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_multi_spindle_default_stop.json").read_text())
multi_spindle_default_stop_states = [ multi_spindle_default_stop_states = [
(event["line"], event["tool"], event["spindle"], event["reserved"]) (event["line"], event["tool"], event["spindle"], event["reserved"])
@@ -3811,6 +3833,7 @@ echo "dumped $output_dir/cnc_sim_linuxcnc_source_rtcp_controls.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_spindle_direction.json" echo "dumped $output_dir/cnc_sim_linuxcnc_source_spindle_direction.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_direction.json" 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_multi_spindle_all_direction.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_default_start.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_default_stop.json" echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_default_stop.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_spindle_modes.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_spindle_orient.json"

View File

@@ -0,0 +1,7 @@
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 M3/M4 without $ starts only the default spindle.)
S1200 $-1
M3
M4
M30