mirror of
https://github.com/bassamanator/Sovol-SV06-firmware.git
synced 2025-11-08 21:41:15 +00:00
Compare commits
6 Commits
v0.1.0-sv0
...
v0.1.1-sv0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b5ce8df57 | ||
|
|
8346c79f35 | ||
|
|
98a1cd7fe6 | ||
|
|
39131e0d66 | ||
|
|
862c45b88f | ||
|
|
73f15169b6 |
@@ -1,6 +1,8 @@
|
||||
# 🚨 *One-Stop-Shop* Sovol SV06 Klipper Configuration
|
||||
|
||||
This repository contains the Klipper configuration and firmware for the Sovol SV06 3D printer with completely *stock hardware*.
|
||||
This repository contains the Klipper configuration and firmware for the **Sovol SV06** 3D printer with completely *stock hardware*.
|
||||
|
||||
If you wanted to use the One-Stop-Shop Klipper Configuration for a *different printer*, please switch to the [any-printer](https://github.com/bassamanator/Sovol-SV06-firmware/tree/any-printer) branch.
|
||||
|
||||
I am creating these files for my personal use and cannot be held responsible for what it might do to your printer. Use at your own risk.
|
||||
|
||||
@@ -21,7 +23,7 @@ I am creating these files for my personal use and cannot be held responsible for
|
||||
## To do:
|
||||
|
||||
- [x] Replace M109/M190 with `TEMPERATURE_WAIT`.
|
||||
- [ ] Get the Ellis `TEST_SPEED` macro working.
|
||||
- [ ] ~~Get the Ellis `TEST_SPEED` macro working.~~ Does not seem safely doable on this printer.
|
||||
- [x] Add information about directory structure.
|
||||
- [x] Create FAQ section.
|
||||
- [x] Get filament sensor working with hotend PCB.
|
||||
@@ -56,6 +58,8 @@ I work on this repository all the time and a lot of new features are coming. Wat
|
||||
|
||||
💡 For the sake of simplicity, I will refer to the klipper firmware file as `klipper.bin` even though the actual filename is something along the lines of `klipper-v0.11.0-148-g52f4e20c.bin`.
|
||||
|
||||
💡 The firmware file is located in the `misc` folder.
|
||||
|
||||
### Prepare the microSD Card for Flashing
|
||||
|
||||
- Size: `8GB`. According to Sovol, the largest size that you can use is `16GB`.
|
||||
|
||||
@@ -75,17 +75,34 @@ gcode:
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PURGE_LINE]
|
||||
# https://github.com/JoeCat1207/V0.1-Purge-line-SuperSlicer/blob/main/Purgeline.txt
|
||||
# https://github.com/VoronDesign/Voron-Switchwire/blob/200cdae033c59ef81f67c4235469da7ca66d53a1/Firmware/skr_mini_e3_v2_config.cfg
|
||||
gcode:
|
||||
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
|
||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1
|
||||
G0 Y0 X0 F4000 ; go to tongue of print bed
|
||||
G1 Z0.4 F500.0 ; move bed to nozzle
|
||||
|
||||
# Get Boundaries
|
||||
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
||||
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
|
||||
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}
|
||||
{% set extrudeAmount = 26.6 %}
|
||||
{% set movementLength = 100.0 %}
|
||||
{% set movementSpeed = 15 * 60 %}
|
||||
{% set xStart = 0.5 %}
|
||||
{% set yStart = 0.5 %}
|
||||
|
||||
# Set safe speeds
|
||||
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
|
||||
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
|
||||
|
||||
G92 E0.0 ; reset extruder
|
||||
G90 ; Absolute positioning
|
||||
G0 X{xStart} Y{yStart} F{maxVelocityAdjusted} ; move to purge position
|
||||
G1 Z0.4 F500.0 ; move to purge height
|
||||
M83 ; Relative extrusion mode
|
||||
G1 E{PRE_PURGE_PRIME_LENGTH} F500 ; pre-purge prime LENGTH SHOULD MATCH YOUR PRINT_END RETRACT
|
||||
G1 Y140 E35.0 F1200.0 ; intro line 1
|
||||
G1 X{xStart + movementLength} E{extrudeAmount} F{movementSpeed} ; intro line 1
|
||||
#G1 E-.5 F2100 # Retract
|
||||
G92 E0.0 ; reset extruder
|
||||
M82 ; Absolute extrusion mode
|
||||
G1 Z5.0 ; move nozzle to prevent scratch
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
@@ -125,11 +142,18 @@ gcode:
|
||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=0
|
||||
CONDITIONAL_BEEP I=2 DUR=30 FREQ=8500 ; NOTE Comment out this line to stop the beeps at the end of a print
|
||||
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
|
||||
|
||||
M400 ; wait for buffer to clear
|
||||
G92 E0 ; zero the extruder
|
||||
G1 E-{PRE_PURGE_PRIME_LENGTH} F400 ; retract filament
|
||||
G91 ; relative positioning
|
||||
|
||||
# Set safe speeds
|
||||
{% set zVelocity = printer.configfile.settings.printer.max_z_velocity|default(15)|int %}
|
||||
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
|
||||
{% set zVelocityAdjusted = (0.95 * zVelocity * 60)|int %}
|
||||
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
|
||||
|
||||
# Get Boundaries
|
||||
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
||||
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
|
||||
@@ -155,8 +179,8 @@ gcode:
|
||||
{% set z_safe = max_z - printer.toolhead.position.z %}
|
||||
{% endif %}
|
||||
|
||||
G0 Z{z_safe} F2000 ; move nozzle up
|
||||
G0 X{x_safe} Y{y_safe} F9000 ; move nozzle to remove stringing
|
||||
G0 Z{z_safe} F{zVelocityAdjusted} ; move nozzle up
|
||||
G0 X{x_safe} Y{y_safe} F{maxVelocityAdjusted} ; move nozzle to remove stringing
|
||||
TURN_OFF_HEATERS
|
||||
M107 ; turn off fan
|
||||
G90 ; absolute positioning
|
||||
|
||||
@@ -224,6 +224,8 @@ switch_pin: !PA4 # "Pulled-high"
|
||||
pause_on_runout: True
|
||||
insert_gcode:
|
||||
M117 Insert Detected
|
||||
{ action_respond_info("Insert Detected") }
|
||||
runout_gcode:
|
||||
M117 Runout Detected
|
||||
{ action_respond_info("Runout Detected") }
|
||||
CONDITIONAL_BEEP i=3 dur=300 freq=400
|
||||
|
||||
Reference in New Issue
Block a user