klipper_config/macros/debug.cfg

85 lines
3.1 KiB
INI

#####################################################################
# Macros to debug the printer variable
# - DUMP_PARAMETERS
# - DUMP_CONFIG
# - DUMP_WARNINGS
# - DUMP_SETTINGS
#####################################################################
## Use:
## - DUMP_PARAMETERS
## - DUMP_PARAMETERS S='gcode_macro _USER_VARIABLE'
[gcode_macro DUMP_PARAMETERS]
description: Debug: Print all entries of the printer object
gcode:
{% set parameters = [] %}
{% for name1 in printer|sort %}
{% if 'S' in params %}
{% if name1 is in [params.S] %}
{% for name2 in printer[name1]|sort %}
{% set parameters = parameters.append("printer['%s'].%s = %s" % (name1, name2, printer[name1][name2])) %}
{% endfor %}
{% endif %}
{% else %}
{% if name1 is not in ['configfile'] %}
{% for name2 in printer[name1]|sort %}
{% set parameters = parameters.append("printer['%s'].%s = %s" % (name1, name2, printer[name1][name2])) %}
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
{action_respond_info(parameters|join("\n"))}
## Use:
## - DUMP_CONFIG S='printer'
[gcode_macro DUMP_CONFIG]
description: Debug: Print the selected entry of the printer config object
gcode:
{% if 'S' in params %}
{% set parameters = [] %}
{% for name1 in printer.configfile.config %}
{% if name1 is in [params.S] %}
{% for name2 in printer.configfile.config[name1]|sort %}
{% set parameters = parameters.append("printer.configfile.config['%s'].%s = %s" % (name1, name2, printer.configfile.config[name1][name2])) %}
{% endfor %}
{% endif %}
{% endfor %}
{action_respond_info(parameters|join("\n"))}
{% else %}
{action_respond_info("WARNING: parameter S needed call e.g. DUMP_CONFIG S='printer'")}
{% endif %}
## Use:
## - DUMP_WARNINGS
[gcode_macro DUMP_WARNINGS]
description: Debug: Print all warning messages from klipper
gcode:
{% set parameters = ["printer.configfile.warnings:"] %}
{% for name1 in printer.configfile.warnings %}
{% set parameters = parameters.append("%s -> %s -> %s\n%s" % (name1.type, name1.section, name1.option, name1.message)) %}
{% endfor %}
{action_respond_info(parameters|join("\n"))}
## Use:
## - DUMP_SETTINGS S='printer'
[gcode_macro DUMP_SETTINGS]
description: Debug: Print the selected entry of the printer settings object
gcode:
{% if 'S' in params %}
{% set parameters = [] %}
{% for name1 in printer.configfile.settings %}
{% if name1 is in [params.S] %}
{% for name2 in printer.configfile.settings[name1]|sort %}
{% set parameters = parameters.append("printer.configfile.settings['%s'].%s = %s" % (name1, name2, printer.configfile.settings[name1][name2])) %}
{% endfor %}
{% endif %}
{% endfor %}
{action_respond_info(parameters|join("\n"))}
{% else %}
{action_respond_info("WARNING: parameter S needed call e.g. DUMP_SETTINGS S='printer'")}
{% endif %}
#####################################################################
# Macros needed for several debug activities
#####################################################################