Skip to content

Development

Tim edited this page Aug 15, 2026 · 2 revisions

Development

NebulaOS's own work on this fork lives entirely in klippy/extras/ — the prtouch_*.py, z_compensate.py, tmcstatus.py family and their test_*.py counterparts. See NebulaOS Changes for exactly what's inherited-but-not-NebulaOS's vs. genuinely added.

Design rationale for PRTouch/Z-compensation lives alongside the code as DESIGN.md/ANALYSIS.md in klippy/extras/ (referenced directly in the modules' own header comments) — read those before changing probe/compensation behavior; several non-obvious decisions (e.g. why Z-compensation defaults to a live SET_GCODE_OFFSET instead of SAVE_CONFIG) are explained there, not just in code comments.

Real hardware quirks worth knowing before touching this code: the load cell is bed-mounted, not toolhead-mounted (test by pressing the bed, not the nozzle) — see PRTouch.

See also: Testing, Integration with NebulaOS-firmware.

Clone this wiki locally