Skip to content

Modules

github-actions[bot] edited this page Nov 12, 2026 · 1 revision

Module reference

One section per file in extras/. Commands answers what can I run, Configuration answers what can I set; this answers what is this file, and do I need to care about it.

Source: NebulaOS-klipper-extensions at 178a0c2. 30 modules.

What each section shows

Purpose is the module's own header, kept whole. These authors explain their reasoning in the header, and summarising it would discard the part worth reading.

Registers are the G-code commands the module registers, from its own register_command calls. A command marked replaces upstream is registered after de-registering Klipper's own - it does not behave as stock Klipper, and anyone arriving from stock needs to know before debugging it.

Reads counts the configuration options; the options themselves are in Configuration.

Tested by lists every test file that names the module - not just a file called test_<module>.py, which misses the ones named after what they test rather than after the file. A module no test refers to is marked as such.

Author appears only for vendored modules and is read from VENDORED.md, not inferred. Community-authored code is never presented here as NebulaOS's own work.

Nothing here is hardware-verified. Everything is read from source.

The five modules no test refers to

bl24c16f, calibrate_shaper_config, gcode_shell_command, motor_constants and virtual_pins - all five are vendored community modules, and every module NebulaOS wrote is referred to by at least one test. That is a coherent position rather than an oversight: vendored code is carried unmodified, so a test here would be testing someone else's project.

It is worth stating because the opposite reading is available and wrong. These are not the risky untested corners of NebulaOS; they are the parts NebulaOS did not write.

autotune_tmc

Vendored - Andrew McGregor and contributors, © 2023-2026, from andrewmcgr/klipper_tmc_autotune @ b6c7cfa98c2ef880812d5279a9117cbe67d6d4d5.

Registers AUTOTUNE_TMC
Reads 16 configuration option(s)
Tested by extras/test_nebulaos_tmc_autotune.py

Klipper TMC Autotune (autotune_tmc.py)

bl24c16f

Vendored - Eric Callahan, © 2020, from community Klipper extra, shipped by Creality in the KE's stock firmware.

Registers EEPROM_DEBUG_READ, EEPROM_DEBUG_WRITE_BYTE, EEPROM_DEBUG_WRITE_FLOAT, EEPROM_DEBUG_WRITE_INT, EEPROM_IS_FIRST_USED, EEPROM_POS, EEPROM_PRINTER_INFO, EEPROM_READ, EEPROM_WRITE_BYTE, EEPROM_WRITE_FLOAT, EEPROM_WRITE_INT
Reads no configuration
Tested by no test refers to this module

Support for i2c based temperature sensors

calibrate_shaper_config

Vendored - ballaswag, © 2023, from ballaswag/guppyscreen.

Registers SAVE_INPUT_SHAPER
Reads 5 configuration option(s)
Tested by no test refers to this module

Persist input-shaper calibration results to printer.cfg (SAVE_INPUT_SHAPER)

gcode_shell_command

Vendored - Eric Callahan, © 2019, from via pellcorp/klipper.

Registers RUN_SHELL_COMMAND
Reads 3 configuration option(s)
Tested by no test refers to this module

Run a shell command via gcode

motor_constants

Vendored - Andrew McGregor and contributors, © 2023-2026, from andrewmcgr/klipper_tmc_autotune @ b6c7cfa98c2ef880812d5279a9117cbe67d6d4d5.

Registers no G-code commands
Reads 7 configuration option(s)
Tested by no test refers to this module

Klipper TMC Autotune (motor_constants.py)

nebulaos_bed_soak

Registers SET_PIN (replaces upstream)
Reads 2 configuration option(s)
Tested by extras/test_nebulaos_bed_soak.py

NebulaOS bed warp soak switch, remembered (Run 21, 2026-10-28)

nebulaos_bed_tram

Registers _NEBULAOS_BED_TRAM, _NEBULAOS_BED_TRAM_CANCEL
Reads 7 configuration option(s)
Tested by extras/test_nebulaos_bed_tram.py

