补齐 M51 全主轴 source-linked 覆盖
This commit is contained in:
@@ -292,6 +292,12 @@ CNC_SIM_RS274_VAR="$var_file" \
|
|||||||
INI_FILE_NAME="$multi_spindle_override_file" CNC_SIM_RS274_VAR="$var_file" \
|
INI_FILE_NAME="$multi_spindle_override_file" CNC_SIM_RS274_VAR="$var_file" \
|
||||||
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_override.ngc \
|
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_override.ngc \
|
||||||
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_override.json"
|
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_override.json"
|
||||||
|
# Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads
|
||||||
|
# [TRAJ] SPINDLES from INI_FILE_NAME, and interp_convert.cc M51 without a $
|
||||||
|
# selector applies speed override changes to every configured spindle.
|
||||||
|
INI_FILE_NAME="$multi_spindle_override_file" CNC_SIM_RS274_VAR="$var_file" \
|
||||||
|
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_override_all.ngc \
|
||||||
|
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_override_all.json"
|
||||||
CNC_SIM_RS274_VAR="$var_file" \
|
CNC_SIM_RS274_VAR="$var_file" \
|
||||||
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_modal_state.ngc \
|
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_modal_state.ngc \
|
||||||
>"$output_dir/cnc_sim_linuxcnc_source_modal_state.json"
|
>"$output_dir/cnc_sim_linuxcnc_source_modal_state.json"
|
||||||
@@ -1991,6 +1997,24 @@ if multi_spindle_override_states != expected_multi_spindle_override_states:
|
|||||||
f"{multi_spindle_override_states!r}"
|
f"{multi_spindle_override_states!r}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
multi_spindle_override_all = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_multi_spindle_override_all.json").read_text())
|
||||||
|
multi_spindle_override_all_states = [
|
||||||
|
(event["line"], event["reserved"], event["tool"], event["feed"])
|
||||||
|
for event in multi_spindle_override_all
|
||||||
|
if event["type"] == "comment" and event["reserved"] == 51
|
||||||
|
]
|
||||||
|
expected_multi_spindle_override_all_states = [
|
||||||
|
(4, 51, 0, 0),
|
||||||
|
(4, 51, 1, 0),
|
||||||
|
(5, 51, 0, 1),
|
||||||
|
(5, 51, 1, 1),
|
||||||
|
]
|
||||||
|
if multi_spindle_override_all_states != expected_multi_spindle_override_all_states:
|
||||||
|
raise SystemExit(
|
||||||
|
"unexpected source-linked M51 all-spindles override states: "
|
||||||
|
f"{multi_spindle_override_all_states!r}"
|
||||||
|
)
|
||||||
|
|
||||||
control_mode_tolerances = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_control_mode_tolerances.json").read_text())
|
control_mode_tolerances = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_control_mode_tolerances.json").read_text())
|
||||||
control_mode_tolerance_states = [
|
control_mode_tolerance_states = [
|
||||||
(event["line"], event["reserved"], event["feed"])
|
(event["line"], event["reserved"], event["feed"])
|
||||||
@@ -3770,6 +3794,7 @@ 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_multi_spindle_orient.json"
|
||||||
echo "dumped $output_dir/cnc_sim_linuxcnc_source_io_controls.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_override_controls.json"
|
||||||
|
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_override_all.json"
|
||||||
echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_state.json"
|
echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_state.json"
|
||||||
echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_autorestore.json"
|
echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_autorestore.json"
|
||||||
echo "dumped $output_dir/cnc_sim_linuxcnc_source_threading_sync.json"
|
echo "dumped $output_dir/cnc_sim_linuxcnc_source_threading_sync.json"
|
||||||
|
|||||||
6
tests/gcode/linuxcnc_multi_spindle_override_all.ngc
Normal file
6
tests/gcode/linuxcnc_multi_spindle_override_all.ngc
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
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 M51 without $ applies to all configured spindles.)
|
||||||
|
M51 P0
|
||||||
|
M51 P1
|
||||||
|
M30
|
||||||
Reference in New Issue
Block a user