##################################################################### # Display ##################################################################### [display] lcd_type: ssd1306 i2c_bus: i2c1a i2c_mcu = mcu #contrast: 63 display_group: __voron_display #x_offset: 2 # Use X offset to shift the display towards the right. Value can be 0 to 3 #vcomh: 0 # Set the Vcomh value on SSD1306/SH1106 displays. This value is # associated with a "smearing" effect on some OLED displays. The # value may range from 0 to 63. Default is 0. # Adjust this value if you get some vertical stripes on your display. (31 seems to be a good value) ##################################################################### # Custom Glyph Definitions ##################################################################### [display_glyph chamber] data: ................ **************** *....*....*....* *....*....*....* *....******....* *..............* *..............* *.....****.....* *.***.*..*.***.* *.....****.....* *......**......* *..............* *.************.* *...*......*...* **************** ................ [display_glyph thermometer] data: 0000000000000000 0000000000000000 0000000000111000 0000000001000100 0000000010010100 0000000100100100 0000001001001000 0000010010010000 0001100100100000 0010001001000000 0100100010000000 0101110100000000 0100100100000000 0010001000000000 0001110000000000 0000000000000000 [display_glyph voron] data: ......***....... ....*******..... ...*********.... .*************.. *****..***..***. ****..***..****. ***..***..*****. **..***..******. ******..***..**. *****..***..***. ****..***..****. ***..***..*****. .*************.. ...*********.... ....*******..... ......***....... [display_glyph voron_heart] data: ................ ..****...*****.. .**************. ******..**..**** *****..**..***** ****..**..****** *******..******* .*****..**..***. .****..**..****. ..**..**..****.. ...**********... ....********.... .....******..... ......****...... .......**....... ................ [display_glyph ercfcarrot] data: ........***..... ***....***...... .**....**....... .****..**....... ...**..*........ ...***.*..**.... .........***.... ..****..***..... ****...***..*... ***...***..***.. **...***..***... ......*..***..*. ........***..**. .........*..***. ............***. ................ ##################################################################### # Display Template/Definition ##################################################################### [display_template _chamber_temperature] text: {% set chamber = printer['temperature_sensor chamber'] %} ~chamber~ { "%3.0f" % (chamber.temperature,) } ~degrees~ [display_template _vprint_status] text: {% if printer.display_status.message %} { printer.display_status.message } {% elif printer.idle_timeout.printing_time %} {% set pos = printer.toolhead.position %} { "X%-4.0fY%-4.0fZ%-5.2f" % (pos.x, pos.y, pos.z) } {% else %} {" V0.696"} {% endif %} [display_data __voron_display extruder] position: 0, 0 text: { render("_heater_temperature", param_heater_name= printer.toolhead.extruder) } [display_data __voron_display fan] position: 0, 10 text:{ render("_fan_speed") } [display_data __voron_display heater_bed] position: 1, 0 text: { render("_heater_temperature", param_heater_name="heater_bed") } [display_data __voron_display chamber] position: 1, 10 text: { render("_chamber_temperature") } [display_data __voron_display print_progress] position: 2, 0 text: { "{:^10.0%}".format(printer.display_status.progress) } [display_data __voron_display progress_bar] position: 2, 1 # Draw graphical progress bar after text is written text: { draw_progress_bar(2, 0, 10, printer.display_status.progress) } [display_data __voron_display printing_time] position: 2, 10 text: { "%6s" % (render("_printing_time").strip(),) } [display_data __voron_display print_status] position: 3, 0 text : { render("_vprint_status") } [display_data __voron_display voron_logo] position: 3, 10 text: {% if printer.display_status.message %} {% elif printer.idle_timeout.printing_time %} {% else %} ~voron~ ~voron_heart~ ~ercfcarrot~ {% endif %} ##################################################################### # Display Specific Macros ##################################################################### ## Clear display after Duration [delayed_gcode _CLEAR_DISPLAY] gcode: M117 [delayed_gcode _LCD_INIT_OFF] initial_duration: 10 gcode: SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"off"' [gcode_macro DISPLAY] variable_state: 'on' gcode: {% if printer["gcode_macro DISPLAY"].state == 'on' %} _DISPLAY_OFF {% else %} _DISPLAY_ON {% endif %} [gcode_macro _display_state] gcode: {action_respond_info("LCD display %s" % (printer["gcode_macro DISPLAY"].state))} [gcode_macro _DISPLAY_OFF] ## Display off to hinder burn in gcode: SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"off"' _display_state [gcode_macro _DISPLAY_ON] ## Display on gcode: SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"on"' _display_state