Ender 3 - Klipper Firmware

This commit is contained in:
2025-01-22 17:22:32 +01:00
parent d447266bc8
commit ef10f8ee0c
5 changed files with 587 additions and 0 deletions

View File

@@ -0,0 +1,117 @@
# use NEOPIXEL_DISPLAY LED=Led_Name TYPE=template_type MODE=template_mode
# for TYPE use:
# extruder_temp :extruder temperature progress
# bed_temp :bed temperature progress
# print_percent :print progress
# printer_speed :printer speed
# for MODE use:
# progress :the leds will light up one by one
# glow :all leds will fade from one color (or non) to other color
# more info: https://github.com/digitalninja-ro/klipper-neopixel/blob/master/README.md
[gcode_macro NEOPIXEL_DISPLAY]
gcode:
{% set led = params.LED %}
{% set type = params.TYPE %}
{% set mode = params.MODE %}
{% set my_neopixel = printer.configfile.config['neopixel ' ~ led] %}
{% if mode == 'progress' %}
{% for i in range(my_neopixel.chain_count|int) %}
SET_LED_TEMPLATE LED={led} INDEX={i+1} TEMPLATE={'led_' ~ type ~ '_' ~ mode} param_led_num={i+1} param_led_total={my_neopixel.chain_count|int}
{% endfor %}
{% endif %}
{% if mode == 'glow' %}
SET_LED_TEMPLATE LED={led} TEMPLATE={'led_' ~ type ~ '_' ~ mode}
{% endif %}
[display_template led_extruder_temp_glow]
text:
{% if printer.extruder.target > 0.0 %}
{% set temp = printer.extruder.target %}
{% else %}
{% set temp = printer.configfile.config.extruder.max_temp %}
{% endif %}
{% set ratio = printer.extruder.temperature / temp|float %}
{ratio}, 0.0, {1-ratio}, 0.0
[display_template led_extruder_temp_progress]
param_led_num: 0
param_led_total: 1
text:
{% if printer.extruder.target > 0.0 %}
{% set temp = printer.extruder.target %}
{% else %}
{% set temp = printer.configfile.config.extruder.max_temp %}
{% endif %}
{% set ratio = printer.extruder.temperature / temp|float %}
{% set led_ratio = param_led_num|float / param_led_total %}
{% if ratio > led_ratio %}
{led_ratio}, 0.0, 0.0, 0.0
{% else %}
0.0, 0.0, 0.0, 0.0
{% endif %}
[display_template led_bed_temp_glow]
text:
{% if printer.heater_bed.target > 0.0 %}
{% set temp = printer.heater_bed.target %}
{% else %}
{% set temp = printer.configfile.config.heater_bed.max_temp %}
{% endif %}
{% set ratio = printer.heater_bed.temperature / temp|float %}
{ratio}, 0.0, {1-ratio}, 0.0
[display_template led_bed_temp_progress]
param_led_num: 0
param_led_total: 1
text:
{% if printer.heater_bed.target > 0.0 %}
{% set temp = printer.heater_bed.target %}
{% else %}
{% set temp = printer.configfile.config.heater_bed.max_temp %}
{% endif %}
{% set ratio = printer.heater_bed.temperature / temp|float %}
{% set led_ratio = param_led_num|float / param_led_total %}
{% if ratio > led_ratio %}
{led_ratio}, 0.0, 0.0, 0.0
{% else %}
0.0, 0.0, 0.0, 0.0
{% endif %}
[display_template led_print_percent_glow]
text:
{% set ratio = printer.virtual_sdcard.progress %}
0.0, {ratio}, 0.0, 0.0
[display_template led_print_percent_progress]
param_led_num: 0
param_led_total: 1
text:
{% set ratio = printer.virtual_sdcard.progress %}
{% set led_ratio = param_led_num|float / param_led_total %}
{% if ratio > led_ratio %}
0.0, {led_ratio}, 0.0, 0.0
{% else %}
0.0, 0.0, 0.0, 0.0
{% endif %}
[display_template led_printer_speed_glow]
text:
{% set ratio = printer.motion_report.live_velocity|float / printer.configfile.config.printer.max_velocity|float %}
0.0, {ratio}, 0.0, 0.0
[display_template led_printer_speed_progress]
param_led_num: 0
param_led_total: 1
text:
{% set ratio = printer.motion_report.live_velocity|float / printer.configfile.config.printer.max_velocity|float %}
{% set led_ratio = param_led_num|float / param_led_total %}
{% if ratio > led_ratio %}
0.0, {led_ratio}, 0.0, 0.0
{% else %}
0.0, 0.0, 0.0, 0.0
{% endif %}