Repository navigation
Commands Detail
One section per command. Everything below is derived from the handler the registration points at, so a parameter cannot be attributed to the wrong command and a default cannot be transcribed wrongly.
Source: NebulaOS-klipper-extensions at 178a0c2. 50 commands.
For the one-line summary table, see Commands. For configuration, Configuration.
Established from source: that the command is registered; its handler; its help text; the parameters that handler reads, with types, defaults and valid ranges; the error messages it raises as literals; and whether it runs G-code or only reports.
Not established, and not guessed:
-
Expected output. Most handlers reply through
respond_infowith runtime values, so the text depends on machine state. Writing an example response would mean inventing it. - Preconditions beyond the guards visible in the handler. A command may also depend on calibration state or configuration that the handler does not check.
- Safety warnings. Whether a command is dangerous is a judgement about physical consequence, not a fact in the file.
- Hardware behaviour. Nothing here was run on a printer.
Each command's effects were established by reading its handler and the objects that handler calls. They are not detected automatically, and the reason is worth stating, because the first version of this page did detect them and was wrong.
That version printed Runs G-code: yes / no - reports only, derived from whether
the handler called run_script. It labelled NEBULAOS_BEEP reports only - a
command that drives the buzzer's PWM. Also SAVE_INPUT_SHAPER, which rewrites
printer.cfg; EEPROM_WRITE_INT, which writes the EEPROM; and
Z_OFFSET_APPLY_PROBE, which persists an offset. All four told the reader the
command was safe to try. This was caught in review, not by the tool.
Following the calls automatically does not fix it either. Effects are reached
through collaborator objects held on the module - self.pwm.off(),
self.gcode.run_script(), self.journal.write() - and resolving those object
graphs soundly is real static analysis. A scan that walks only the handler, or only
self._method calls, still reports nothing for the buzzer.
So the automatic claim was removed. A command with no entry reads not determined, which is honest, and a reader is told not to treat it as harmless. Running no G-code and having no effect are completely different claims.
A leading underscore means internal: a step of another command, or a macro's implementation detail. Not meant to be typed.
Apply autotuning configuration to TMC stepper driver
| Module | extras/autotune_tmc.py |
| Handler | name |
| Registration | mux command |
| Test | none |
| Side effects | hardware |
Parameters: none.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Read data bytes from eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_DEBUG_READ |
| Registration | mux command |
| Test | none |
| Side effects | reports only |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
SIZE |
string | required | minval 0, maxval 56 |
Example invocation
EEPROM_DEBUG_READ ADDR=<string> SIZE=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
Write byte data to eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_DEBUG_WRITE_BYTE |
| Registration | mux command |
| Test | none |
| Side effects | hardware, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
VAL |
string | required | minval 0, maxval 255 |
Example invocation
EEPROM_DEBUG_WRITE_BYTE ADDR=<string> VAL=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Changes state that survives a restart
Write float (4 byte) data to eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_DEBUG_WRITE_FLOAT |
| Registration | mux command |
| Test | none |
| Side effects | hardware, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
VAL |
float | 0.0 |
- |
Example invocation
EEPROM_DEBUG_WRITE_FLOAT ADDR=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Changes state that survives a restart
Write int (4 byte) data to eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_DEBUG_WRITE_INT |
| Registration | mux command |
| Test | none |
| Side effects | hardware, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
VAL |
string | required | minval 0, maxval 4294967296 |
Example invocation
EEPROM_DEBUG_WRITE_INT ADDR=<string> VAL=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Changes state that survives a restart
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_IS_FIRST_USED |
| Registration | mux command |
| Test | none |
| Side effects | reports only |
Parameters: none.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_POS |
| Registration | mux command |
| Test | none |
| Side effects | reports only |
Parameters: none.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_PRINTER_INFO |
| Registration | mux command |
| Test | none |
| Side effects | reports only |
Parameters: none.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
Read data bytes from eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_READ |
| Registration | mux command |
| Test | none |
| Side effects | reports only |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
SIZE |
string | required | minval 0, maxval 56 |
Example invocation
EEPROM_READ ADDR=<string> SIZE=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
Write byte data to eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_WRITE_BYTE |
| Registration | mux command |
| Test | none |
| Side effects | hardware, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
VAL |
string | required | minval 0, maxval 255 |
Example invocation
EEPROM_WRITE_BYTE ADDR=<string> VAL=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Changes state that survives a restart
Write float (4 byte) data to eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_WRITE_FLOAT |
| Registration | mux command |
| Test | none |
| Side effects | hardware, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
VAL |
float | 0.0 |
- |
Example invocation
EEPROM_WRITE_FLOAT ADDR=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Changes state that survives a restart
Write int (4 byte) data to eeprom
| Module | extras/bl24c16f.py |
| Handler | cmd_EEPROM_WRITE_INT |
| Registration | mux command |
| Test | none |
| Side effects | hardware, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ADDR |
string | required | minval 0, maxval 2047 |
VAL |
string | required | minval 0, maxval 4294967296 |
Example invocation
EEPROM_WRITE_INT ADDR=<string> VAL=<string>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Changes state that survives a restart
Beep the buzzer: FREQ= DURATION= [DUTY=<0..0.5>] (does not hold the G-code queue)
| Module | extras/nebulaos_beeper.py |
| Handler | cmd_NEBULAOS_BEEP |
| Registration | command |
| Test | extras/test_nebulaos_beeper.py |
| Side effects | hardware |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
DURATION |
int | 100 |
minval 0 |
DUTY |
float | the duty config option |
above 0.0, maxval 0.5 |
FREQ |
int | 1000 |
minval 0, maxval 20000 (MAX_FREQ) |
Example invocation
NEBULAOS_BEEP
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Stop the buzzer and drop queued sounds
| Module | extras/nebulaos_beeper.py |
| Handler | cmd_NEBULAOS_BEEPER_STOP |
| Registration | command |
| Test | extras/test_nebulaos_beeper.py |
| Side effects | hardware |
Parameters: none.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Record a finished calibration that NebulaOS does not run itself: FLOW=pid|axis_twist|skew|tmc_autotune|bed_mesh SUMMARY="" (shown on the Calibration menu)
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_calibration_record |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
FLOW |
string | "" |
- |
SUMMARY |
string | "" |
- |
Example invocation
NEBULAOS_CALIBRATION_RECORD
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
Side effects
- Writes or deletes files on the printer
- Changes state that survives a restart
Report the current NebulaOS calibration status
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_calibration_status |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | reports only |
Parameters: none.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
No motion: automatic load cell check on an EMPTY bed - sensor health and the unloaded reference for automatic contact (saved at once, no restart)
| Module | extras/nebulaos_load_cell_calibration.py |
| Handler | cmd_auto_check |
| Registration | command |
| Test | extras/test_nebulaos_load_cell_calibration.py |
| Side effects | gcode, hardware |
Parameters: none.
Errors raised
- (message built at runtime)
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Load cell contact mode: MODE=auto (automatic, no bottle - the default) or MODE=manual (the bottle calibration). No MODE: report. Saved at once, no restart.
| Module | extras/nebulaos_load_cell_calibration.py |
| Handler | cmd_mode |
| Registration | command |
| Test | extras/test_nebulaos_load_cell_calibration.py |
| Side effects | files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
MODE |
string | none |
- |
Example invocation
NEBULAOS_LOAD_CELL_MODE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
Side effects
- Writes or deletes files on the printer
- Changes state that survives a restart
Read-only: the force on the front-left corner in grams (1 s average, current calibration). Never moves anything.
| Module | extras/nebulaos_load_cell_calibration.py |
| Handler | cmd_read |
| Registration | command |
| Test | extras/test_nebulaos_load_cell_calibration.py |
| Side effects | reports only |
Parameters: none.
Errors raised
- (message built at runtime)
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
Play SONG= or RTTTL= without holding the G-code queue
| Module | extras/nebulaos_beeper.py |
| Handler | cmd_NEBULAOS_PLAY_TUNE |
| Registration | command |
| Test | extras/test_nebulaos_beeper.py |
| Side effects | hardware |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
RTTTL |
string | "" |
- |
SONG |
string | the default_song config option |
- |
Example invocation
NEBULAOS_PLAY_TUNE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
- No notes in tune
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Discard any NebulaOS power-loss-recovery checkpoint
| Module | extras/nebulaos_power_loss_recovery.py |
| Handler | cmd_NEBULAOS_PLR_DISCARD |
| Registration | command |
| Test | extras/test_nebulaos_power_loss_recovery.py |
| Side effects | files, persistent |
Parameters: none.
Side effects
- Writes or deletes files on the printer
- Changes state that survives a restart
Resume a NebulaOS power-loss-recovery checkpoint
| Module | extras/nebulaos_power_loss_recovery.py |
| Handler | cmd_NEBULAOS_PLR_RESUME |
| Registration | command |
| Test | extras/test_nebulaos_power_loss_recovery.py |
| Side effects | gcode, files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ALLOW_UNSAFE |
int | 0 |
minval 0, maxval 1 |
PHYSICAL |
int | 0 |
minval 0, maxval 1 |
Example invocation
NEBULAOS_PLR_RESUME
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
- NebulaOS PLR: physical resume is disabled ([nebulaos_power_loss_recovery] physical_resume: False) until it has passed a supervised power-cut test on this printer
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes or deletes files on the printer
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
(script built at runtime)
Report NebulaOS power-loss-recovery status
| Module | extras/nebulaos_power_loss_recovery.py |
| Handler | cmd_NEBULAOS_PLR_STATUS |
| Registration | command |
| Test | extras/test_nebulaos_power_loss_recovery.py |
| Side effects | reports only |
Parameters: none.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
SUPERVISED stage-C comparison: Z-offset touches with the calibrated load cell, then with a raw-count candidate - SUPERVISED=1 TRIGGER_COUNTS= POLARITY=<1|-1> [SAMPLES=<1-5>]. Never saves.
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_raw_contact_compare |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | reports only |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
POLARITY |
int | none |
- |
SAMPLES |
int | 3 |
minval 1, maxval RAW_COMPARE_MAX_SAMPLES |
SUPERVISED |
int | 0 |
- |
TRIGGER_COUNTS |
int | none |
- |
X |
string | none |
- |
Y |
string | none |
- |
Example invocation
NEBULAOS_RAW_CONTACT_COMPARE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
- NEBULAOS_RAW_CONTACT_COMPARE moves the nozzle onto the bed with an UNQUALIFIED raw-count trigger: only with someone at the printer, and only with SUPERVISED=1
- NEBULAOS_RAW_CONTACT_COMPARE: TRIGGER_COUNTS= and POLARITY=1|-1 are required
- NEBULAOS_RAW_CONTACT_COMPARE: X/Y are not allowed - it uses the fixed reference point
- NEBULAOS_RAW_CONTACT_COMPARE: calibrate the load cell first - manual is the reference
- NEBULAOS_RAW_CONTACT_COMPARE: home all axes first
- NEBULAOS_RAW_CONTACT_COMPARE: needs an established probe Z offset (bounded floor)
- NEBULAOS_RAW_CONTACT_COMPARE: no load cell probe
- NEBULAOS_Z_OFFSET_CALIBRATE: no X=/Y= given, no reference_x/reference_y configured on [nebulaos_calibration], and no [z_compensate] reference point is available - specify X= Y= explicitly
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
No-motion load cell health check (G83b): idle noise, drift, sample rate, saturation and stuck-signal checks on raw ADC counts
| Module | extras/nebulaos_z_offset_probe.py |
| Handler | cmd_raw_contact_diagnostic |
| Registration | command |
| Test | none |
| Side effects | gcode, hardware |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
SECONDS |
float | 2.0 |
minval 0.5, maxval 10.0 |
Example invocation
NEBULAOS_RAW_CONTACT_DIAGNOSTIC
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
No-motion: capture the empty-bed load cell reference for weight-free contact (G83b) and save it (SAVE_CONFIG). The bed must be empty.
| Module | extras/nebulaos_z_offset_probe.py |
| Handler | cmd_raw_contact_reference |
| Registration | command |
| Test | none |
| Side effects | gcode, hardware, files, persistent |
Parameters: none.
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
- Changes state that survives a restart
Stage a TMC autotune motor/goal for a stepper (then SAVE_CONFIG)
| Module | extras/nebulaos_tmc_autotune.py |
| Handler | cmd_NEBULAOS_TMC_AUTOTUNE |
| Registration | command |
| Test | extras/test_nebulaos_tmc_autotune.py |
| Side effects | hardware |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
GOAL |
string | auto |
- |
MOTOR |
string | "" |
- |
REMOVE |
int | 0 |
minval 0, maxval 1 |
STEPPER |
string | "" |
- |
Example invocation
NEBULAOS_TMC_AUTOTUNE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
- STEPPER must name one stepper
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Z offset adjustment, saved and applied at every start: DELTA= adjusts (Z homed), RESET=1 sets 0, APPLY=1 applies the saved value again, MARK=1 / RESUME=1 for PAUSE / RESUME, no parameter reports it
| Module | extras/nebulaos_z_adjust.py |
| Handler | cmd_z_adjust |
| Registration | command |
| Test | extras/test_nebulaos_z_adjust.py |
| Side effects | gcode, files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
APPLY |
int | 0 |
- |
DELTA |
float | none |
- |
MARK |
int | 0 |
- |
RESET |
int | 0 |
- |
RESUME |
int | 0 |
- |
Example invocation
NEBULAOS_Z_ADJUST
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes or deletes files on the printer
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
(script built at runtime)
Run a linux shell command
| Module | extras/gcode_shell_command.py |
| Handler | name |
| Registration | mux command |
| Test | none |
| Side effects | gcode, files, hardware |
Parameters: none.
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes or deletes files on the printer
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
| Module | extras/calibrate_shaper_config.py |
| Handler | cmd_save_input_shaper |
| Registration | command |
| Test | none |
| Side effects | config, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
SHAPER_FREQ_X |
float | the shaper_freq_x config option |
minval 0.0 |
SHAPER_FREQ_Y |
float | the shaper_freq_y config option |
minval 0.0 |
SHAPER_TYPE_X |
string | the shaper_type_x config option |
- |
SHAPER_TYPE_Y |
string | the shaper_type_y config option |
- |
Example invocation
SAVE_INPUT_SHAPER
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Changes the saved Klipper configuration
- Changes state that survives a restart
Set the value of an output pin (the bed warp soak switch is remembered across Klipper restarts)
| Module | extras/nebulaos_bed_soak.py |
| Handler | _cmd_set_pin |
| Registration | command |
| Test | extras/test_nebulaos_bed_soak.py |
| Side effects | hardware, files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
PIN |
string | "" |
- |
VALUE |
float | 0.0 |
- |
Example invocation
SET_PIN
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
- Changes state that survives a restart
Set the value of an output pin
| Module | extras/virtual_pins.py |
| Handler | _name |
| Registration | mux command |
| Test | none |
| Side effects | hardware |
Parameters: none.
Side effects
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Pause (ENABLE=0) or resume (ENABLE=1) the periodic TMC driver status refresh; without ENABLE reports the state
| Module | extras/tmcstatus.py |
| Handler | cmd_TMCSTATUS |
| Registration | command |
| Test | extras/test_tmcstatus.py |
| Side effects | reports only |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ENABLE |
int | none |
minval 0, maxval 1 |
Example invocation
TMCSTATUS
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Reports only - no effect found when the handler and the objects it calls were read
Adjust the probe's z_offset (the saved NebulaOS Z offset adjustment is folded in and set to 0)
| Module | extras/nebulaos_z_adjust.py |
| Handler | _cmd_apply_probe |
| Registration | command |
| Test | extras/test_nebulaos_z_adjust.py |
| Side effects | files, persistent |
Parameters: none.
Side effects
- Writes or deletes files on the printer
- Changes state that survives a restart
Guided geometry calibration: nozzle clean, localized Z-offset, upstream bed mesh, one SAVE_CONFIG+restart. PID tuning is separate (PID_BED/PID_HOTEND). Axis Twist is NOT included.
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_auto_calibrate |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | gcode, hardware, files, config, persistent |
Parameters: none.
Errors raised
- NEBULAOS_AUTO_CALIBRATE: a calibration is already in progress
- NEBULAOS_AUTO_CALIBRATE: cancelled by NEBULAOS_CALIBRATION_CANCEL
- NEBULAOS_AUTO_CALIBRATE: final validation failed - no bed_mesh profile is active after BED_MESH_CALIBRATE
- NEBULAOS_AUTO_CALIBRATE: no [nebulaos_z_offset_probe] is configured on this printer
- NEBULAOS_Z_OFFSET_CALIBRATE: no X=/Y= given, no reference_x/reference_y configured on [nebulaos_calibration], and no [z_compensate] reference point is available - specify X= Y= explicitly
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
- Changes the saved Klipper configuration
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
(script built at runtime)TURN_OFF_HEATERS
Guided bed tramming: measures the four corners and says what to adjust, one corner at a time. MOUNT=rigid|adjustable sets the bed mount; CONFIRM=1 after an adjustment measures again
| Module | extras/nebulaos_bed_tram.py |
| Handler | cmd_tram |
| Registration | command |
| Test | extras/test_nebulaos_bed_tram.py |
| Side effects | gcode, hardware, files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
CONFIRM |
int | 0 |
- |
MOUNT |
string | none |
- |
Example invocation
_NEBULAOS_BED_TRAM
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- (message built at runtime)
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
(script built at runtime)G28
Cancel guided bed tramming
| Module | extras/nebulaos_bed_tram.py |
| Handler | cmd_cancel |
| Registration | command |
| Test | extras/test_nebulaos_bed_tram.py |
| Side effects | files |
Parameters: none.
Errors raised
- No bed tramming is in progress
Side effects
- Writes or deletes files on the printer
Request cancellation of an in-progress NEBULAOS_AUTO_CALIBRATE - takes effect at the next stage boundary, never mid-stage
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_calibration_cancel |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | files |
Parameters: none.
Errors raised
- NEBULAOS_CALIBRATION_CANCEL: no NEBULAOS_AUTO_CALIBRATE is currently running
Side effects
- Writes or deletes files on the printer
Guided E-Steps (rotation_distance) calibration - call with no params to start (heats and waits for you to mark the filament), CONTINUE=1 to extrude the commanded length, MEASURED= to apply the result. EXTRUDER= to target a non-default extruder (default 'extruder').
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_esteps_calibrate |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | gcode, hardware |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
CONTINUE |
int | 0 |
- |
EXTRUDER |
string | extruder |
- |
MEASURED |
float | none |
- |
Example invocation
_NEBULAOS_ESTEPS_CALIBRATE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
G-code this handler runs, where the source states it literally:
(script built at runtime)G92 E0M82
Cancel an in-progress E-Steps calibration
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_esteps_cancel |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | files |
Parameters: none.
Errors raised
- No E-Steps calibration is in progress to cancel
Side effects
- Writes or deletes files on the printer
Confirm and persist a pending E-Steps result
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_esteps_confirm |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | config, persistent |
Parameters: none.
Errors raised
- No E-Steps result is waiting for confirmation
Side effects
- Changes the saved Klipper configuration
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
(script built at runtime)SAVE_CONFIG
Guided Input Shaper calibration for a MOVABLE clip-on accelerometer - call with no params to home and preflight; call again with CONTINUE=1 once it's mounted on the TOOLHEAD (measures X); call a third time with CONTINUE=1 once it's been moved to the BED (measures Y, then commits with SAVE_CONFIG+restart). GRAPHS=1 draws a graph of each axis (default GRAPHS=0; the screen asks)
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_input_shaper_calibrate |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | gcode, hardware, files |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
CONTINUE |
int | 0 |
- |
Example invocation
_NEBULAOS_INPUT_SHAPER_CALIBRATE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- NEBULAOS_INPUT_SHAPER_CALIBRATE: no [input_shaper] is configured on this printer
- NEBULAOS_INPUT_SHAPER_CALIBRATE: no [resonance_tester] is configured on this printer
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
G-code this handler runs, where the source states it literally:
(script built at runtime)G28SAVE_CONFIG
Cancel an in-progress Input Shaper calibration
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_input_shaper_cancel |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | files |
Parameters: none.
Errors raised
- No Input Shaper calibration is in progress to cancel
Side effects
- Writes or deletes files on the printer
Guided load cell calibration with a water bottle - call with no params to start; CHECK=1 (empty bed), ADJUST=<+-g> / WEIGH=1 or GRAMS= (bottle on), NEXT=1 (next step), MEASURE=1 (finger test), ACCEPT=1 (save)
| Module | extras/nebulaos_load_cell_calibration.py |
| Handler | cmd_calibrate |
| Registration | command |
| Test | extras/test_nebulaos_load_cell_calibration.py |
| Side effects | gcode, hardware, files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
ACCEPT |
int | 0 |
- |
ADJUST |
int | none |
- |
CHECK |
int | 0 |
- |
GRAMS |
float | none |
- |
MEASURE |
int | 0 |
- |
NEXT |
int | 0 |
- |
TARE |
int | 0 |
- |
WEIGH |
int | 0 |
- |
Example invocation
_NEBULAOS_LOAD_CELL_CALIBRATE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
SAVE_CONFIG
Cancel the guided load cell calibration - nothing is changed
| Module | extras/nebulaos_load_cell_calibration.py |
| Handler | cmd_cancel |
| Registration | command |
| Test | extras/test_nebulaos_load_cell_calibration.py |
| Side effects | files |
Parameters: none.
Errors raised
- No load cell calibration is in progress
Side effects
- Writes or deletes files on the printer
Wipe the nozzle before Z-offset calibration
| Module | extras/z_compensate.py |
| Handler | cmd_nozzle_clear |
| Registration | command |
| Test | none |
| Side effects | gcode, hardware |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
BED_ADDTEMP |
float | the bed_add_temp config option |
- |
HOT_END_TEMP |
float | the hot_end_temp config option |
- |
HOT_RUB_TEMP |
float | the hot_rub_temp config option |
- |
HOT_START_TEMP |
float | the hot_start_temp config option |
- |
Example invocation
_NEBULAOS_NOZZLE_CLEAN
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
Internal to NEBULAOS_PLR_RESUME
| Module | extras/nebulaos_power_loss_recovery.py |
| Handler | cmd_NEBULAOS_PLR_LOAD_MESH |
| Registration | command |
| Test | extras/test_nebulaos_power_loss_recovery.py |
| Side effects | gcode |
Parameters: none.
Errors raised
- (message built at runtime)
- NebulaOS PLR: no [bed_mesh] to restore the recorded mesh into
- _NEBULAOS_PLR_LOAD_MESH is internal to NEBULAOS_PLR_RESUME
Side effects
- Runs G-code - can move the machine or change temperatures
Internal to NEBULAOS_PLR_RESUME PHYSICAL=1
| Module | extras/nebulaos_power_loss_recovery.py |
| Handler | cmd_NEBULAOS_PLR_SET_Z |
| Registration | command |
| Test | extras/test_nebulaos_power_loss_recovery.py |
| Side effects | gcode |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
Z |
float | required | above 0.0 |
Example invocation
_NEBULAOS_PLR_SET_Z Z=<float>
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- _NEBULAOS_PLR_SET_Z is internal to NEBULAOS_PLR_RESUME PHYSICAL=1
Side effects
- Runs G-code - can move the machine or change temperatures
END_PRINT/CANCEL_PRINT: put the timelapse frames from before a power loss back in front
| Module | extras/nebulaos_power_loss_recovery.py |
| Handler | cmd_NEBULAOS_PLR_TIMELAPSE_MERGE |
| Registration | command |
| Test | extras/test_nebulaos_power_loss_recovery.py |
| Side effects | files |
Parameters: none.
Side effects
- Writes or deletes files on the printer
Calibrate the BLTouch Z-offset via the local secondary load cell - for a manual calibration, use pristine upstream PROBE_CALIBRATE directly. SIMULATE_BOOTSTRAP=1 ENVELOPE= qualifies the BOOTSTRAP contact path on an already-calibrated unit without applying or staging anything - see NEBULAOS_CALIBRATION_STATUS's bootstrap_sim_* fields
| Module | extras/nebulaos_calibration.py |
| Handler | cmd_z_offset_calibrate |
| Registration | command |
| Test | extras/test_nebulaos_calibration.py |
| Side effects | gcode, hardware, files, persistent |
Parameters
| Parameter | Type | Default | Valid range |
|---|---|---|---|
SIMULATE_BOOTSTRAP |
int | 0 |
- |
Example invocation
_NEBULAOS_Z_OFFSET_CALIBRATE
Constructed from the required parameters above. Optional parameters are omitted; their defaults are in the table.
Errors raised
- NEBULAOS_Z_OFFSET_CALIBRATE SIMULATE_BOOTSTRAP=1 requires ENVELOPE= - this is a qualification aid for determining bootstrap_contact_envelope_mm itself, so it never falls back to a config default
- NEBULAOS_Z_OFFSET_CALIBRATE: no X=/Y= given, no reference_x/reference_y configured on [nebulaos_calibration], and no [z_compensate] reference point is available - specify X= Y= explicitly
- NEBULAOS_Z_OFFSET_CALIBRATE: no [nebulaos_z_offset_probe] is configured on this printer - use stock PROBE_CALIBRATE instead, or add [nebulaos_z_offset_probe] to printer.cfg
Side effects
- Runs G-code - can move the machine or change temperatures
- Writes hardware directly (sysfs, PWM, I2C or EEPROM)
- Writes or deletes files on the printer
- Changes state that survives a restart
G-code this handler runs, where the source states it literally:
SAVE_CONFIG