117 lines
3.8 KiB
INI
117 lines
3.8 KiB
INI
|
|
# 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 %}
|