124 lines
3.2 KiB
Plaintext
124 lines
3.2 KiB
Plaintext
---
|
|
layout: default
|
|
title: Necessary Configuration
|
|
nav_exclude: true
|
|
has_children: false
|
|
permalink: /necessary-configuration
|
|
---
|
|
|
|
Mainsail requires a minimum configuration to function properly. It should give you a warning at startup if the required parts are not found in your configuration.
|
|
|
|
# Required configuration
|
|
## virtual_sdcard
|
|
This allows gcode file uploads.
|
|
```yaml
|
|
[virtual_sdcard]
|
|
path: ~/gcode_files
|
|
```
|
|
|
|
## display_status
|
|
This is required for messages in your status panel, if you don't have a `[display]` in your configuration.
|
|
```yaml
|
|
[display_status]
|
|
```
|
|
|
|
## pause / resume / cancel
|
|
This enables pause / resume in mainsail.
|
|
|
|
```yaml
|
|
[pause_resume]
|
|
```
|
|
|
|
# Macros
|
|
## for pause / resume / cancel functionality
|
|
These should be modified to your own needs.
|
|
{% raw %}
|
|
```yaml
|
|
[gcode_macro PAUSE]
|
|
description: Pause the actual running print
|
|
rename_existing: PAUSE_BASE
|
|
gcode:
|
|
##### set defaults #####
|
|
{% set x = params.X|default(230) %} #edit to your park position
|
|
{% set y = params.Y|default(230) %} #edit to your park position
|
|
{% set z = params.Z|default(10)|float %} #edit to your park position
|
|
{% set e = params.E|default(1) %} #edit to your retract length
|
|
##### calculate save lift position #####
|
|
{% set max_z = printer.toolhead.axis_maximum.z|float %}
|
|
{% set act_z = printer.toolhead.position.z|float %}
|
|
{% set lift_z = z|abs %}
|
|
{% if act_z < (max_z - lift_z) %}
|
|
{% set z_safe = lift_z %}
|
|
{% else %}
|
|
{% set z_safe = max_z - act_z %}
|
|
{% endif %}
|
|
##### end of definitions #####
|
|
PAUSE_BASE
|
|
G91
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G1 E-{e} F2100
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
{% if "xyz" in printer.toolhead.homed_axes %}
|
|
G1 Z{z_safe}
|
|
G90
|
|
G1 X{x} Y{y} F6000
|
|
{% else %}
|
|
{action_respond_info("Printer not homed")}
|
|
{% endif %}
|
|
```
|
|
|
|
```yaml
|
|
[gcode_macro RESUME]
|
|
description: Resume the actual running print
|
|
rename_existing: RESUME_BASE
|
|
gcode:
|
|
##### set defaults #####
|
|
{% set e = params.E|default(1) %} #edit to your retract length
|
|
#### get VELOCITY parameter if specified ####
|
|
{% if 'VELOCITY' in params|upper %}
|
|
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
|
{%else %}
|
|
{% set get_params = "" %}
|
|
{% endif %}
|
|
##### end of definitions #####
|
|
G91
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G1 E{e} F2100
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
RESUME_BASE {get_params}
|
|
```
|
|
|
|
|
|
```yaml
|
|
[gcode_macro CANCEL_PRINT]
|
|
description: Cancel the actual running print
|
|
rename_existing: CANCEL_PRINT_BASE
|
|
gcode:
|
|
TURN_OFF_HEATERS
|
|
CANCEL_PRINT_BASE
|
|
```
|
|
{% endraw %}
|
|
|
|
# Optional
|
|
|
|
## customize klipper default commands
|
|
for example, if you want to adjust the `BED_MESH_CALIBRATE` command, which you can run from "heightmap > calibrate".
|
|
{% raw %}
|
|
```yaml
|
|
[gcode_macro BED_MESH_CALIBRATE]
|
|
rename_existing: BASE_BED_MESH_CALIBRATE
|
|
gcode:
|
|
#before the original gcode
|
|
BED_MESH_CLEAR
|
|
QUAD_GANTRY_LEVEL
|
|
G1 X125 Y125 Z5 F6000
|
|
#the original gcode
|
|
BASE_BED_MESH_CALIBRATE
|
|
#after the original gcode
|
|
```
|
|
{% endraw %}
|