按建议持续推进
结论:已接入 LinuxCNC speed/feed synchronization 与 rigid tap canonical 边界事件记录,并新增 G33、G33.1 回归 fixture;原生 probe 验证通过。
This commit is contained in:
@@ -396,6 +396,13 @@ Current verified progress:
|
|||||||
`tests/fixtures/gcode/probe_semantics.ngc` and
|
`tests/fixtures/gcode/probe_semantics.ngc` and
|
||||||
`tests/fixtures/canon/probe_semantics.events` pin `G38.2`, `G38.3`,
|
`tests/fixtures/canon/probe_semantics.events` pin `G38.2`, `G38.3`,
|
||||||
`G38.4`, and `G38.5` probe type handling.
|
`G38.4`, and `G38.5` probe type handling.
|
||||||
|
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||||
|
speed/feed synchronization and rigid-tap canonical boundary calls emitted by
|
||||||
|
vendored `interp_convert.cc::convert_straight()`: `START_SPEED_FEED_SYNCH`,
|
||||||
|
`STOP_SPEED_FEED_SYNCH`, and `RIGID_TAP`.
|
||||||
|
`tests/fixtures/gcode/threading_sync.ngc` and
|
||||||
|
`tests/fixtures/canon/threading_sync.events` pin `G33` spindle-synchronized
|
||||||
|
straight feed and `G33.1` rigid tap behavior.
|
||||||
- `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
|
||||||
|
|||||||
@@ -154,9 +154,25 @@ void SET_NAIVECAM_TOLERANCE(double tolerance)
|
|||||||
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() {}
|
||||||
void START_SPEED_FEED_SYNCH(int, double, bool) {}
|
void START_SPEED_FEED_SYNCH(int spindle, double feed_per_revolution, bool velocity_mode)
|
||||||
void STOP_SPEED_FEED_SYNCH() {}
|
{
|
||||||
void RIGID_TAP(int, double, double, double, double) {}
|
std::ostringstream oss;
|
||||||
|
oss << "START_SPEED_FEED_SYNCH spindle=" << spindle
|
||||||
|
<< " feed_per_revolution=" << feed_per_revolution
|
||||||
|
<< " velocity_mode=" << velocity_mode;
|
||||||
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
|
void STOP_SPEED_FEED_SYNCH() { standalone::push_canon_event("STOP_SPEED_FEED_SYNCH"); }
|
||||||
|
void RIGID_TAP(int lineno, double x, double y, double z, double scale)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << "RIGID_TAP line=" << lineno
|
||||||
|
<< " x=" << x
|
||||||
|
<< " y=" << y
|
||||||
|
<< " z=" << z
|
||||||
|
<< " scale=" << scale;
|
||||||
|
standalone::push_canon_event(oss.str());
|
||||||
|
}
|
||||||
void STRAIGHT_PROBE(int lineno,
|
void STRAIGHT_PROBE(int lineno,
|
||||||
double x, double y, double z,
|
double x, double y, double z,
|
||||||
double a, double b, double c,
|
double a, double b, double c,
|
||||||
|
|||||||
11
wasm-port/tests/fixtures/canon/threading_sync.events
vendored
Normal file
11
wasm-port/tests/fixtures/canon/threading_sync.events
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
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_SPINDLE_SPEED spindle=0 speed=600
|
||||||
|
canon_event=START_SPINDLE_CLOCKWISE spindle=0 wait_for_at_speed=1
|
||||||
|
canon_event=START_SPEED_FEED_SYNCH spindle=0 feed_per_revolution=0.05 velocity_mode=0
|
||||||
|
canon_event=STRAIGHT_FEED line=3 x=0 y=0 z=-1 a=0 b=0 c=0 u=0 v=0 w=0
|
||||||
|
canon_event=STOP_SPEED_FEED_SYNCH
|
||||||
|
canon_event=START_SPEED_FEED_SYNCH spindle=0 feed_per_revolution=0.05 velocity_mode=0
|
||||||
|
canon_event=RIGID_TAP line=4 x=0 y=0 z=0 scale=2
|
||||||
|
canon_event=STOP_SPEED_FEED_SYNCH
|
||||||
|
canon_event=STOP_SPINDLE_TURNING spindle=0
|
||||||
5
wasm-port/tests/fixtures/gcode/threading_sync.ngc
vendored
Normal file
5
wasm-port/tests/fixtures/gcode/threading_sync.ngc
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
G90 G17 G0 X0 Y0 Z0
|
||||||
|
S600 M3
|
||||||
|
G33 Z-1 K0.05
|
||||||
|
G33.1 Z0 K0.05 I2
|
||||||
|
M5
|
||||||
Reference in New Issue
Block a user