NebulaOS guided bed tramming (G87, simplified version agreed)

nebulaos_beeper

Registers NEBULAOS_BEEP, NEBULAOS_BEEPER_STOP, NEBULAOS_PLAY_TUNE
Reads 12 configuration option(s)
Tested by extras/test_nebulaos_beeper.py

Klipper-owned KE buzzer (G108), host-side Klipper extra

nebulaos_calibration

Registers NEBULAOS_CALIBRATION_RECORD, NEBULAOS_CALIBRATION_STATUS, NEBULAOS_RAW_CONTACT_COMPARE, _NEBULAOS_AUTO_CALIBRATE, _NEBULAOS_CALIBRATION_CANCEL, _NEBULAOS_ESTEPS_CALIBRATE, _NEBULAOS_ESTEPS_CANCEL, _NEBULAOS_ESTEPS_CONFIRM, _NEBULAOS_INPUT_SHAPER_CALIBRATE, _NEBULAOS_INPUT_SHAPER_CANCEL, _NEBULAOS_Z_OFFSET_CALIBRATE
Reads 31 configuration option(s)
Tested by extras/test_nebulaos_bed_tram.py, extras/test_nebulaos_calibration.py, extras/test_nebulaos_load_cell_calibration.py

NebulaOS calibration coordinator (Phase 2 calibration-framework mission; contact-safety stabilization rewrite, corrected).

nebulaos_calibration_history

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_calibration.py, extras/test_nebulaos_calibration_history.py

"what was calibrated when, with what result, and what must be redone" (G104/G105, Run 19).

nebulaos_calibration_journal

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_calibration.py, extras/test_nebulaos_calibration_journal.py

Persistent transaction journal for NebulaOS guided calibration workflows (Phase 2 mission, §12).

nebulaos_compat

Registers no G-code commands
Reads 2 configuration option(s)
Tested by extras/test_nebulaos_compat.py, extras/test_nebulaos_extensions_version.py, extras/test_nebulaos_temperature_mcu.py

Startup compatibility preflight for the NebulaOS Klipper extension set

nebulaos_load_cell_calibration

Registers NEBULAOS_LOAD_CELL_AUTO_CHECK, NEBULAOS_LOAD_CELL_MODE, NEBULAOS_LOAD_CELL_READ, _NEBULAOS_LOAD_CELL_CALIBRATE, _NEBULAOS_LOAD_CELL_CANCEL
Reads 9 configuration option(s)
Tested by extras/test_nebulaos_load_cell_calibration.py

NebulaOS guided load cell calibration with a water bottle (G86)

nebulaos_load_cell_mode

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_load_cell_mode.py, extras/test_nebulaos_raw_contact.py, extras/test_z_offset_probe_coexistence.py, extras/test_z_offset_probe_safety.py

NebulaOS load-cell contact mode: the user's persisted choice (G99)

nebulaos_memory

Registers no G-code commands
Reads 2 configuration option(s)
Tested by extras/test_nebulaos_memory.py

Klippy-side memory policy, host-side Klipper extra

nebulaos_plr_journal

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_plr_journal.py, extras/test_nebulaos_power_loss_recovery.py

EEPROM journal codec for NebulaOS power-loss recovery (Phase 1.9B).

nebulaos_power_loss_recovery

Registers NEBULAOS_PLR_DISCARD, NEBULAOS_PLR_RESUME, NEBULAOS_PLR_STATUS, _NEBULAOS_PLR_LOAD_MESH, _NEBULAOS_PLR_SET_Z, _NEBULAOS_PLR_TIMELAPSE_MERGE
Reads 9 configuration option(s)
Tested by extras/test_nebulaos_power_loss_recovery.py

NebulaOS's own power-loss recovery extra (Phase 1.9B), built entirely on public/mainline Klipper interfaces.

nebulaos_probe_pair

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_calibration.py, extras/test_nebulaos_probe_pair.py

