nx_bedmesh_emit_test.nx
buildroot/runtime/nx_bedmesh_emit_test.nx
about
nx_bedmesh_emit_test.nx -- prove that slicer-side bed-mesh
compensation emits VARYING Z within a single XY extrusion move.
Industry baseline: every major slicer emits ONE Z per layer; G1
extrusion moves carry only X/Y/E/F. This smoke shows we emit
G1 X Y Z E F PER SEGMENT with Z varying as the move crosses the
probed bed mesh. The EXCEED proof.
Closed-form invariants:
(a) Long move subdivided into >= 10 segments at 5mm max segment
(b) Emitted G-code contains multiple ";Z=" markers (we count G1 ... Z)
(c) Z varies non-trivially -- buf contains multiple distinct Z
coordinate strings (proved by length-of-output > flat-baseline)
(d) With a flat (zero-delta) bed mesh: all emitted Z == z_base
(no spurious compensation)
(e) Bowl bed: Z at move midpoint > Z at move start (passes through high)
expect_exit: 0
license_tier: ORIGINAL
dependencies 7 imports · 0 importers
imports: nx_syscalls.nxnx_polygon.nxnx_slice_contour.nxnx_machine_graph.nxnx_material_profile.nxnx_bed_mesh.nxnx_gcode_emit.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 29 | const Q14: i64 = 16384 |
functions
| 32 | func smoke_count(buf: *u8, len: i64, needle: *u8) -> i64 |
| 52 | func smoke_contains(buf: *u8, len: i64, needle: *u8) -> i64 |
| 57 | func main() -> i64 |