CreatBotMoonraker/docs/printer_objects.md
Eric Callahan 1117890327
docs: update changelog
Also add a warning to the "webhooks" printer object description
stating that it should not be used to receive async "ready"
updates.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-07 10:31:56 -05:00

75 KiB

Printer Objects

/// Note For the most complete and up to date list of Klipper printer objects available for query please see Klipper's Status Reference. The objects outlined in this document are subset of all objects available. In addition it is possible that the object specifications here are out of date relative to the latest commit pushed to Klipper's GitHub repo.

The Printer Object Specifications in this document are current as of Klipper Version v0.12.0-430-g329fbd01d. ///

As mentioned in the API documentation, it is possible to query or subscribe to "Klipper Printer Objects." There are numerous printer objects in Klipper, many of which are optional and only report status if they are enabled by Klipper's configuration. Clients may retrieve a list of available printer objects via the list objects endpoint. This should be done after Klipper reports its state as "ready".

/// Tip There may be printer objects not documented here or in Klipper's Status Reference. Developers interested in the state for such objects will need to view Klippy's Python source to determine the nature of the values reported.

Look for a get_status() class method. The returned dict will indicate the fields reported by the object. ///

/// Tip Positional coordinates are expressed as 4 element float arrays. The format is [X, Y, Z, E]. ///

webhooks

/// warning Websocket and Unix Socket subscribers to the webhooks object should not rely on it for asynchronous startup, ready, or error state updates. By the time Moonraker has established a connection to Klipper it is possible that the webhooks state is already beyond the startup phase.

MQTT subscriptions will publish the first state detected after Klippy exits the startup phase. ///