NebulaOS automatic probe/nozzle pairing primitive (Phase 2 calibration- framework mission; bounded-descent contact-safety rewrite, corrected).

nebulaos_raw_contact

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_calibration.py, extras/test_nebulaos_raw_contact.py, extras/test_z_compensate_contact_mode.py, extras/test_z_offset_probe_coexistence.py, extras/test_z_offset_probe_safety.py

NebulaOS weight-free load-cell contact detection - pure helpers (G83b)

nebulaos_shaper_graph

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_shaper_graph.py

NebulaOS input shaper graph (G109, Run 20).

nebulaos_temperature_mcu

Vendored - Kevin O'Connor © 2020-2024 (base), NebulaOS © 2026 (GD32 curves), from Klipper3d/klipper.

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_compat.py, extras/test_nebulaos_temperature_mcu.py

MCU die-temperature support for the GD32 chips used by the Creality Ender-3 V3 KE

nebulaos_tmc_autotune

Registers NEBULAOS_TMC_AUTOTUNE
Reads no configuration
Tested by extras/test_nebulaos_tmc_autotune.py

NebulaOS TMC autotune selection (decision D8, 2026-10-10)

nebulaos_version

Registers no G-code commands
Reads 2 configuration option(s)
Tested by extras/test_nebulaos_power_loss_recovery.py, extras/test_nebulaos_version.py

Runtime version-truth printer object, host-side Klipper extra

nebulaos_z_adjust

Registers NEBULAOS_Z_ADJUST, Z_OFFSET_APPLY_PROBE (replaces upstream)
Reads 2 configuration option(s)
Tested by extras/test_nebulaos_calibration.py, extras/test_nebulaos_z_adjust.py

NebulaOS Z offset adjustment, saved like OpenKE did (G92)

nebulaos_z_offset_probe

Registers NEBULAOS_RAW_CONTACT_DIAGNOSTIC, NEBULAOS_RAW_CONTACT_REFERENCE
Reads 14 configuration option(s)
Tested by extras/test_nebulaos_calibration.py, extras/test_nebulaos_load_cell_calibration.py, extras/test_nebulaos_probe_pair.py, extras/test_nebulaos_raw_contact.py, extras/test_z_compensate_contact_mode.py, and 7 more

NebulaOS Z-offset contact probe — nozzle load cell adapter for Z-offset calibration

nozzle_clear

Registers no G-code commands
Reads 13 configuration option(s)
Tested by extras/test_nozzle_clear_native.py, extras/test_z_compensate_contact_mode.py, extras/test_z_offset_probe_coexistence.py

Native nozzle-wipe routine using upstream Klipper's load-cell probe

prtouch_test_support

Registers no G-code commands
Reads no configuration
Tested by extras/test_nebulaos_bed_soak.py, extras/test_nebulaos_bed_tram.py, extras/test_nebulaos_calibration.py, extras/test_nebulaos_load_cell_calibration.py, extras/test_nebulaos_z_adjust.py, and 7 more

Shared, offline test-only fakes for the z_compensate/nebulaos_z_offset_probe module set.

tmcstatus

Vendored - ballaswag, © 2024, from ballaswag/guppyscreen.

Registers TMCSTATUS
Reads 1 configuration option(s)
Tested by extras/test_tmcstatus.py

TMC stepper-driver status reporting for GuppyScreen's TMC panel

virtual_pins

Vendored - Pedro Lamas, © 2023, from via pellcorp/klipper.

Registers SET_VIRTUAL_PIN
Reads no configuration
Tested by no test refers to this module

Virtual Pins support

z_compensate

Registers _NEBULAOS_NOZZLE_CLEAN
Reads 19 configuration option(s)
Tested by extras/test_nebulaos_calibration.py, extras/test_z_compensate_contact_mode.py, extras/test_z_compensate_missing_load_cell.py, extras/test_z_compensate_offset_safety.py, extras/test_z_compensate_reentrancy_guard.py, and 4 more

Per-print auto-Z-offset orchestration, host-side Klipper extra