按推荐建议,继续执行
结论:已接入 LinuxCNC probe canonical 边界事件记录,并新增 G38.2、G38.3、G38.4、G38.5 回归 fixture;原生 probe 验证通过。
This commit is contained in:
@@ -389,6 +389,13 @@ Current verified progress:
|
||||
`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`.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
probe canonical boundary calls emitted by vendored
|
||||
`interp_convert.cc::convert_probe()`: `TURN_PROBE_ON`,
|
||||
`STRAIGHT_PROBE`, and `TURN_PROBE_OFF`.
|
||||
`tests/fixtures/gcode/probe_semantics.ngc` and
|
||||
`tests/fixtures/canon/probe_semantics.events` pin `G38.2`, `G38.3`,
|
||||
`G38.4`, and `G38.5` probe type handling.
|
||||
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
|
||||
`tests/fixtures/canon_errors/g1_zero_feed.expected` pin the negative
|
||||
`G1` zero-feed case. The source basis is LinuxCNC
|
||||
|
||||
@@ -157,7 +157,26 @@ void STOP_CUTTER_RADIUS_COMPENSATION() {}
|
||||
void START_SPEED_FEED_SYNCH(int, double, bool) {}
|
||||
void STOP_SPEED_FEED_SYNCH() {}
|
||||
void RIGID_TAP(int, double, double, double, double) {}
|
||||
void STRAIGHT_PROBE(int, double, double, double, double, double, double, double, double, double, unsigned char) {}
|
||||
void STRAIGHT_PROBE(int lineno,
|
||||
double x, double y, double z,
|
||||
double a, double b, double c,
|
||||
double u, double v, double w,
|
||||
unsigned char probe_type)
|
||||
{
|
||||
std::ostringstream oss;
|
||||
oss << "STRAIGHT_PROBE line=" << lineno
|
||||
<< " x=" << x
|
||||
<< " y=" << y
|
||||
<< " z=" << z
|
||||
<< " a=" << a
|
||||
<< " b=" << b
|
||||
<< " c=" << c
|
||||
<< " u=" << u
|
||||
<< " v=" << v
|
||||
<< " w=" << w
|
||||
<< " probe_type=" << static_cast<int>(probe_type);
|
||||
standalone::push_canon_event(oss.str());
|
||||
}
|
||||
void STOP() {}
|
||||
void DWELL(double seconds)
|
||||
{
|
||||
@@ -264,8 +283,8 @@ void FLOOD_ON() { standalone::push_canon_event("FLOOD_ON"); }
|
||||
void MIST_OFF() { standalone::push_canon_event("MIST_OFF"); }
|
||||
void MIST_ON() { standalone::push_canon_event("MIST_ON"); }
|
||||
void PALLET_SHUTTLE() { standalone::push_canon_event("PALLET_SHUTTLE"); }
|
||||
void TURN_PROBE_OFF() {}
|
||||
void TURN_PROBE_ON() {}
|
||||
void TURN_PROBE_OFF() { standalone::push_canon_event("TURN_PROBE_OFF"); }
|
||||
void TURN_PROBE_ON() { standalone::push_canon_event("TURN_PROBE_ON"); }
|
||||
void UNCLAMP_AXIS(CANON_AXIS) {}
|
||||
void NURB_KNOT_VECTOR() {}
|
||||
void NURB_CONTROL_POINT(int, double, double, double, double) {}
|
||||
|
||||
15
wasm-port/tests/fixtures/canon/probe_semantics.events
vendored
Normal file
15
wasm-port/tests/fixtures/canon/probe_semantics.events
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
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=SET_FEED_RATE rate=25
|
||||
canon_event=TURN_PROBE_ON
|
||||
canon_event=STRAIGHT_PROBE line=3 x=0 y=0 z=-1 a=0 b=0 c=0 u=0 v=0 w=0 probe_type=0
|
||||
canon_event=TURN_PROBE_OFF
|
||||
canon_event=TURN_PROBE_ON
|
||||
canon_event=STRAIGHT_PROBE line=4 x=1 y=0 z=0 a=0 b=0 c=0 u=0 v=0 w=0 probe_type=1
|
||||
canon_event=TURN_PROBE_OFF
|
||||
canon_event=TURN_PROBE_ON
|
||||
canon_event=STRAIGHT_PROBE line=5 x=0 y=1 z=0 a=0 b=0 c=0 u=0 v=0 w=0 probe_type=2
|
||||
canon_event=TURN_PROBE_OFF
|
||||
canon_event=TURN_PROBE_ON
|
||||
canon_event=STRAIGHT_PROBE line=6 x=0 y=0 z=1 a=0 b=0 c=0 u=0 v=0 w=0 probe_type=3
|
||||
canon_event=TURN_PROBE_OFF
|
||||
6
wasm-port/tests/fixtures/gcode/probe_semantics.ngc
vendored
Normal file
6
wasm-port/tests/fixtures/gcode/probe_semantics.ngc
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
G90 G17 G0 X0 Y0 Z0
|
||||
F25
|
||||
G38.2 Z-1
|
||||
G38.3 X1
|
||||
G38.4 Y1
|
||||
G38.5 Z1
|
||||
Reference in New Issue
Block a user