按推荐建议,继续执行
结论:已接入 LinuxCNC feed/control canonical 边界事件记录,并新增 G93、G94、G95、G61、G61.1、G64 P/Q 回归 fixture;原生 probe 验证通过。
This commit is contained in:
@@ -380,6 +380,15 @@ Current verified progress:
|
|||||||
`interp_convert.cc::convert_coordinate_system()`,
|
`interp_convert.cc::convert_coordinate_system()`,
|
||||||
`interp_convert.cc::convert_setup()`, and
|
`interp_convert.cc::convert_setup()`, and
|
||||||
`interp_convert.cc::convert_axis_offsets()`.
|
`interp_convert.cc::convert_axis_offsets()`.
|
||||||
|
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||||
|
feed/control canonical boundary calls emitted by vendored LinuxCNC
|
||||||
|
conversion and queue code: `SET_TRAVERSE_RATE`, `SET_FEED_REFERENCE`,
|
||||||
|
`SET_FEED_MODE`, `SET_MOTION_CONTROL_MODE`, and
|
||||||
|
`SET_NAIVECAM_TOLERANCE`. `tests/fixtures/gcode/feed_control_modes.ngc`
|
||||||
|
and `tests/fixtures/canon/feed_control_modes.events` pin `G93`, `G94`,
|
||||||
|
`G95`, `G61`, `G61.1`, and `G64 P/Q` behavior from
|
||||||
|
`interp_convert.cc::convert_feed_mode()`,
|
||||||
|
`interp_convert.cc::convert_control_mode()`, and `interp_queue.cc`.
|
||||||
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
|
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
|
||||||
`tests/fixtures/canon_errors/g1_zero_feed.expected` pin the negative
|
`tests/fixtures/canon_errors/g1_zero_feed.expected` pin the negative
|
||||||
`G1` zero-feed case. The source basis is LinuxCNC
|
`G1` zero-feed case. The source basis is LinuxCNC
|
||||||
|
|||||||
@@ -121,11 +121,36 @@ void SELECT_PLANE(CANON_PLANE plane)
|
|||||||
oss << "SELECT_PLANE plane=" << static_cast<int>(plane);
|
oss << "SELECT_PLANE plane=" << static_cast<int>(plane);
|
||||||
standalone::push_canon_event(oss.str());
|
standalone::push_canon_event(oss.str());
|
||||||
}
|
}
|
||||||
void SET_TRAVERSE_RATE(double) {}
|
void SET_TRAVERSE_RATE(double rate)
|
||||||
void SET_FEED_REFERENCE(CANON_FEED_REFERENCE) {}
|
{
|
||||||
void SET_FEED_MODE(int, int) {}
|
std::ostringstream oss;
|
||||||
void SET_MOTION_CONTROL_MODE(CANON_MOTION_MODE, double) {}
|
oss << "SET_TRAVERSE_RATE rate=" << rate;
|
||||||
void SET_NAIVECAM_TOLERANCE(double) {}
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
|
void SET_FEED_REFERENCE(CANON_FEED_REFERENCE reference)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << "SET_FEED_REFERENCE reference=" << static_cast<int>(reference);
|
||||||
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
|
void SET_FEED_MODE(int spindle, int mode)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << "SET_FEED_MODE spindle=" << spindle << " mode=" << mode;
|
||||||
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
|
void SET_MOTION_CONTROL_MODE(CANON_MOTION_MODE mode, double tolerance)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << "SET_MOTION_CONTROL_MODE mode=" << mode << " tolerance=" << tolerance;
|
||||||
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
|
void SET_NAIVECAM_TOLERANCE(double tolerance)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << "SET_NAIVECAM_TOLERANCE tolerance=" << tolerance;
|
||||||
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
void SET_CUTTER_RADIUS_COMPENSATION(double) {}
|
void SET_CUTTER_RADIUS_COMPENSATION(double) {}
|
||||||
void START_CUTTER_RADIUS_COMPENSATION(int) {}
|
void START_CUTTER_RADIUS_COMPENSATION(int) {}
|
||||||
void STOP_CUTTER_RADIUS_COMPENSATION() {}
|
void STOP_CUTTER_RADIUS_COMPENSATION() {}
|
||||||
|
|||||||
14
wasm-port/tests/fixtures/canon/feed_control_modes.events
vendored
Normal file
14
wasm-port/tests/fixtures/canon/feed_control_modes.events
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
canon_event=SELECT_PLANE plane=1
|
||||||
|
canon_event=STRAIGHT_TRAVERSE line=1 x=0 y=0 z=0 a=0 b=0 c=0 u=0 v=0 w=0
|
||||||
|
canon_event=COMMENT: interpreter: feed mode set to inverse time
|
||||||
|
canon_event=SET_FEED_MODE spindle=0 mode=0
|
||||||
|
canon_event=COMMENT: interpreter: feed mode set to units per minute
|
||||||
|
canon_event=SET_FEED_MODE spindle=0 mode=0
|
||||||
|
canon_event=SET_FEED_RATE rate=0
|
||||||
|
canon_event=COMMENT: interpreter: feed mode set to units per revolution
|
||||||
|
canon_event=SET_FEED_MODE spindle=0 mode=1
|
||||||
|
canon_event=SET_FEED_RATE rate=0
|
||||||
|
canon_event=SET_MOTION_CONTROL_MODE mode=2 tolerance=0
|
||||||
|
canon_event=SET_MOTION_CONTROL_MODE mode=1 tolerance=0
|
||||||
|
canon_event=SET_MOTION_CONTROL_MODE mode=3 tolerance=0.02
|
||||||
|
canon_event=SET_NAIVECAM_TOLERANCE tolerance=0.03
|
||||||
7
wasm-port/tests/fixtures/gcode/feed_control_modes.ngc
vendored
Normal file
7
wasm-port/tests/fixtures/gcode/feed_control_modes.ngc
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
G90 G17 G0 X0 Y0 Z0
|
||||||
|
G93
|
||||||
|
G94
|
||||||
|
G95
|
||||||
|
G61
|
||||||
|
G61.1
|
||||||
|
G64 P0.02 Q0.03
|
||||||
Reference in New Issue
Block a user