{
  "state": "startup",
  "state_message": "message"
}
Field Type Description
state string The current state
reported by Klipper.
state_message string A message describing current state.
{ #webhooks-object-spec } Webhooks Object

motion_report

{
    "live_position": [0, 0, 0, 0],
    "live_velocity": 0,
    "live_extruder_velocity": 0,
    "steppers": [
        "extruder",
        "stepper_x",
        "stepper_y",
        "stepper_z"
    ],
    "trapq": [
        "extruder",
        "toolhead"
    ]
}
Field Type Description
live_position [float] The estimated real world position of the tool
at the time of the query.
love_velocity float The estimated real world velocity of the tool
at the time of the query.
live_extruder_velocity float The estimated real world velocity of the
active extruder at the time of the query.
steppers [string] An array of registered stepper names.
trapq [string] An array of registered trapq objects.
{ #motion-report-object-spec } Motion Report Object

gcode_move

{
    "speed_factor": 1.0,
    "speed": 100.0,
    "extrude_factor": 1.0,
    "absolute_coordinates": true,
    "absolute_extrude": false,
    "homing_origin": [0.0, 0.0, 0.0, 0.0],
    "position": [0.0, 0.0, 0.0, 0.0],
    "gcode_position": [0.0, 0.0, 0.0, 0.0]
}
Field Type Description
speed_factor float A speed multiplier applied to the move. Also
known as "feedrate percentage".
speed float Speed of the most recently processed gcode
move command in mm/s.
extruder_factor float An extrusion multiplier applied to the move.
absolute_coordinates bool True if the move is in absolute coordinates,
false if the move is relative.
absolute_extrude bool True if the extrusion move is in absolute
coordinates, false if relative.
homing_origin [float] A coordinate representing the amount of gcode
offset applied to each axis.
position [float] The current position after offsets are
applied.
gcode_position [float] The current position without any offsets.
{ #gcode-move-object-spec } GCode Move Object

/// Note The printer's actual movement will lag behind the reported positional coordinates due to lookahead. ///

toolhead

{
    "homed_axes": "xyz",
    "axis_minimum": [0, -4, -2, 0],
    "axis_maximum": [250, 210, 220, 0],
    "print_time": 0.25,
    "stalls": 0,
    "estimated_print_time": 0,
    "extruder": "extruder",
    "position": [0, 0, 0, 0],
    "max_velocity": 300,
    "max_accel": 1500,
    "minimum_cruise_ratio": 0.5,
    "square_corner_velocity": 5
}
Field Type Description
homed_axes string The current homed axes. Will be an empty string
if no axes are homed.
axis_minimum [float] A coordinate indicating the minimum valid move
location.
axis_maximum [float] A coordinate indicating the maximum valid move
location.
cone_start_z float Available for Delta printers only. The value is
the maximum z height at the maximum radius.
print_time float An internal value Klipper uses for scheduling
commands.
estimated_print_time float An internal value Klipper uses for scheduling
commands.
extruder string The name of the currently selected extruder.
position [float] A coordinate indicating the commanded position
of the toolhead.
max_velocity float The current maximum velocity limit.
max_accel float The current maximum acceleration limit.
minimum_cruise_ratio float The current minimum cruise ratio. This ratio
enforces the minimum portion of a move that
must occur at cruising speed.
square_corner_velocity float The current square corner velocity. This is the
maximum velocity the tool may travel a 90
degree corner.
{ #toolhead-object-spec } Toolhead Object

/// tip The max_velocity, max_accel, minimum_cruise_ratio, and square_corner_velocity can be changed by the SET_VELOCITY_LIMIT gcode command. Their default values may be configured the [printer] section of Klipper's printer.cfg. ///

configfile

/// collapse-code

{
    "config": {
        "mcu": {
            "serial": "/dev/serial/by-id/usb"
        },
        "exclude_object": {},
        "printer": {
            "kinematics": "cartesian",
            "max_velocity": "300",
            "max_accel": "1500",
            "max_z_velocity": "15",
            "max_z_accel": "200"
        },
        "stepper_x": {
            "microsteps": "16",
            "step_pin": "PC0",
            "dir_pin": "!PL0",
            "enable_pin": "!PA7",
            "rotation_distance": "32",
            "endstop_pin": "!PK2",
            "position_endstop": "0",
            "position_min": "0",
            "position_max": "250",
            "homing_speed": "50",
            "homing_retract_dist": "0"
        },
        "stepper_y": {
            "microsteps": "16",
            "step_pin": "PC1",
            "dir_pin": "PL1",
            "enable_pin": "!PA6",
            "rotation_distance": "32",
            "endstop_pin": "!PK7",
            "position_endstop": "-4",
            "position_max": "210",
            "position_min": "-4",
            "homing_speed": "50",
            "homing_retract_dist": "0"
        },
        "stepper_z": {
            "microsteps": "16",
            "step_pin": "PC2",
            "dir_pin": "!PL2",
            "enable_pin": "!PA5",
            "rotation_distance": "8",
            "endstop_pin": "probe:z_virtual_endstop",
            "position_max": "220",
            "position_min": "-2",
            "homing_speed": "13.333"
        },
        "extruder": {
            "microsteps": "8",
            "step_pin": "PC3",
            "dir_pin": "PL6",
            "enable_pin": "!PA4",
            "rotation_distance": "6.53061216",
            "full_steps_per_rotation": "400",
            "nozzle_diameter": "0.4",
            "filament_diameter": "1.750",
            "max_extrude_cross_section": "50.0",
            "max_extrude_only_distance": "500.0",
            "max_extrude_only_velocity": "120.0",
            "max_extrude_only_accel": "1250.0",
            "heater_pin": "PE5",
            "sensor_type": "ATC Semitec 104GT-2",
            "sensor_pin": "PF0",
            "control": "pid",
            "pid_kp": "16.13",
            "pid_ki": "1.1625",
            "pid_kd": "56.23",
            "min_temp": "0",
            "max_temp": "305"
        },
        "heater_bed": {
            "heater_pin": "PG5",
            "sensor_type": "EPCOS 100K B57560G104F",
            "sensor_pin": "PF2",
            "control": "pid",
            "pid_kp": "126.13",
            "pid_ki": "4.3",
            "pid_kd": "924.76",
            "min_temp": "0",
            "max_temp": "125"
        },
        "verify_heater heater_bed": {
            "max_error": "240",
            "check_gain_time": "120"
        },
        "heater_fan nozzle_cooling_fan": {
            "pin": "PH5",
            "heater": "extruder",
            "heater_temp": "50.0"
        },
        "fan": {
            "pin": "PH3"
        },
        "display": {
            "lcd_type": "hd44780",
            "rs_pin": "PD5",
            "e_pin": "PF7",
            "d4_pin": "PF5",
            "d5_pin": "PG4",
            "d6_pin": "PH7",
            "d7_pin": "PG3",
            "encoder_pins": "^PJ1,^PJ2",
            "click_pin": "^!PH6"
        },
        "pause_resume": {},
        "virtual_sdcard": {
            "path": "~/printer_data/gcodes"
        },
        "respond": {
            "default_type": "command"
        },
        "probe": {
            "pin": "PB4",
            "x_offset": "23",
            "y_offset": "5",
            "z_offset": "0.8",
            "speed": "12.0"
        },
        "bed_mesh": {
            "speed": "140",
            "horizontal_move_z": "2",
            "mesh_min": "24, 6",
            "mesh_max": "238, 210",
            "probe_count": "7",
            "mesh_pps": "2",
            "fade_start": "1",
            "fade_end": "10",
            "fade_target": "0",
            "move_check_distance": "15",
            "algorithm": "bicubic",
            "bicubic_tension": ".2",
            "zero_reference_position": "154.0, 113.0",
            "faulty_region_1_min": "116.75, 41.81",
            "faulty_region_1_max": "133.25, 78.81",
            "faulty_region_2_min": "156.5, 99.31",
            "faulty_region_2_max": "193.5, 115.81",
            "faulty_region_3_min": "116.75, 136.21",
            "faulty_region_3_max": "133.25, 173.31"
        },
        "homing_override": {
            "gcode": "\nG1 Z3 F600\nG28 X0 Y0\nG1 X131 Y108 F5000\nG28 Z0",
            "axes": "Z",
            "set_position_x": "0",
            "set_position_y": "0",
            "set_position_z": "0"
        },
        "output_pin BEEPER_pin": {
            "pin": "PH2",
            "pwm": "True",
            "value": "0",
            "shutdown_value": "0",
            "cycle_time": "0.001",
            "scale": "1000"
        },
        "force_move": {
            "enable_force_move": "True"
        },
        "idle_timeout": {
            "gcode": "\nM104 S0\nM84"
        },
        "gcode_macro PAUSE": {
            "rename_existing": "BASE_PAUSE",
            "gcode": "\n{% if not printer.pause_resume.is_paused %}\nM600\n{% endif %}"
        },
        "gcode_macro M600": {
            "variable_extr_temp": "0",
            "gcode": "\n{% set X = params.X|default(100) %}\n{% set Y = params.Y|default(100) %}\n{% set Z = params.Z|default(100) %}\nBASE_PAUSE\nSET_GCODE_VARIABLE MACRO=M600 VARIABLE=extr_temp VALUE={printer.extruder.target}\nG91\n{% if printer.extruder.temperature|float > 180 %}\nG1 E-.8 F2700\n{% endif %}\nG1 Z{Z}\nG90\nG1 X{X} Y{Y} F3000"
        },
        "gcode_macro RESUME": {
            "rename_existing": "BASE_RESUME",
            "gcode": "\n{% if printer.pause_resume.is_paused %}\n{% if printer[\"gcode_macro M600\"].extr_temp %}\nM109 S{printer[\"gcode_macro M600\"].extr_temp}\n{% endif %}\nBASE_RESUME\n{% endif %}"
        }
    },
    "warnings": [],
    "save_config_pending": false,
    "save_config_pending_items": {},
    "settings": {
        "mcu": {
            "serial": "/dev/serial/by-id/usb",
            "baud": 250000,
            "max_stepper_error": 0.000025
        },
        "heater_bed": {
            "sensor_type": "EPCOS 100K B57560G104F",
            "pullup_resistor": 4700,
            "inline_resistor": 0,
            "sensor_pin": "PF2",
            "min_temp": 0,
            "max_temp": 125,
            "min_extrude_temp": 170,
            "max_power": 1,
            "smooth_time": 1,
            "control": "pid",
            "pid_kp": 126.13,
            "pid_ki": 4.3,
            "pid_kd": 924.76,
            "heater_pin": "PG5",
            "pwm_cycle_time": 0.1
        },
        "verify_heater heater_bed": {
            "hysteresis": 5,
            "max_error": 240,
            "heating_gain": 2,
            "check_gain_time": 120
        },
        "heater_fan nozzle_cooling_fan": {
            "heater": [
                "extruder"
            ],
            "heater_temp": 50,
            "max_power": 1,
            "kick_start_time": 0.1,
            "off_below": 0,
            "cycle_time": 0.01,
            "hardware_pwm": false,
            "shutdown_speed": 1,
            "pin": "PH5",
            "fan_speed": 1
        },
        "fan": {
            "max_power": 1,
            "kick_start_time": 0.1,
            "off_below": 0,
            "cycle_time": 0.01,
            "hardware_pwm": false,
            "shutdown_speed": 0,
            "pin": "PH3"
        },
        "display": {
            "lcd_type": "hd44780",
            "rs_pin": "PD5",
            "e_pin": "PF7",
            "d4_pin": "PF5",
            "d5_pin": "PG4",
            "d6_pin": "PH7",
            "d7_pin": "PG3",
            "hd44780_protocol_init": true,
            "line_length": 20,
            "menu_root": "__main",
            "menu_timeout": 0,
            "menu_reverse_navigation": false,
            "encoder_pins": "^PJ1,^PJ2",
            "encoder_steps_per_detent": 4,
            "encoder_fast_rate": 0.03,
            "click_pin": "^!PH6",
            "display_group": "_default_20x4"
        },
        "pause_resume": {
            "recover_velocity": 50
        },
        "virtual_sdcard": {
            "path": "~/printer_data/gcodes",
            "on_error_gcode": "\n{% if 'heaters' in printer %}\n   TURN_OFF_HEATERS\n{% endif %}\n"
        },
        "respond": {
            "default_type": "command",
            "default_prefix": "//"
        },
        "probe": {
            "z_offset": 0.8,
            "deactivate_on_each_sample": true,
            "activate_gcode": "",
            "deactivate_gcode": "",
            "pin": "PB4",
            "x_offset": 23,
            "y_offset": 5,
            "speed": 12,
            "lift_speed": 12,
            "samples": 1,
            "sample_retract_dist": 2,
            "samples_result": "average",
            "samples_tolerance": 0.1,
            "samples_tolerance_retries": 0
        },
        "bed_mesh": {
            "adaptive_margin": 0,
            "probe_count": [
                7
            ],
            "mesh_min": [
                24,
                6
            ],
            "mesh_max": [
                238,
                210
            ],
            "mesh_pps": [
                2
            ],
            "algorithm": "bicubic",
            "bicubic_tension": 0.2,
            "scan_overshoot": 0,
            "zero_reference_position": [
                154,
                113
            ],
            "horizontal_move_z": 2,
            "speed": 140,
            "faulty_region_1_min": [
                116.75,
                41.81
            ],
            "faulty_region_1_max": [
                133.25,
                78.81
            ],
            "faulty_region_2_min": [
                156.5,
                99.31
            ],
            "faulty_region_2_max": [
                193.5,
                115.81
            ],
            "faulty_region_3_min": [
                116.75,
                136.21
            ],
            "faulty_region_3_max": [
                133.25,
                173.31
            ],
            "fade_start": 1,
            "fade_end": 10,
            "fade_target": 0,
            "split_delta_z": 0.025,
            "move_check_distance": 15
        },
        "homing_override": {
            "set_position_x": 0,
            "set_position_y": 0,
            "set_position_z": 0,
            "axes": "Z",
            "gcode": "\nG1 Z3 F600\nG28 X0 Y0\nG1 X131 Y108 F5000\nG28 Z0"
        },
        "output_pin beeper_pin": {
            "pwm": true,
            "pin": "PH2",
            "cycle_time": 0.001,
            "hardware_pwm": false,
            "scale": 1000,
            "value": 0,
            "shutdown_value": 0
        },
        "force_move": {
            "enable_force_move": true
        },
        "idle_timeout": {
            "timeout": 600,
            "gcode": "\nM104 S0\nM84"
        },
        "gcode_macro pause": {
            "gcode": "\n{% if not printer.pause_resume.is_paused %}\nM600\n{% endif %}",
            "rename_existing": "BASE_PAUSE",
            "description": "G-Code macro"
        },
        "gcode_macro m600": {
            "gcode": "\n{% set X = params.X|default(100) %}\n{% set Y = params.Y|default(100) %}\n{% set Z = params.Z|default(100) %}\nBASE_PAUSE\nSET_GCODE_VARIABLE MACRO=M600 VARIABLE=extr_temp VALUE={printer.extruder.target}\nG91\n{% if printer.extruder.temperature|float > 180 %}\nG1 E-.8 F2700\n{% endif %}\nG1 Z{Z}\nG90\nG1 X{X} Y{Y} F3000",
            "description": "G-Code macro",
            "variable_extr_temp": "0"
        },
        "gcode_macro resume": {
            "gcode": "\n{% if printer.pause_resume.is_paused %}\n{% if printer[\"gcode_macro M600\"].extr_temp %}\nM109 S{printer[\"gcode_macro M600\"].extr_temp}\n{% endif %}\nBASE_RESUME\n{% endif %}",
            "rename_existing": "BASE_RESUME",
            "description": "G-Code macro"
        },
        "printer": {
            "max_velocity": 300,
            "max_accel": 1500,
            "minimum_cruise_ratio": 0.5,
            "square_corner_velocity": 5,
            "kinematics": "cartesian",
            "max_z_velocity": 15,
            "max_z_accel": 200
        },
        "stepper_x": {
            "step_pin": "PC0",
            "dir_pin": "!PL0",
            "rotation_distance": 32,
            "microsteps": 16,
            "full_steps_per_rotation": 200,
            "gear_ratio": [],
            "enable_pin": "!PA7",
            "endstop_pin": "!PK2",
            "position_endstop": 0,
            "position_min": 0,
            "position_max": 250,
            "homing_speed": 50,
            "second_homing_speed": 25,
            "homing_retract_speed": 50,
            "homing_retract_dist": 0,
            "homing_positive_dir": false
        },
        "stepper_y": {
            "step_pin": "PC1",
            "dir_pin": "PL1",
            "rotation_distance": 32,
            "microsteps": 16,
            "full_steps_per_rotation": 200,
            "gear_ratio": [],
            "enable_pin": "!PA6",
            "endstop_pin": "!PK7",
            "position_endstop": -4,
            "position_min": -4,
            "position_max": 210,
            "homing_speed": 50,
            "second_homing_speed": 25,
            "homing_retract_speed": 50,
            "homing_retract_dist": 0,
            "homing_positive_dir": false
        },
        "stepper_z": {
            "step_pin": "PC2",
            "dir_pin": "!PL2",
            "rotation_distance": 8,
            "microsteps": 16,
            "full_steps_per_rotation": 200,
            "gear_ratio": [],
            "enable_pin": "!PA5",
            "endstop_pin": "probe:z_virtual_endstop",
            "position_min": -2,
            "position_max": 220,
            "homing_speed": 13.333,
            "second_homing_speed": 6.6665,
            "homing_retract_speed": 13.333,
            "homing_retract_dist": 5,
            "homing_positive_dir": false
        },
        "extruder": {
            "sensor_type": "ATC Semitec 104GT-2",
            "pullup_resistor": 4700,
            "inline_resistor": 0,
            "sensor_pin": "PF0",
            "min_temp": 0,
            "max_temp": 305,
            "min_extrude_temp": 170,
            "max_power": 1,
            "smooth_time": 1,
            "control": "pid",
            "pid_kp": 16.13,
            "pid_ki": 1.1625,
            "pid_kd": 56.23,
            "heater_pin": "PE5",
            "pwm_cycle_time": 0.1,
            "nozzle_diameter": 0.4,
            "filament_diameter": 1.75,
            "max_extrude_cross_section": 50,
            "max_extrude_only_velocity": 120,
            "max_extrude_only_accel": 1250,
            "max_extrude_only_distance": 500,
            "instantaneous_corner_velocity": 1,
            "step_pin": "PC3",
            "pressure_advance": 0,
            "pressure_advance_smooth_time": 0.04,
            "dir_pin": "PL6",
            "rotation_distance": 6.53061216,
            "microsteps": 8,
            "full_steps_per_rotation": 400,
            "gear_ratio": [],
            "enable_pin": "!PA4"
        },
        "verify_heater extruder": {
            "hysteresis": 5,
            "max_error": 120,
            "heating_gain": 2,
            "check_gain_time": 20
        }
    }
}

///

Field Type Description
config object An object containing the raw config as parsed
from Klipper's config file. The keys are
section names, the value for each section is
an object containing option: value pairs.
The values for each option will always be
strings.
settings object An object containing the parsed configuration
for all loaded Klipper objects. Each key
is a Klipper object name, the values are
objects containing setting: value pairs.
The values will be converted to the type requested
during parsing. Settings with default values
may be present without a corresponding option
in the config. It is also possible
for an entire Klipper object to exist without
a corresponding section in the config.
save_config_pending bool A value of true indicates that a save_config
action is pending a restart before writing the
updated options to the config file.
save_config_pending_items object An object containing the items pending for write
when save_config_pending is true.
warnings [string] An array of strings describing issues encountered
when the configuration file was parsed.
{ # configfile-object-spec} Configfile Object

/// warning The configfile object has the potential to be very large. Client software running on devices with limited memory (such as embedded devices) may have issues querying this object. ///

extruder

Enabled when [extruder] is included in printer.cfg

/// note If multiple extruders are configured, extruder 0 is available as extruder, extruder 1 as extruder1 and so on. ///

{
    "temperature": 0,
    "target": 0,
    "power": 0,
    "can_extrude": true,
    "pressure_advance": 0,
    "smooth_time": 0.04,
    "motion_queue": null
}
Field Type Description
temperature float The extruder's current temperature in C.
target float The extruder's requested target temperature in C.
power float The current pwm value applied to the extruder's
heater. This value should be in a range from 0.0
to 1.0.
can_extrude bool A value of true indicates that the current
temperature is above the minimum extrusion temp.
pressure_advance float The extruder's current pressure advance value.
smooth_time float The currently set time range to use when
calculating the average extruder velocity for
pressure advance.
motion_queue string | null The name of the extruder the stepper is
synchronized to. Will be null if the stepper is
not synced with another extruder.
{ #extruder-object-spec } Extruder Object

heater_bed

Enabled when [heater_bed] is included in printer.cfg

{
    "temperature": 0.0,
    "target": 0.0,
    "power": 0.0,
}
Field Type Description
temperature float The current temperature of the bed.
target float The target temperature of the bed.
power float The current pwm value applied to the heater. The
value should be in the range from 0.0 to 1.0.
{ #heater-bed-object-spec } Heater Bed Object

fan

Enabled when [fan] is included in printer.cfg

{
    "speed": 0.0,
    "rpm": 4000
}
Field Type Description
speed float The current fan speed. This is reported as a percentage
with a range from 0.0 to 1.0
rpm int | null The fan's revolutions per minute if the tachometer pin
has been configured. Will report null when the tach
pin is not configured.
{ #fan-object-spec } Fan Object

idle_timeout

{
   "state": "Idle",
   "printing_time": 0.0
}
Field Type Description
state string The current state as reported
by the idle timeout module.
printing_time float The amount of time, in seconds, that idle timeout has
reported a Printing state. Will be reset to 0 when
the state transitions from Printing to Ready.
{ #idle-timeout-object-spec } Idle Timeout Object
State Description
Printing The printer is busy. This indicates that some action has
been scheduled, such as a move command.
Ready The printer is no longer active and waiting for more activity
or for the idle timeout to expire.
Idle The printer has been inactive for a period of time longer
than the configured idle timeout.
{ #idle-timeout-state-desc} Idle Timeout State

/// Tip The idle_timeout state field should not be used to determine if Klipper is "printing" a file, as the state will report Printing when executing manual commands. ///

virtual_sdcard

Enabled when [virtual_sdcard] is included in printer.cfg

{
    "file_path": null,
    "progress": 0,
    "is_active": false,
    "file_position": 0,
    "file_size": 0
}
Field Type Description
file_path string | null The full absolute path of the currently loaded
file. Will be null if no file is loaded.
progress float The current file progress reported as a
percentage. Valid range is 0.0 to 1.0.
is_active bool When true the virtual sdcard is actively
processing a file.
file_position int The current file position in bytes.
file_size int The file size of the currently loaded
file in bytes.
{ #virtual-sdcard-object-spec } Virtual SDCard Object

/// Note The value for most fields will persist after a print has paused, completed, or errored. They are cleared when the user issues a SDCARD_RESET_FILE gcode or when a new print has started. ///

print_stats

Enabled when [virtual_sdcard] is included in printer.cfg

{
    "filename": "",
    "total_duration": 0.0,
    "print_duration": 0.0,
    "filament_used": 0.0,
    "state": "standby",
    "message": "",
    "info": {
        "total_layer": null,
        "current_layer": null
    }
}
Field Type Description
filename string The path to the currently loaded file relative to
the configured gcode folder. Will be an empty
string if no file is loaded.
total_duration float Total job duration in seconds.
print_duration float Time spent printing the current job in seconds.
Does not include time paused.
filament_used float Amount of filament used for the current job in mm.
state string The current job state.
message string A status message set by Klipper. Will be an empty
string if no message is set.
info object A Print Stats Supplemental Info object.
#print-stats-supplemental-info-spec
{ #print-stats-object-spec } Print Stats Object
Field Type Description
total_layer int | null The total layer count of the current
job. Will be null if the total layer
count is not set.
current_layer int | null The index of the layer the job is currently
printing. Will be null of the current layer
is not set.
{#print-stats-supplemental-info-spec} Print Stats Supplemental Info
State Description
standby The printer is standing by for a job to begin.
printing A job is currently printing.
paused The current print job is paused.
complete The last print job successfully finished.
error The last print job exited with an error.
cancelled THe last print job was cancelled by the user.
{ #print-stats-state-desc } Print Stats State

/// tip The total_layer and current_layer values in the info field are set by the SET_PRINT_STATS_INFO gcode command. It is necessary to configure the slicer to include this command in the print. SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count} should be called in the slicer's "start gcode" to initialize the total layer count. SET_PRINT_STATS_INFO CURRENT_LAYER={current_layer} should be called in the slicer's "on layer change" gcode. The user must substitute the total_layer_count and current_layer with the appropriate "placeholder syntax" for the slicer. ///

/// note After a print has started all of the values reported by print_stats will persist until the user issues a SDCARD_RESET_FILE` gcode command or a new print has started. ///

display_status

Enabled when [display] or [display_status] is included in printer.cfg

{
    "message": "",
    "progress": 0.0
}
Field Type Description
message string The message set by a M117 gcode. If no message
is set this will be an empty string.
progress float Current print progress as reported by the M73
gcode command. If M73 has not been issued this
value will fall back on virtual_sdcard.progress.
This value is expressed as a percentage of progress
complete with a range from 0.0 to 1.0.
{ #display-status-object-spec } Display Status Object

/// note Progress updates via M73 commands must be received at an interval of no more than 5 seconds. M73 progress tracking has a 5 second timeout after which the progress field will fall back to the value reported by virtual_sdcard.progress. ///

temperature_sensor

Enabled when [temperature_sensor sensor_name] is included in printer.cfg. It is possible for multiple temperature sensors to be configured.

{
    "temperature": 0.0,
    "measured_min_temp": 0.0,
    "measured_max_temp": 0.0
}
Field Type Description
temperature float The sensor's current temperature reading in C.
measured_min_temp float The minimum sensor reading since the host started.
measured_max_temp float The maximum sensor reading since the host started.
{ #temp-sensor-object-spec } Temperature Sensor Object

temperature_fan

Enabled when [temperature_fan fan_name] is included in printer.cfg. It is possible for multiple temperature fans to be configured.

{
    "speed": 0.0,
    "rpm": null,
    "temperature": 0.0,
    "target": 0.0
}
Field Type Description
speed float The current fan speed. This is reported as a percentage
with a range from 0.0 to 1.0
rpm int | null The fan's revolutions per minute if the tachometer pin
has been configured. Will report null when the tach
pin is not configured.
temperature float Current temperature of the sensor associated with the fan.
target float Target temperature for the fan to enable.
{ #temp-fan-object-spec } Temperature Fan Object

filament_switch_sensor

Enabled when [filament_switch_sensor sensor_name] is included in printer.cfg. It is possible for multiple filament switch sensors to be configured.

{
    "filament_detected": false,
    "enabled": true
}
Field Type Description
filament_detected bool Reports true when filament is detected by the sensor.
enabled bool Reports true when the filament sensor is enabled.
{ #filament-switch-sensor-object-spec }

output_pin

Enabled when [output_pin pin_name] is included in printer.cfg. It is possible for multiple output pins to be configured.

{
    "value": 0.0
}
Field Type Description
value float | int The current value of the pin. Digital pins
will be 0 (off) or 1 (on). PWM pins will
report a range from 0.0 to 1.0.
{ #output-pin-object-spec } Output Pin Object

bed_mesh

Enabled when [bed_mesh] is included in printer.cfg.

/// collapse-code

{
    "profile_name": "default",
    "mesh_min": [
        24,
        6
    ],
    "mesh_max": [
        237.96,
        210
    ],
    "probed_matrix": [
        [
            -0.128919,
            -0.136419,
            -0.111419,
            -0.131419,
            -0.166419,
            -0.211419,
            -0.268919
        ],
        [
            -0.006419,
            0.021081,
            0.003581,
            -0.056419,
            -0.068919,
            -0.086419,
            -0.173919
        ],
        [
            0.001081,
            0.048581,
            0.023581,
            -0.014544,
            -0.016419,
            -0.063919,
            -0.108919
        ],
        [
            0.013581,
            0.041081,
            0.033581,
            0.006081,
            -0.008919,
            -0.036419,
            -0.076419
        ],
        [
            0.031081,
            0.076081,
            0.071081,
            0.022331,
            0.021081,
            0.013581,
            -0.036419
        ],
        [
            0.006081,
            0.053581,
            0.068581,
            0.016081,
            0.041081,
            0.023581,
            -0.001419
        ],
        [
            -0.041419,
            -0.021419,
            0.061081,
            0.068581,
            0.021081,
            0.036081,
            0.033581
        ]
    ],
    "mesh_matrix": [
        [
            -0.128919,
            -0.132067,
            -0.136049,
            -0.136419,
            -0.128826,
            -0.117623,
            -0.111419,
            -0.114197,
            -0.121975,
            -0.131419,
            -0.141604,
            -0.153456,
            -0.166419,
            -0.180215,
            -0.195123,
            -0.211419,
            -0.231789,
            -0.253549,
            -0.268919
        ],
        [
            -0.0929,
            -0.092739,
            -0.092341,
            -0.090771,
            -0.085645,
            -0.079346,
            -0.078086,
            -0.08576,
            -0.098472,
            -0.110748,
            -0.120355,
            -0.129525,
            -0.139475,
            -0.149675,
            -0.160655,
            -0.175215,
            -0.198,
            -0.224365,
            -0.243178
        ],
        [
            -0.043271,
            -0.038473,
            -0.031937,
            -0.027623,
            -0.02591,
            -0.026419,
            -0.031975,
            -0.046304,
            -0.06568,
            -0.081743,
            -0.090474,
            -0.095893,
            -0.101697,
            -0.107088,
            -0.112864,
            -0.125123,
            -0.151083,
            -0.183525,
            -0.206882
        ],
        [
            -0.006419,
            0.002377,
            0.014229,
            0.021081,
            0.020155,
            0.014229,
            0.003581,
            -0.01503,
            -0.038363,
            -0.056419,
            -0.063919,
            -0.066141,
            -0.068919,
            -0.071789,
            -0.075215,
            -0.086419,
            -0.113641,
            -0.148641,
            -0.173919
        ],
        [
            0.004414,
            0.016177,
            0.032024,
            0.041174,
            0.039035,
            0.030198,
            0.017655,
            -0.000672,
            -0.022706,
            -0.03922,
            -0.044637,
            -0.044534,
            -0.046419,
            -0.051524,
            -0.058616,
            -0.071512,
            -0.096278,
            -0.126848,
            -0.148826
        ],
        [
            0.00247,
            0.016561,
            0.03558,
            0.046822,
            0.044244,
            0.033888,
            0.021174,
            0.005504,
            -0.012524,
            -0.025701,
            -0.02868,
            -0.026807,
            -0.028919,
            -0.038547,
            -0.052159,
            -0.067993,
            -0.088391,
            -0.111011,
            -0.127067
        ],
        [
            0.001081,
            0.016081,
            0.036359,
            0.048581,
            0.046104,
            0.035572,
            0.023581,
            0.010502,
            -0.004035,
            -0.014544,
            -0.016164,
            -0.013757,
            -0.016419,
            -0.028965,
            -0.046581,
            -0.063919,
            -0.080771,
            -0.097345,
            -0.108919
        ],
        [
            0.004692,
            0.018015,
            0.03605,
            0.0471,
            0.045384,
            0.036683,
            0.026637,
            0.015674,
            0.003366,
            -0.005933,
            -0.008321,
            -0.007701,
            -0.011419,
            -0.02354,
            -0.04,
            -0.055956,
            -0.071107,
            -0.085754,
            -0.095956
        ],
        [
            0.008859,
            0.019085,
            0.032964,
            0.041729,
            0.041315,
            0.035788,
            0.028581,
            0.019667,
            0.009074,
            0.000317,
            -0.00392,
            -0.00632,
            -0.011419,
            -0.02151,
            -0.034299,
            -0.047438,
            -0.06171,
            -0.076333,
            -0.086604
        ],
        [
            0.013581,
            0.022007,
            0.033488,
            0.041081,
            0.041914,
            0.038859,
            0.033581,
            0.025433,
            0.015062,
            0.006081,
            0.000618,
            -0.003456,
            -0.008919,
            -0.016697,
            -0.025863,
            -0.036419,
            -0.050308,
            -0.065586,
            -0.076419
        ],
        [
            0.020618,
            0.030066,
            0.042971,
            0.051729,
            0.053413,
            0.050951,
            0.045525,
            0.035803,
            0.023118,
            0.012655,
            0.007137,
            0.003842,
            -0.000215,
            -0.0054,
            -0.011347,
            -0.019938,
            -0.034293,
            -0.051292,
            -0.063456
        ],
        [
            0.028211,
            0.039977,
            0.056064,
            0.0671,
            0.06958,
            0.067009,
            0.060525,
            0.047946,
            0.031454,
            0.018743,
            0.013793,
            0.012623,
            0.010988,
            0.008679,
            0.005904,
            -0.000956,
            -0.016272,
            -0.035671,
            -0.04966
        ],
        [
            0.031081,
            0.0446,
            0.063118,
            0.076081,
            0.079738,
            0.07784,
            0.071081,
            0.056312,
            0.036683,
            0.022331,
            0.018627,
            0.020201,
            0.021081,
            0.020618,
            0.019461,
            0.013581,
            -0.001789,
            -0.021882,
            -0.036419
        ],
        [
            0.026729,
            0.041019,
            0.060649,
            0.074785,
            0.07992,
            0.079562,
            0.073396,
            0.057015,
            0.034828,
            0.019738,
            0.019173,
            0.025705,
            0.02997,
            0.029346,
            0.026453,
            0.019785,
            0.005944,
            -0.011673,
            -0.024382
        ],
        [
            0.017655,
            0.032151,
            0.052141,
            0.0671,
            0.074094,
            0.076057,
            0.071266,
            0.053943,
            0.029865,
            0.014646,
            0.017897,
            0.030006,
            0.037748,
            0.035934,
            0.029752,
            0.021544,
            0.010138,
            -0.003295,
            -0.0129
        ],
        [
            0.006081,
            0.0196,
            0.038396,
            0.053581,
            0.063488,
            0.069785,
            0.068581,
            0.053211,
            0.03034,
            0.016081,
            0.020248,
            0.033025,
            0.041081,
            0.038674,
            0.031544,
            0.023581,
            0.014877,
            0.00534,
            -0.001419
        ],
        [
            -0.009845,
            0.000519,
            0.015275,
            0.029692,
            0.044726,
            0.059421,
            0.066174,
            0.058303,
            0.04249,
            0.031174,
            0.030519,
            0.034359,
            0.036637,
            0.0351,
            0.032,
            0.028025,
            0.022504,
            0.016108,
            0.011544
        ],
        [
            -0.028271,
            -0.022245,
            -0.013082,
            -0.00003,
            0.021186,
            0.04629,
            0.063211,
            0.065736,
            0.060078,
            0.052794,
            0.044416,
            0.034413,
            0.027748,
            0.027679,
            0.030949,
            0.032748,
            0.030676,
            0.027134,
            0.024507
        ],
        [
            -0.041419,
            -0.038549,
            -0.033456,
            -0.021419,
            0.004229,
            0.036822,
            0.061081,
            0.071174,
            0.072933,
            0.068581,
            0.054507,
            0.034322,
            0.021081,
            0.0221,
            0.030062,
            0.036081,
            0.036451,
            0.034877,
            0.033581
        ]
    ],
    "profiles": {
        "default": {
            "points": [
                [
                    -0.128919,
                    -0.136419,
                    -0.111419,
                    -0.131419,
                    -0.166419,
                    -0.211419,
                    -0.268919
                ],
                [
                    -0.006419,
                    0.021081,
                    0.003581,
                    -0.056419,
                    -0.068919,
                    -0.086419,
                    -0.173919
                ],
                [
                    0.001081,
                    0.048581,
                    0.023581,
                    -0.014544,
                    -0.016419,
                    -0.063919,
                    -0.108919
                ],
                [
                    0.013581,
                    0.041081,
                    0.033581,
                    0.006081,
                    -0.008919,
                    -0.036419,
                    -0.076419
                ],
                [
                    0.031081,
                    0.076081,
                    0.071081,
                    0.022331,
                    0.021081,
                    0.013581,
                    -0.036419
                ],
                [
                    0.006081,
                    0.053581,
                    0.068581,
                    0.016081,
                    0.041081,
                    0.023581,
                    -0.001419
                ],
                [
                    -0.041419,
                    -0.021419,
                    0.061081,
                    0.068581,
                    0.021081,
                    0.036081,
                    0.033581
                ]
            ],
            "mesh_params": {
                "min_x": 24,
                "max_x": 237.96,
                "min_y": 6,
                "max_y": 210,
                "x_count": 7,
                "y_count": 7,
                "mesh_x_pps": 2,
                "mesh_y_pps": 2,
                "algo": "bicubic",
                "tension": 0.5
            }
        }
    }
}

///

Field Type Description
profile_name string The name of the currently loaded profile. Will be an
empty string if no profile is loaded.
mesh_min [float] A coordinate (X,Y) indicating the minimum location
of the mesh.
mesh_max [float] A coordinate (X,Y) indicating the maximum location
of the mesh.
probed_matrix float A 2D array of Z values sampled by the probe.
mesh_matrix float A 2D array of Z values representing the interpolated
mesh.
profiles object An object, where the keys are profile names and the
values are Bed Mesh Profile objects.
#bed-mesh-profile-spec
{ #bed-mesh-object-spec } Bed Mesh Object
Field Type Description
mesh_params object A Mesh Parameters object.
#profile-mesh-params-spec
points float A 2D array of Z values sampled by the probe.
{ #bed-mesh-profile-spec } Bed Mesh Profile
Field Type Description
min_x float The minimum X coordinate probed.
max_x float The maximum X coordinate probed.
min_y float The minimum Y coordinate probed.
max_y float The maximum Y coordinate probed.
x_count int The number of probe samples taken along the X axis.
y_count int The number of probe samples taken along the Y axis.
mesh_x_pps int The number of values to interpolate between probe
samples on the X axis.
mesh_y_pps int The number of values to interpolate between probe
samples on the Y axis.
algo string The interpolation algorithm. Can be lagrange or
bicubic.
tension float The tension parameter used for the bicubic
interpolation algorithm.
{ #profile-mesh-params-spec } Mesh Parameters

/// tip See the tutorials for an example of how to use this information to generate (X,Y,Z) coordinates. ///

exclude_object

Available when [exclude_object] is configured in printer.cfg.

/// collapse-code

{
    "objects": [
        {
            "name": "HELPER_DISK_STL_(INSTANCE_1)",
            "center": [
                136.426,
                116.347
            ],
            "polygon": [
                [
                    136.614,
                    108.849
                ],
                [
                    138.112,
                    109.039
                ],
                [
                    139.541,
                    109.524
                ],
                [
                    140.844,
                    110.286
                ],
                [
                    141.968,
                    111.294
                ],
                [
                    142.868,
                    112.506
                ],
                [
                    143.506,
                    113.874
                ],
                [
                    143.858,
                    115.342
                ],
                [
                    143.921,
                    116.599
                ],
                [
                    143.719,
                    118.094
                ],
                [
                    143.324,
                    119.289
                ],
                [
                    142.595,
                    120.611
                ],
                [
                    141.616,
                    121.76
                ],
                [
                    140.427,
                    122.69
                ],
                [
                    139.076,
                    123.363
                ],
                [
                    137.617,
                    123.751
                ],
                [
                    136.362,
                    123.846
                ],
                [
                    134.862,
                    123.682
                ],
                [
                    133.425,
                    123.22
                ],
                [
                    132.109,
                    122.48
                ],
                [
                    130.969,
                    121.492
                ],
                [
                    130.185,
                    120.507
                ],
                [
                    129.478,
                    119.173
                ],
                [
                    129.053,
                    117.725
                ],
                [
                    128.927,
                    116.221
                ],
                [
                    129.104,
                    114.722
                ],
                [
                    129.577,
                    113.289
                ],
                [
                    130.328,
                    111.979
                ],
                [
                    131.326,
                    110.847
                ],
                [
                    132.318,
                    110.072
                ],
                [
                    133.658,
                    109.376
                ],
                [
                    135.109,
                    108.963
                ]
            ]
        },
        {
            "name": "HELPER_DISK_STL_(INSTANCE_2)",
            "center": [
                115.426,
                116.347
            ],
            "polygon": [
                [
                    115.615,
                    108.849
                ],
                [
                    117.113,
                    109.039
                ],
                [
                    118.542,
                    109.524
                ],
                [
                    119.639,
                    110.141
                ],
                [
                    120.796,
                    111.111
                ],
                [
                    121.736,
                    112.292
                ],
                [
                    122.42,
                    113.637
                ],
                [
                    122.821,
                    115.093
                ],
                [
                    122.922,
                    116.599
                ],
                [
                    122.774,
                    117.848
                ],
                [
                    122.325,
                    119.289
                ],
                [
                    121.596,
                    120.611
                ],
                [
                    120.617,
                    121.76
                ],
                [
                    119.428,
                    122.69
                ],
                [
                    118.077,
                    123.363
                ],
                [
                    116.618,
                    123.751
                ],
                [
                    115.363,
                    123.846
                ],
                [
                    113.863,
                    123.682
                ],
                [
                    112.426,
                    123.22
                ],
                [
                    111.11,
                    122.48
                ],
                [
                    109.969,
                    121.492
                ],
                [
                    109.186,
                    120.507
                ],
                [
                    108.479,
                    119.173
                ],
                [
                    108.054,
                    117.725
                ],
                [
                    107.927,
                    116.221
                ],
                [
                    108.104,
                    114.722
                ],
                [
                    108.578,
                    113.289
                ],
                [
                    109.329,
                    111.979
                ],
                [
                    110.327,
                    110.847
                ],
                [
                    111.318,
                    110.072
                ],
                [
                    112.658,
                    109.376
                ],
                [
                    114.11,
                    108.963
                ]
            ]
        },
        {
            "name": "HELPER_DISK_STL_(INSTANCE_3)",
            "center": [
                136.426,
                95.347
            ],
            "polygon": [
                [
                    136.614,
                    87.849
                ],
                [
                    138.112,
                    88.039
                ],
                [
                    139.541,
                    88.524
                ],
                [
                    140.844,
                    89.286
                ],
                [
                    141.968,
                    90.294
                ],
                [
                    142.868,
                    91.506
                ],
                [
                    143.506,
                    92.874
                ],
                [
                    143.858,
                    94.342
                ],
                [
                    143.921,
                    95.599
                ],
                [
                    143.719,
                    97.094
                ],
                [
                    143.324,
                    98.289
                ],
                [
                    142.595,
                    99.611
                ],
                [
                    141.616,
                    100.76
                ],
                [
                    140.427,
                    101.69
                ],
                [
                    139.076,
                    102.363
                ],
                [
                    137.617,
                    102.751
                ],
                [
                    136.362,
                    102.846
                ],
                [
                    134.862,
                    102.682
                ],
                [
                    133.425,
                    102.22
                ],
                [
                    132.109,
                    101.48
                ],
                [
                    130.969,
                    100.492
                ],
                [
                    130.185,
                    99.507
                ],
                [
                    129.478,
                    98.173
                ],
                [
                    129.053,
                    96.725
                ],
                [
                    128.927,
                    95.221
                ],
                [
                    129.104,
                    93.722
                ],
                [
                    129.577,
                    92.288
                ],
                [
                    130.328,
                    90.979
                ],
                [
                    131.326,
                    89.847
                ],
                [
                    132.531,
                    88.937
                ],
                [
                    133.658,
                    88.376
                ],
                [
                    135.109,
                    87.963
                ]
            ]
        },
        {
            "name": "M3_HEX_NUT_STL_(INSTANCE_1)",
            "center": [
                120.324,
                100.421
            ],
            "polygon": [
                [
                    120.517,
                    97.357
                ],
                [
                    123.074,
                    98.833
                ],
                [
                    123.074,
                    102.008
                ],
                [
                    120.324,
                    103.596
                ],
                [
                    117.574,
                    102.008
                ],
                [
                    117.574,
                    98.833
                ],
                [
                    120.324,
                    97.245
                ]
            ]
        },
        {
            "name": "M3_HEX_NUT_STL_(INSTANCE_2)",
            "center": [
                108.824,
                100.421
            ],
            "polygon": [
                [
                    109.017,
                    97.357
                ],
                [
                    111.574,
                    98.833
                ],
                [
                    111.574,
                    102.008
                ],
                [
                    108.824,
                    103.596
                ],
                [
                    106.074,
                    102.008
                ],
                [
                    106.074,
                    98.833
                ],
                [
                    108.824,
                    97.245
                ]
            ]
        },
        {
            "name": "M3_HEX_NUT_STL_(INSTANCE_3)",
            "center": [
                115.732,
                89.793
            ],
            "polygon": [
                [
                    115.925,
                    86.729
                ],
                [
                    118.482,
                    88.205
                ],
                [
                    118.482,
                    91.38
                ],
                [
                    115.732,
                    92.968
                ],
                [
                    112.982,
                    91.38
                ],
                [
                    112.982,
                    88.205
                ],
                [
                    115.732,
                    86.617
                ]
            ]
        }
    ],
    "excluded_objects": [],
    "current_object": "M3_HEX_NUT_STL_(INSTANCE_3)"
}

///

Field Type Description
objects [object] An array of Object Definitions.
#object-definition-spec
excluded_objects [string] An array of object names currently excluded.
current_object string | null The name of the object currently being
printed. Will be null if no defined object
is printing.
{ #exclude-object-spec } Exclude Object
Field Type Description
name string The name of the defined object.
polygon float A 2D array indicating the (X,Y) coordinates
that form the boundary of the object's location.
This field is only available if the polygon
is included when the objected is defined by the
EXCLUDE_OBJECT_DEFINE gcode command.
center [float] An (X,Y) coordinate indicating the center point
of the object. This field is only available if
the center is included when the object is defined
by the EXCLUDE_OBJECT_DEFINE gcode command.
{ #object-definition-spec } Object Definition

gcode_macro

Available when [gcode_macro macro_name] is included in printer.cfg. It is possible for multiple gcode macros to be configured.

{
    "var_name": "value"
}
Field Type Description
var_name any Zero or more variables present in the
gcode_macro's configuration. The type
is coerced from the value set. If no
variables are configured the object will
be empty.
{ #gcode-macro-object-spec } GCode Macro Object

mcu

The primary mcu object should always be available. It is possible for additional MCU objects to be present when one or more [mcu mcu_name] sections are included in printer.cfg.

{
    "mcu_version": "v0.12.0-272-g13c75ea87",
    "mcu_build_versions": "gcc: (GCC) 5.4.0 binutils: (GNU Binutils) 2.26.20160125",
    "mcu_constants": {
        "ADC_MAX": 1023,
        "BUS_PINS_spi": "PB3,PB2,PB1",
        "BUS_PINS_twi": "PD0,PD1",
        "CLOCK_FREQ": 16000000,
        "MCU": "atmega2560",
        "PWM_MAX": 255,
        "RECEIVE_WINDOW": 192,
        "RESERVE_PINS_serial": "PE0,PE1",
        "SERIAL_BAUD": 250000,
        "STATS_SUMSQ_BASE": 256
    }
}
Field Type Description
mcu_version string The version of Klipper at the time the MCU
firmware was built.
mcu_build_versions string Version information about the tools used
to build the MCU firmware.
mcu_constants object An object containing compile time constants
reported by the MCU. The constants available
may differ between MCUs as they depend on the
micro-controller's underlying architecture.
{ #mcu-object-spec } MCU Object

stepper_enable

Available when one or more steppers are configured in printer.cfg.

{
    "steppers": {
        "stepper_z": false,
        "stepper_y": false,
        "stepper_x": false,
        "extruder": false
    }
}
Field Type Description
steppers object An object containing the enabled state for
all registered steppers. The keys are
stepper names, the values are boolean's
reflecting the stepper driver enabled state.
{ #stepper-enable-object-spec } Stepper Enable Object

TMC Drivers

Available when one or more [tmcXXXX driver_name] sections are included in printer.cfg.

{
    "phase_offset_position": 0.01,
    "temperature": null,
    "drv_status": {
        "sg_result": 211,
        "cs_actual": 8,
        "stallguard": 1,
        "stst": 1
    },
    "mcu_phase_offset": 1,
    "run_current": 0.28173785812901503,
    "hold_current": 0.28173785812901503
}
Field Type Description
phase_offset_position float | null The commanded position corresponding
with the driver's "zero phase". Will be
null if the phase offset is unknown.
temperature float | null The temperature reported by the driver.
Will be null if temperature reporting
is not available.
drv_status object | null An object containing results from the most
recent driver status query. Will be null
if the driver is disabled. See the driver's
datasheet for explanations on the fields
present in this object.
mcu_phase_offset int | null The MCU stepper position corresponding
with the driver's "zero phase". Will be
null if the phase offset is unknown.
run_current float The presently set run current in amps.
hold_current float The presently set hold current in amps.
{ #tmc-driver-object-spec } TMC Driver Object

/// note Klipper will omit fields from the drv_status object whose value evaluates to false. For example, the stallguard field is only present when its value is non-zero. ///