提示词:补齐 G64 naivecam tolerance 源链接覆盖
This commit is contained in:
@@ -569,6 +569,10 @@ CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linux
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_coolant.ngc >"$output_dir/cnc_sim_linuxcnc_coolant.json"
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_feed_modes.ngc >"$output_dir/cnc_sim_linuxcnc_feed_modes.json"
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_motion_modes.ngc >"$output_dir/cnc_sim_linuxcnc_motion_modes.json"
|
||||
# Source basis: LinuxCNC src/emc/rs274ngc/interp_convert.cc
|
||||
# convert_control_mode() sends G64 P through SET_MOTION_CONTROL_MODE()
|
||||
# and G64 Q through SET_NAIVECAM_TOLERANCE(), defaulting Q to P when Q is omitted.
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_control_mode_tolerances.ngc >"$output_dir/cnc_sim_linuxcnc_control_mode_tolerances.json"
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_tool_length.ngc >"$output_dir/cnc_sim_linuxcnc_tool_length.json"
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_dynamic_tool_length.ngc >"$output_dir/cnc_sim_linuxcnc_dynamic_tool_length.json"
|
||||
# Source basis: LinuxCNC src/emc/rs274ngc/interp_convert.cc
|
||||
@@ -1524,6 +1528,23 @@ for expected in [(2, 611, 0), (3, 612, 0), (4, 640, 0.05)]:
|
||||
if expected not in motion_mode_states:
|
||||
raise SystemExit(f"missing motion mode state {expected!r}")
|
||||
|
||||
control_mode_tolerances = load("cnc_sim_linuxcnc_control_mode_tolerances.json")
|
||||
control_mode_tolerance_states = [
|
||||
(event["line"], event["reserved"], event["feed"])
|
||||
for event in control_mode_tolerances
|
||||
if event["type"] == "comment" and event["reserved"] in {611, 612, 640, 641}
|
||||
]
|
||||
expected_control_mode_tolerance_states = [
|
||||
(2, 640, 0.05),
|
||||
(2, 641, 0.02),
|
||||
(3, 640, 0.03),
|
||||
(3, 641, 0.03),
|
||||
(4, 611, 0),
|
||||
(5, 612, 0),
|
||||
]
|
||||
if control_mode_tolerance_states != expected_control_mode_tolerance_states:
|
||||
raise SystemExit(f"unexpected G64 P/Q control mode tolerance states: {control_mode_tolerance_states!r}")
|
||||
|
||||
tool_length = load("cnc_sim_linuxcnc_tool_length.json")
|
||||
if not any(
|
||||
event["type"] == "comment" and
|
||||
|
||||
Reference in New Issue
Block a user