Compare commits
172 Commits
vfa
...
v0.1.3-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b7b32dd046 | ||
|
|
9265d9cc96 | ||
|
|
c4b3f64e1a | ||
|
|
fd7b9e3f46 | ||
|
|
178733e0f5 | ||
|
|
8f100d73f3 | ||
|
|
82d25743fc | ||
|
|
aa935b6d57 | ||
|
|
49ed59dc14 | ||
|
|
ace26b692f | ||
|
|
d97cc87dc6 | ||
|
|
f1614f477a | ||
|
|
67307f5679 | ||
|
|
2da06be82e | ||
|
|
8a8229f6e8 | ||
|
|
7908b3d052 | ||
|
|
bb90be25cc | ||
|
|
5f59d5bacb | ||
|
|
d6f03f7a2c | ||
|
|
d3cc53eafe | ||
|
|
28ba80dd29 | ||
|
|
82c02bbdbf | ||
|
|
f5c533a35d | ||
|
|
d405db4922 | ||
|
|
511fcbed57 | ||
|
|
12ed1d3a9f | ||
|
|
4cfbe14e59 | ||
|
|
2f79fc59e3 | ||
|
|
3c8a5d6a42 | ||
|
|
52c721226f | ||
|
|
089ad6a4bd | ||
|
|
9ee603e74d | ||
|
|
28ac5d5260 | ||
|
|
b22c8a0b02 | ||
|
|
7aecb64bca | ||
|
|
763304e128 | ||
|
|
9c79ca81bb | ||
|
|
5c8b1f0de9 | ||
|
|
ccdde22c57 | ||
|
|
66c19cd7d8 | ||
|
|
61eaab3221 | ||
|
|
cd59efe4c1 | ||
|
|
c327345a08 | ||
|
|
baf505113d | ||
|
|
f921823acf | ||
|
|
f385fe920e | ||
|
|
817a6771f6 | ||
|
|
fb7e7bcc6e | ||
|
|
a6afa97f88 | ||
|
|
a5f72beea4 | ||
|
|
6399c70309 | ||
|
|
9c9eb1b088 | ||
|
|
40d88fe907 | ||
|
|
5ada85f964 | ||
|
|
1e60090f1e | ||
|
|
fa43f570d7 | ||
|
|
7ea890627a | ||
|
|
ac5426e331 | ||
|
|
24a4262af2 | ||
|
|
be1711cb68 | ||
|
|
d5de6866da | ||
|
|
82a5603d1e | ||
|
|
ad4c893fbc | ||
|
|
a5a75f3c1e | ||
|
|
24610b1dee | ||
|
|
9d08c418c0 | ||
|
|
7112c53ad8 | ||
|
|
f0602b5cb2 | ||
|
|
5242dc7276 | ||
|
|
05dba3939e | ||
|
|
d0c43f3777 | ||
|
|
4dcd5e3840 | ||
|
|
53f6f75c85 | ||
|
|
d062ee5bcc | ||
|
|
aa8d3de2c7 | ||
|
|
b0d122a1c1 | ||
|
|
6ede727449 | ||
|
|
f4f0fd50bb | ||
|
|
6eedc4bd60 | ||
|
|
3a85c0e532 | ||
|
|
940ea48541 | ||
|
|
9f69a7d355 | ||
|
|
57e6755ced | ||
|
|
1cdcb4934b | ||
|
|
835e990d88 | ||
|
|
45434cde14 | ||
|
|
51fd3f0b19 | ||
|
|
4df5ef2db3 | ||
|
|
23d24aab17 | ||
|
|
43d067acab | ||
|
|
498e0d4a4d | ||
|
|
4a38d34a0e | ||
|
|
9b712df594 | ||
|
|
e888ac0882 | ||
|
|
323e8df221 | ||
|
|
40534f3788 | ||
|
|
5e342261c8 | ||
|
|
89fbb10154 | ||
|
|
1823d0ca37 | ||
|
|
6eb152e58d | ||
|
|
c1672c9a42 | ||
|
|
581ff9da48 | ||
|
|
4ecb37cf9f | ||
|
|
8bfed9c573 | ||
|
|
b051707f52 | ||
|
|
807c91507a | ||
|
|
a30d367d1d | ||
|
|
5abaf73b9c | ||
|
|
a71ba1569a | ||
|
|
238091d860 | ||
|
|
6dc119cf99 | ||
|
|
9e68610908 | ||
|
|
b3040f4244 | ||
|
|
8c6ebbca2c | ||
|
|
1f3707123a | ||
|
|
4c3ae83f19 | ||
|
|
953daefa32 | ||
|
|
688193903b | ||
|
|
7da9a83924 | ||
|
|
d0b426d5b0 | ||
|
|
3c98d99665 | ||
|
|
4b90c7abc5 | ||
|
|
0358cb6304 | ||
|
|
2c49bf8396 | ||
|
|
dc85ec05c6 | ||
|
|
cc57e07c62 | ||
|
|
e501bdac3f | ||
|
|
f810abf9f7 | ||
|
|
69071df396 | ||
|
|
daa07e37c0 | ||
|
|
758a3f8b77 | ||
|
|
c1427d9418 | ||
|
|
371e0d604a | ||
|
|
761650bf80 | ||
|
|
c89d69e678 | ||
|
|
5afbf002c2 | ||
|
|
5b5ce8df57 | ||
|
|
8346c79f35 | ||
|
|
98a1cd7fe6 | ||
|
|
39131e0d66 | ||
|
|
060a9334ee | ||
|
|
c215540a0c | ||
|
|
862c45b88f | ||
|
|
73f15169b6 | ||
|
|
a671161b99 | ||
|
|
cf3597f158 | ||
|
|
38cabc7513 | ||
|
|
d628b6e9ef | ||
|
|
1e80ff171a | ||
|
|
37be3998d8 | ||
|
|
1e13d86eca | ||
|
|
7571e95a5a | ||
|
|
3551f307ae | ||
|
|
140ff8cb30 | ||
|
|
5930d03add | ||
|
|
903cd16287 | ||
|
|
eaea54e330 | ||
|
|
77468d319f | ||
|
|
fdfdcd6bb5 | ||
|
|
95897311e6 | ||
|
|
0db62e01f3 | ||
|
|
c2bd1fa076 | ||
|
|
545817dffc | ||
|
|
9239a54e8b | ||
|
|
c967be1023 | ||
|
|
64a6f98fe4 | ||
|
|
07b3631512 | ||
|
|
b2f110df0a | ||
|
|
e972231cd1 | ||
|
|
e3762db8b2 | ||
|
|
d9fb25bcd2 | ||
|
|
7f05e62e94 |
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[BUG]"
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**What kind of device are you using to host Klipper?**
|
||||
- OS: [e.g. old laptop, PC, Raspberry Pi]
|
||||
- Version: []
|
||||
|
||||
**How did you install Klipper?**
|
||||
- Manual install, KIAUH, MainsailOS, FluiddPi, etc.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
30
.vscode/settings.json
vendored
@@ -4,5 +4,33 @@
|
||||
"editor.detectIndentation": false,
|
||||
"git.mergeEditor": false,
|
||||
"spellright.language": ["en-GB-10-1."],
|
||||
"spellright.documentTypes": ["markdown", "plaintext"]
|
||||
"spellright.documentTypes": ["markdown", "plaintext"],
|
||||
"cSpell.words": [
|
||||
"ADXL",
|
||||
"blanchas",
|
||||
"cfgs",
|
||||
"Fluidd",
|
||||
"Fluiddpi",
|
||||
"gcode",
|
||||
"githubstar",
|
||||
"hotend",
|
||||
"KIAUH",
|
||||
"Klipper",
|
||||
"Klipperized",
|
||||
"lrwxrwxrwx",
|
||||
"moonraker",
|
||||
"octahedroflake",
|
||||
"PARKBED",
|
||||
"PARKCENTER",
|
||||
"PARKFRONT",
|
||||
"PARKFRONTLOW",
|
||||
"PARKREAR",
|
||||
"pico",
|
||||
"Prusa",
|
||||
"runout",
|
||||
"Sovol"
|
||||
],
|
||||
"[markdown]": {
|
||||
"editor.formatOnSave": false
|
||||
}
|
||||
}
|
||||
|
||||
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
bassamanator.2cj4t@simplelogin.com.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
8
CONTRIBUTING.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Contribution Guidelines
|
||||
|
||||
When contributing, please ...
|
||||
- provide a clear and concise explanation of your pull request.
|
||||
- try to make small changes, ie, make many small pull requests as opposed to a single large pull request. This allows me to check your work more quickly, thus merge more quickly.
|
||||
- try to follow the patterns I've already established.
|
||||
|
||||
Thank you.
|
||||
343
README.md
@@ -1,9 +1,342 @@
|
||||
# 🚨 *One-Stop-Shop* Sovol SV06 Klipper Configuration 🏎️
|
||||
# 🚨 _One-Stop-Shop_ Klipper Configuration
|
||||
|
||||
## This branch contains my personal settings.
|
||||
This branch contains the Klipper configuration and firmware for the **Sovol SV06** 3D printer.
|
||||
|
||||
## Please refer to the [master](https://github.com/bassamanator/Sovol-SV06-firmware/tree/master) branch to download the recommended Klipper configuration for the SV06.
|
||||
| Printer | Branch |
|
||||
| --------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| Sovol SV06 | ✨**You are here**✨ |
|
||||
| Sovol SV06 Skr-Mini-E3-V3.0 | [skr-mini-e3-v3](https://github.com/bassamanator/Sovol-SV06-firmware/tree/skr-mini-e3-v3) |
|
||||
| Sovol SV06 Plus | [sv06-plus](https://github.com/bassamanator/Sovol-SV06-firmware/tree/sv06-plus) |
|
||||
| All other printers | [any-printer](https://github.com/bassamanator/Sovol-SV06-firmware/tree/any-printer) |
|
||||
|
||||
## For all other printers running Klipper, please refer to the [any-printer](https://github.com/bassamanator/Sovol-SV06-firmware/tree/any-printer) branch to download the OSS Klipper configuration.
|
||||
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.
|
||||
|
||||
<img src="./images/octahedroflake.jpg" />
|
||||
## Outline
|
||||
|
||||
- [Features](#features)
|
||||
- [Stay Up-to-Date](#stay-up-to-date)
|
||||
- [Preface](#preface)
|
||||
- [Before You Begin](#before-you-begin)
|
||||
- [Klipper Installation](#klipper-installation)
|
||||
- [Flash Firmware](#flash-firmware)
|
||||
- [Download OSS Klipper Configuration](#download-oss-klipper-configuration)
|
||||
- [Initial Steps](#initial-steps)
|
||||
1. [Adjust Configuration with MCU Path](#adjust-configuration-with-mcu-path)
|
||||
2. [Configure Your Printer](#configure-your-printer)
|
||||
- [Adjust Your Slicer](#adjust-your-slicer)
|
||||
- [Directory Structure](#directory-structure)
|
||||
- [Support Me](#support-me)
|
||||
- [FAQ](#faq)
|
||||
- [Useful Resources](#useful-resources)
|
||||
- [Sovol Official Links](#sovol-official-links)
|
||||
- [Sources](#sources)
|
||||
|
||||
## Features
|
||||
|
||||
- 💥 This Klipper configuration is an _endpoint_, meaning that it contains **everything** that you could possibly need in order to have an excellent Klipper experience! 💥
|
||||
- <img src="./images/party_blob.gif" width="20" alt=''/> Filament runout sensor usage implemented. <img src="./images/party_blob.gif" width="20" alt=''/>
|
||||
- Minimum configuration settings for Mainsail/Fluiddpi to work.
|
||||
- SuperSlicer config bundle that contains the printer configuration, as well as what are considered by many to be the best print settings available for any FDM printer ([Ellis' SuperSlicer Profiles](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles)). Find the differences between the different print setting profiles [here](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles/tree/master/SuperSlicer). But basically, the 45 degree profile places the seam at the back.
|
||||
- Bed model and texture to use in SuperSlicer/PrusaSlicer.
|
||||
- Macros
|
||||
- **Improved** mechanical gantry calibration/`G34` macro that provides the user audio feedback, and time to check the calibration.
|
||||
- Misc macros: `PRINT_START`, `CANCEL_PRINT`, `PRINT_END`, `PAUSE`, `RESUME`.
|
||||
- Parking macros (parks the printhead at various locations): `PARKFRONT`, `PARKFRONTLOW`, `PARKREAR`, `PARKCENTER`, `PARKBED`.
|
||||
- Load/unload filament macros.
|
||||
- Purge line macro.
|
||||
|
||||
## Stay Up-to-Date
|
||||
|
||||
Watch for releases and updates.
|
||||
|
||||
<img src="./images/githubstar.gif" width="500" alt='Raspberry Pi'/>
|
||||
|
||||
## Preface
|
||||
|
||||
Although I've made switching over to Klipper as easy as is possible, it can still be a challenge for some, especially considering that most of you have likely never used GNU+Linux. Save yourself the frustration, and fully read all documentation found on this page. Also note that Klipper is not a _must_, and is not for everyone. You can stick with Marlin, and have a fine 3D printing experience.
|
||||
|
||||
## Before You Begin
|
||||
|
||||
- Read this documentation _fully!_
|
||||
- Make sure your printer is in good physical condition, because print and travel speeds will be _a lot faster_ than they were before. Consider yourself warned.
|
||||
- Follow the steps in order.
|
||||
- If an error was reported at a step, do no proceed to the next step.
|
||||
- It is assumed that you are connected to your host Raspberry Pi (or other host device) via SSH, and that your printer motherboard is connected to the host via a data USB cable. Note that most of the micro USB cables that you find at home are _unlikely_ to be data cables, and it's not possible to tell just by looking.
|
||||
- It is also assumed that the username on the host device is `pi`. If that is not the case, you will have to manually edit `moonraker.conf` and `cfgs/misc-macros.cfg` and change any mentions of `/home/pi` to `/home/yourUserName`.
|
||||
- Klipper _must_ be installed on the host Raspberry Pi for everything to work. Easiest is to use a [~~FluiddPI~~](https://docs.fluidd.xyz/installation/fluiddpi#download) (⚠️ `FluiddPI` is not under active maintenance) or [MainsailOS](https://github.com/mainsail-crew/mainsail/releases/latest) image. Alternatively, you can install `Fluidd` or `Mainsail` via [KIAUH](https://github.com/th33xitus/kiauh).
|
||||
- Robert Redford's performance in _Spy Game (2001)_ was superb!
|
||||
- It is assumed that there is one instance of Klipper installed. If you have multiple instances of Klipper installed, via `KIAUH` for example, then this guide is not for you. You can still use all the configs of course, but the steps in this guide will likely not work for you.
|
||||
- Your question has probably been answered already, but if it hasn't, please post in the [Discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions) section.
|
||||
- I would recommend searching for the word `NOTE` in this repository. There are roughly half a dozen short points amongst the various files that you should be aware of if you're using this configuration.
|
||||
|
||||
## Klipper Installation
|
||||
|
||||
### Flash Firmware
|
||||
|
||||
💡 _If you have already flashed klipper onto your motherboard in the past, you can skip this step._
|
||||
|
||||
Please note:
|
||||
|
||||
- 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.
|
||||
- Flashing will only work if current firmware filename is _different from previous flashing procedure_. The `.bin` is also important.
|
||||
- Many users have reported having issues flashing Klipper using the Sovol microSD card.
|
||||
|
||||
#### 1. Prepare the microSD Card for Flashing with These Parameters
|
||||
|
||||
- Size: `16GB` maximum.
|
||||
- File system: `FAT32`.
|
||||
- Allocation unit size: `4096 bytes`.
|
||||
- Must not contain any files _except_ the firmware file.
|
||||
|
||||
#### 2. Flashing Procedure
|
||||
|
||||
1. Disconnect any USB cables that might be connected to the motherboard.
|
||||
2. Copy `klipper.bin` to the microSD card.
|
||||
3. Make sure the printer is off.
|
||||
4. Insert the microSD card into printer.
|
||||
5. Turn on the printer and wait a minute (usually takes 10 seconds).
|
||||
6. Turn off the printer and remove the microSD.
|
||||
|
||||
You may find this [video](https://youtu.be/p6l253OJa34) useful.
|
||||
|
||||
### Download OSS Klipper Configuration
|
||||
|
||||
You can choose _either_ of the 2 following methods.
|
||||
|
||||
#### Method 1: Clone the Repository
|
||||
|
||||
1. `cd ~/printer_data/config`
|
||||
2. Empty entire `~/printer_data/config` folder.
|
||||
- In linux, you can delete files via `rm fileName` and directories via `rmdir directoryName`.
|
||||
3. `git clone -b master --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .` ⚠️ Don't miss the period!
|
||||
|
||||
#### Method 2: Download the ZIP
|
||||
|
||||
1. [Download](https://github.com/bassamanator/Sovol-SV06-firmware/archive/refs/heads/master.zip) the `ZIP` file containing the Klipper configuration.
|
||||
2. See `Step 2` in `Method 1`.
|
||||
3. The parent folder in the `ZIP` is `Sovol-SV06-firmware-master`. This is relevant in the next step.
|
||||
4. Extract **only** the _contents_ of the parent folder into `~/printer_data/config`.
|
||||
|
||||
## Initial Steps
|
||||
|
||||
### Adjust Configuration with MCU Path
|
||||
|
||||
1. Find what port the `mcu` (printer motherboard) is connected to via `ls -l /dev/serial/by-id/` or `ls -l /dev/serial/by-path/`.
|
||||
1. The output will be something along the lines of
|
||||
`lrwxrwxrwx 13 root root 22 Apr 11:10 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB0`.
|
||||
2. `usb-1a86_USB2.0-Serial-if00-port0` is the relevant part.
|
||||
3. Therefore, the full path to your `mcu` is either `/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0` or `/dev/serial/by-path/usb-1a86_USB2.0-Serial-if00-port0`, depending on the command you used to find the `mcu`.
|
||||
2. Adjust the `[mcu]` section in `printer.cfg` accordingly.
|
||||
This is just an _example_ `mcu` section:
|
||||
|
||||
```
|
||||
[mcu]
|
||||
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
||||
restart_method: command
|
||||
```
|
||||
|
||||
3. Do a `FIRMWARE_RESTART`.
|
||||
|
||||
If you've done everything correctly, you should see no errors or warnings in your Mainsail/Fluidd dashboard.
|
||||
|
||||
### Configure Your Printer
|
||||
|
||||
❗☠️ **Your finger should be on the power switch for most of these steps** ☠️❗
|
||||
|
||||
❗☠️ **Power off if there is a collision/problem** ☠️❗
|
||||
|
||||
💡 I recommend no filament be loaded for any of these steps.
|
||||
|
||||
💡 Find explanations for gcode commands at [https://marlinfw.org/](https://marlinfw.org/) and [https://www.klipper3d.org/](https://www.klipper3d.org/G-Codes.html).
|
||||
|
||||
You will be pasting/typing these commands into the Mainsail/Fluidd console.
|
||||
|
||||
1. Check to see if `X` and `Y` max positions can be reached, and adjust `position_max`, if necessary. You might be able to go further, which is great, but I recommend leaving a 2mm gap for safety.
|
||||
1. `G28`
|
||||
2. `G90`
|
||||
3. `G1 X223 F3000`
|
||||
4. `G1 Y223 F3000`
|
||||
2. Do a mechanical gantry calibration; `G34`. After the controlled collision against the beam at the top, there will be a 10 second pause for you to verify that both sides of the gantry are pressed up against the `stoppers` at the top. You will hear a succession of beeps.
|
||||
1. Figure out your `Z` `position_max` by baby stepping your way up to the beam, and adjust `position_max`, if necessary.
|
||||
3. PID tune the bed. Ideally, all PID tuning should occur at the temperatures that you print most at.
|
||||
1. `PID_TEST_BED TEMP=70`
|
||||
2. `SAVE_CONFIG` (once completed)
|
||||
4. PID tune the extruder while part cooling fan runs at 25%.
|
||||
1. `PID_TEST_HOTEND TEMP=245`
|
||||
2. `SAVE_CONFIG` (once completed)
|
||||
5. Adjust `z_offset`. Make sure your nozzle if very clean. Do the [Paper test](https://www.klipper3d.org/Bed_Level.html?h=probe_calibrate#the-paper-test).
|
||||
1. `DO_PROBE_CALIBRATE`
|
||||
2. Follow `z_offset` setup in Mainsail/Fluidd.
|
||||
3. `SAVE_CONFIG` (once completed)
|
||||
6. Create a bed mesh.
|
||||
1. `DO_CREATE_MESH`
|
||||
2. `SAVE_CONFIG` (once completed)
|
||||
|
||||
If you've made it here, then your printer has been Klipperized, and is ready to print!
|
||||
|
||||
But first, adjust your slicer.
|
||||
|
||||
## Adjust Your Slicer
|
||||
|
||||
You need to adjust the start and end gcode in your slicer. The relevant macros are `PRINT_START` and `PRINT_END`. Find instructions [here](https://ellis3dp.com/Print-Tuning-Guide/articles/passing_slicer_variables.html#slicer-start-g-code).
|
||||
|
||||
If you would like to print a purge line before your print starts, at the end of your start gcode, on a new line add `PURGE_LINE`. Here's an example:
|
||||
|
||||
```
|
||||
PRINT_START BED=[first_layer_bed_temperature] HOTEND={first_layer_temperature[initial_extruder]+extruder_temperature_offset[initial_extruder]} CHAMBER=[chamber_temperature]
|
||||
PURGE_LINE
|
||||
```
|
||||
|
||||
## Directory Structure
|
||||
|
||||
This repository contains many files and folders. Some are _necessary_ for this Klipper configuration to work, others are not.
|
||||
|
||||
- **Necessary** items are marked with a ✅.
|
||||
- Items that can _optionally_ be deleted are marked with a ❌.
|
||||
|
||||
```
|
||||
├── cfgs ✅
|
||||
│ ├── adxl-direct.cfg
|
||||
│ ├── adxl-rp2040.cfg
|
||||
│ ├── adxl-rpi-pico-2x.cfg
|
||||
│ ├── MECHANICAL_GANTRY_CALIBRATION.cfg
|
||||
│ ├── misc-macros.cfg
|
||||
│ ├── PARKING.cfg
|
||||
│ └── TEST_SPEED.cfg
|
||||
├── CODE_OF_CONDUCT.md ❌
|
||||
├── CONTRIBUTING.md ❌
|
||||
├── .github ❌
|
||||
│ ├── FUNDING.yml
|
||||
│ └── ISSUE_TEMPLATE
|
||||
│ ├── bug_report.md
|
||||
│ └── feature_request.md
|
||||
├── .gitignore ❌
|
||||
├── images ❌
|
||||
│ ├── cup-border.png
|
||||
│ ├── githubstar.gif
|
||||
│ ├── heart.gif
|
||||
│ ├── logo_white_stroke.png
|
||||
│ └── party_blob.gif
|
||||
├── misc ❌
|
||||
│ ├── klipper-v0.11.0-148-g52f4e20c.bin
|
||||
│ ├── M503-output.yml
|
||||
│ ├── marlin-SV06V2.0.0A_2.24.bin
|
||||
│ ├── SuperSlicer_config_bundle.ini
|
||||
│ ├── sv06-buildPlate.png
|
||||
│ ├── SV06-buildPlate.stl
|
||||
│ └── SV06-texture.svg
|
||||
├── moonraker.conf ✅
|
||||
├── printer.cfg ✅
|
||||
├── README.md ❌
|
||||
└── .vscode ❌
|
||||
└── settings.json
|
||||
```
|
||||
|
||||
## Support Me
|
||||
|
||||
Please ⭐ star ⭐ this repository!
|
||||
|
||||
If you found my work useful, please consider buying me a [<img src="./images/logo_white_stroke.png" height="20" alt='Ko-fi'/>](https://ko-fi.com/bassamanator).
|
||||
|
||||
## FAQ
|
||||
|
||||
##### How do I import a SuperSlicer configuration bundle (`SuperSlicer_config_bundle.ini`) into SuperSlicer?
|
||||
|
||||
Please see [this discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/13).
|
||||
|
||||
##### How do I print using SuperSlicer?
|
||||
|
||||
Please see [this discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/14).
|
||||
|
||||
##### When does beeping occur?
|
||||
|
||||
The printer will beep upon:
|
||||
|
||||
- Filament runout.
|
||||
- Filament change/`M600`.
|
||||
- Upon `PRINT_END`.
|
||||
- `MECHANICAL_GANTRY_CALIBRATION`/`G34`.
|
||||
|
||||
##### How do I disable beeping?
|
||||
|
||||
Make the following changes according to your needs. All beeping will be disabled _except_ during gantry calibration.
|
||||
|
||||
| File | `cfgs/misc-macros.cfg` |
|
||||
| --------------- | -------------------------- |
|
||||
| Section | `[gcode_macro _globals]` |
|
||||
| Variable | `variable_beeping_enabled` |
|
||||
| Disable beeping | `0` |
|
||||
| Enable beeping | `1` |
|
||||
|
||||
##### I want to use a filament sensor. How do I set it up?
|
||||
|
||||
You can find information about the physical setup [here](https://github.com/bassamanator/everything-sovol-sv06#filament-sensor).
|
||||
|
||||
##### I have a simple filament sensor connected. How do I enable/disable it?
|
||||
|
||||
Make the following changes according to your needs.
|
||||
|
||||
| File | `cfgs/misc-macros.cfg` |
|
||||
| -------------- | ---------------------------------- |
|
||||
| Section | `[gcode_macro _globals]` |
|
||||
| Variable | `variable_filament_sensor_enabled` |
|
||||
| Disable sensor | `0` |
|
||||
| Enable sensor | `1` |
|
||||
|
||||
##### My filament runout sensor works, but I just started a print without any filament loaded. What gives?
|
||||
|
||||
A simple runout sensor can only detect a change in state. So, if you start a print without filament loaded, the printer will not know that there is no filament loaded. You should test your sensor by having filament loaded, starting a print, then cutting the filament. The expected behaviour is that the print will pause, and as long as you have beeping enabled, you will hear 3 annoying beeps.
|
||||
|
||||
##### What happens when I put in `M600`/colour change at a certain layer?
|
||||
|
||||
1. The printer will beep 3 times (not annoyingly).
|
||||
2. Printing will stop.
|
||||
3. The printhead will park itself front center.
|
||||
4. The hotend will turn off, but the bed will remain hot.
|
||||
|
||||
##### What happens when I pause a print?
|
||||
|
||||
Same behaviour as `M600`/colour change _except_ there won't be any beeping.
|
||||
|
||||
##### What happens when filament runs out?
|
||||
|
||||
_If_ you have a working filament sensor, the same behaviour as `M600`/colour change will occur _except_ the beeps will be fairly annoying.
|
||||
|
||||
##### How do I resume a print after a colour change or filament runout?
|
||||
|
||||
⚠️ _Do not disable the stepper motors during this process!_
|
||||
|
||||
The printhead is now parked front center waiting for you to insert filament. You will:
|
||||
|
||||
1. Heat up the hotend to the desired temperature.
|
||||
- Use your Klipper dashboard.
|
||||
2. Purge (push) some filament through the nozzle.
|
||||
- Use your Klipper dashboard, and extrude maybe 50mm (for a colour change you probably want to extrude more).
|
||||
- OR, you can push some filament by hand _making sure to first disengage the extruder's spring loaded arm_.
|
||||
3. Hit resume in your Klipper dashboard.
|
||||
|
||||
## Useful Resources
|
||||
|
||||
- [Everything Sovol SV06](https://github.com/bassamanator/everything-sovol-sv06)
|
||||
- [RP2040-Zero ADXL345 Connection Klipper](https://github.com/bassamanator/rp2040-zero-adxl345-klipper)
|
||||
- ⭐⭐⭐⭐⭐ [Ellis' Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide)
|
||||
- [Simplify3D Print Quality Troubleshooting Guide](https://www.simplify3d.com/resources/print-quality-troubleshooting/)
|
||||
|
||||
## Sovol Official Links
|
||||
|
||||
- [SV06 Marlin Source Code](https://github.com/Sovol3d/Sv06-Source-Code)
|
||||
- [SV06 Models](https://github.com/Sovol3d/SV06-Fully-Open-Source)
|
||||
- [SV06 Plus Marlin Source Code and Models](https://github.com/Sovol3d/SV06-PLUS)
|
||||
|
||||
## Sources
|
||||
|
||||
- https://www.klipper3d.org
|
||||
- https://ellis3dp.com/Print-Tuning-Guide
|
||||
- https://github.com/strayr/strayr-k-macros
|
||||
- https://docs.vorondesign.com/build/software/miniE3_v20_klipper.html
|
||||
- https://github.com/spinixguy/Sovol-SV06-firmware
|
||||
- https://www.printables.com/model/378915-sovol-sv06-buildplate-texture-and-model-for-prusas
|
||||
- https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles
|
||||
|
||||
[](https://ko-fi.com/H2H0HIHTH)
|
||||
|
||||
49
cfgs/CALIBRATION.cfg
Normal file
@@ -0,0 +1,49 @@
|
||||
[gcode_macro PID_TEST_BED]
|
||||
gcode:
|
||||
# Parameters
|
||||
{% set TARGETTEMP = params.TEMP|default(70)|int %}
|
||||
|
||||
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
||||
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
|
||||
G28
|
||||
G90
|
||||
G1 X{max_x/2} Y{max_y/2} Z40 F6000
|
||||
PID_CALIBRATE HEATER=heater_bed TARGET={TARGETTEMP}
|
||||
|
||||
[gcode_macro PID_TEST_HOTEND]
|
||||
gcode:
|
||||
# Parameters
|
||||
{% set TARGETTEMP = params.TEMP|default(245)|int %}
|
||||
|
||||
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
||||
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
|
||||
G28
|
||||
G90
|
||||
G1 X{max_x/2} Y{max_y/2} Z10 F6000
|
||||
M106 S64
|
||||
PID_CALIBRATE HEATER=extruder TARGET={TARGETTEMP}
|
||||
|
||||
# TODO test this
|
||||
[gcode_macro PID_TEST_ALL]
|
||||
gcode:
|
||||
PID_TEST_BED
|
||||
PID_TEST_HOTEND
|
||||
SAVE_CONFIG
|
||||
|
||||
[gcode_macro DO_PROBE_CALIBRATE]
|
||||
gcode:
|
||||
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60
|
||||
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=60
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=180
|
||||
G28
|
||||
PROBE_CALIBRATE
|
||||
|
||||
[gcode_macro DO_CREATE_MESH]
|
||||
gcode:
|
||||
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60
|
||||
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=60
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=180
|
||||
G28
|
||||
_BED_MESH_CALIBRATE
|
||||
43
cfgs/adxl-rpi-pico-2x.cfg
Normal file
@@ -0,0 +1,43 @@
|
||||
#####################################################################
|
||||
# Config that supports a print head and a bed sensor at the same time
|
||||
# This requires a Raspberry Pi Pico.
|
||||
# Instructions: https://klipper.discourse.group/t/raspberry-pi-pico-adxl345-portable-resonance-measurement/1757/9
|
||||
# TLDR Instructions: The two sensors should use the spi0a (GPIO 0-3) and spi1a (GPIO 9-12) buses, respectively.
|
||||
#
|
||||
# Recommended mounts:
|
||||
# https://www.printables.com/model/385334-sovol-sv06-adxl345-mount-printhead-and-bed
|
||||
#
|
||||
# ADXL345 related Settings
|
||||
# https://www.klipper3d.org/Measuring_Resonances.html#adxl345
|
||||
#####################################################################
|
||||
|
||||
[mcu RP2040]
|
||||
baud: 115200
|
||||
restart_method: command
|
||||
# Obtain definition by "ls -l /dev/serial/by-id/"
|
||||
serial: /dev/serial/by-id/usb-Klipper_rp2040_E66138935F154C28-if00
|
||||
|
||||
[adxl345 head]
|
||||
cs_pin: RP2040:gpio1
|
||||
spi_bus: spi0a
|
||||
# update axes_map if your sensor is oriented differently. Note the print on your sensor.
|
||||
# -y, -z, x means that
|
||||
# - the x axis of your printer corresponds to the sensor's negative y axis
|
||||
# - the y axis of your printer corresponds to the sensor's negative z axis
|
||||
# - the z axis of your printer corresponds to the sensor's x axis
|
||||
axes_map: -y, -z, x
|
||||
|
||||
[adxl345 bed]
|
||||
cs_pin: RP2040:gpio9
|
||||
spi_bus: spi1a
|
||||
|
||||
[resonance_tester]
|
||||
accel_chip_x: adxl345 head
|
||||
accel_chip_y: adxl345 bed
|
||||
probe_points: 111.5, 111.5, 20
|
||||
|
||||
[gcode_macro ADX]
|
||||
description: Shortcut to ACCELEROMETER_QUERY for both sensors
|
||||
gcode:
|
||||
ACCELEROMETER_QUERY CHIP=head
|
||||
ACCELEROMETER_QUERY CHIP=bed
|
||||
104
cfgs/kamp/Adaptive_Meshing.cfg
Normal file
@@ -0,0 +1,104 @@
|
||||
# # # Klipper Adaptive Meshing # # #
|
||||
|
||||
# Heads up! If you have any other BED_MESH_CALIBRATE macros defined elsewhere in your config, you will need to comment out / remove them for this to work. (Klicky/Euclid Probe)
|
||||
# You will also need to be sure that [exclude_object] is defined in printer.cfg, and your slicer is labeling objects.
|
||||
# This macro will parse information from objects in your gcode to define a min and max mesh area to probe, creating an adaptive mesh!
|
||||
# This macro will not increase probe_count values in your [bed_mesh] config. If you want richer meshes, be sure to increase probe_count. We recommend at least 5,5.
|
||||
|
||||
[gcode_macro BED_MESH_CALIBRATE]
|
||||
rename_existing: _BED_MESH_CALIBRATE
|
||||
gcode:
|
||||
|
||||
{% set all_points = printer.exclude_object.objects | map(attribute='polygon') | sum(start=[]) %} # Gather all object points
|
||||
{% set bed_mesh_min = printer.configfile.settings.bed_mesh.mesh_min %} # Get bed mesh min from printer.cfg
|
||||
{% set bed_mesh_max = printer.configfile.settings.bed_mesh.mesh_max %} # Get bed mesh max from printer.cfg
|
||||
{% set probe_count = printer.configfile.settings.bed_mesh.probe_count %} # Get probe count from printer.cfg
|
||||
{% set verbose_enable = printer["gcode_macro _KAMP_Settings"].verbose_enable | abs %} # Pull verbose setting from _KAMP_Settings
|
||||
{% set mesh_margin = printer["gcode_macro _KAMP_Settings"].mesh_margin | float %} # Pull mesh margin setting from _KAMP_Settings
|
||||
{% set fuzz_amount = printer["gcode_macro _KAMP_Settings"].fuzz_amount | float %} # Pull fuzz amount setting from _KAMP_Settings
|
||||
{% set probe_count = probe_count if probe_count|length > 1 else probe_count * 2 %} # If probe count is only a single number, convert it to 2. E.g. probe_count:7 = 7,7
|
||||
{% set max_probe_point_distance_x = ( bed_mesh_max[0] - bed_mesh_min[0] ) / (probe_count[0] - 1) %} # Determine max probe point distance
|
||||
{% set max_probe_point_distance_y = ( bed_mesh_max[1] - bed_mesh_min[1] ) / (probe_count[1] - 1) %} # Determine max probe point distance
|
||||
{% set x_min = all_points | map(attribute=0) | min | default(bed_mesh_min[0]) %} # Set x_min from smallest object x point
|
||||
{% set y_min = all_points | map(attribute=1) | min | default(bed_mesh_min[1]) %} # Set y_min from smallest object y point
|
||||
{% set x_max = all_points | map(attribute=0) | max | default(bed_mesh_max[0]) %} # Set x_max from largest object x point
|
||||
{% set y_max = all_points | map(attribute=1) | max | default(bed_mesh_max[1]) %} # Set y_max from largest object y point
|
||||
|
||||
{% set fuzz_range = range((0) | int, (fuzz_amount * 100) | int + 1) %} # Set fuzz_range between 0 and fuzz_amount
|
||||
{% set adapted_x_min = (bed_mesh_min[0] + fuzz_amount - mesh_margin, x_min) | max - (fuzz_range | random / 100.0) %} # Adapt x_min to margin and fuzz constraints
|
||||
{% set adapted_y_min = (bed_mesh_min[1] + fuzz_amount - mesh_margin, y_min) | max - (fuzz_range | random / 100.0) %} # Adapt y_min to margin and fuzz constraints
|
||||
{% set adapted_x_max = (bed_mesh_max[0] - fuzz_amount + mesh_margin, x_max) | min + (fuzz_range | random / 100.0) %} # Adapt x_max to margin and fuzz constraints
|
||||
{% set adapted_y_max = (bed_mesh_max[1] - fuzz_amount + mesh_margin, y_max) | min + (fuzz_range | random / 100.0) %} # Adapt y_max to margin and fuzz constraints
|
||||
|
||||
{% set points_x = (((adapted_x_max - adapted_x_min) / max_probe_point_distance_x) | round(method='ceil') | int) + 1 %} # Define probe_count's x point count and round up
|
||||
{% set points_y = (((adapted_y_max - adapted_y_min) / max_probe_point_distance_y) | round(method='ceil') | int) + 1 %} # Define probe_count's y point count and round up
|
||||
|
||||
{% if (([points_x, points_y]|max) > 6) %} #
|
||||
{% set algorithm = "bicubic" %} #
|
||||
{% set min_points = 4 %} #
|
||||
{% else %} # Calculate if algorithm should be bicubic or lagrange
|
||||
{% set algorithm = "lagrange" %} #
|
||||
{% set min_points = 3 %} #
|
||||
{% endif %} #
|
||||
|
||||
{% set points_x = [points_x, min_points]|max %} # Set probe_count's x points to fit the calculated algorithm
|
||||
{% set points_y = [points_y, min_points]|max %} # Set probe_count's y points to fit the calculated algorithm
|
||||
{% set points_x = [points_x, probe_count[0]]|min %}
|
||||
{% set points_y = [points_y, probe_count[1]]|min %}
|
||||
|
||||
{% if verbose_enable == True %} # If verbose is enabled, print information about KAMP's calculations
|
||||
|
||||
{ action_respond_info( "Algorithm: {}.".format(
|
||||
(algorithm),
|
||||
)) }
|
||||
|
||||
{ action_respond_info("Default probe count: {},{}.".format(
|
||||
(probe_count[0]),
|
||||
(probe_count[1]),
|
||||
)) }
|
||||
|
||||
{ action_respond_info("Adapted probe count: {},{}.".format(
|
||||
(points_x),
|
||||
(points_y),
|
||||
)) }
|
||||
|
||||
{action_respond_info("Default mesh bounds: {}, {}.".format(
|
||||
(bed_mesh_min[0],bed_mesh_min[1]),
|
||||
(bed_mesh_max[0],bed_mesh_max[1]),
|
||||
)) }
|
||||
|
||||
{% if mesh_margin > 0 %}
|
||||
{action_respond_info("Mesh margin is {}, mesh bounds extended by {}mm.".format(
|
||||
(mesh_margin),
|
||||
(mesh_margin),
|
||||
)) }
|
||||
{% else %}
|
||||
{action_respond_info("Mesh margin is 0, margin not increased.")}
|
||||
{% endif %}
|
||||
|
||||
{% if fuzz_amount > 0 %}
|
||||
{action_respond_info("Mesh point fuzzing enabled, points fuzzed up to {}mm.".format(
|
||||
(fuzz_amount),
|
||||
)) }
|
||||
{% else %}
|
||||
{action_respond_info("Fuzz amount is 0, mesh points not fuzzed.")}
|
||||
{% endif %}
|
||||
|
||||
{ action_respond_info("Adapted mesh bounds: {}, {}.".format(
|
||||
(adapted_x_min, adapted_y_min),
|
||||
(adapted_x_max, adapted_y_max),
|
||||
)) }
|
||||
|
||||
{action_respond_info("KAMP adjustments successful. Happy KAMPing!")}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if probe_dock_enable == True %}
|
||||
{attach_macro} # Attach/deploy a probe if the probe is stored somewhere outside of the print area
|
||||
{% endif %}
|
||||
|
||||
_BED_MESH_CALIBRATE mesh_min={adapted_x_min},{adapted_y_min} mesh_max={adapted_x_max},{adapted_y_max} ALGORITHM={algorithm} PROBE_COUNT={points_x},{points_y}
|
||||
|
||||
{% if probe_dock_enable == True %}
|
||||
{detach_macro} # Detach/stow a probe if the probe is stored somewhere outside of the print area
|
||||
{% endif %} # End of verbose
|
||||
31
cfgs/kamp/KAMP_Settings.cfg
Normal file
@@ -0,0 +1,31 @@
|
||||
# Below you can include specific configuration files depending on what you want KAMP to do:
|
||||
|
||||
[include ./Adaptive_Meshing.cfg] # Include to enable adaptive meshing configuration.
|
||||
# [include ./KAMP/Line_Purge.cfg] # Include to enable adaptive line purging configuration.
|
||||
|
||||
[gcode_macro _KAMP_Settings]
|
||||
description: This macro contains all adjustable settings for KAMP
|
||||
|
||||
# The following variables are settings for KAMP as a whole.
|
||||
variable_verbose_enable: True # Set to True to enable KAMP information output when running. This is useful for debugging.
|
||||
|
||||
# The following variables are for adjusting adaptive mesh settings for KAMP.
|
||||
variable_mesh_margin: 0 # Expands the mesh size in millimeters if desired. Leave at 0 to disable.
|
||||
variable_fuzz_amount: 0 # Slightly randomizes mesh points to spread out wear from nozzle-based probes. Leave at 0 to disable.
|
||||
|
||||
# The following variables are for those with a dockable probe like Klicky, Euclid, etc. # ---------------- Attach Macro | Detach Macro
|
||||
variable_probe_dock_enable: False # Set to True to enable the usage of a dockable probe. # ---------------------------------------------
|
||||
variable_attach_macro: 'Attach_Probe' # The macro that is used to attach the probe. # Klicky Probe: 'Attach_Probe' | 'Dock_Probe'
|
||||
variable_detach_macro: 'Dock_Probe' # The macro that is used to store the probe. # Euclid Probe: 'Deploy_Probe' | 'Stow_Probe'
|
||||
# Legacy Gcode: 'M401' | 'M402'
|
||||
|
||||
# The following variables are for adjusting adaptive purge settings for KAMP.
|
||||
variable_purge_height: 0.8 # Z position of nozzle during purge, default is 0.8.
|
||||
variable_tip_distance: 0 # Distance between tip of filament and nozzle before purge. Should be similar to PRINT_END final retract amount.
|
||||
variable_purge_margin: 10 # Distance the purge will be in front of the print area, default is 10.
|
||||
variable_purge_amount: 30 # Amount of filament to be purged prior to printing.
|
||||
variable_flow_rate: 12 # Flow rate of purge in mm3/s. Default is 12.
|
||||
|
||||
gcode: # Gcode section left intentionally blank. Do not disturb.
|
||||
|
||||
{action_respond_info(" Running the KAMP_Settings macro does nothing, it is only used for storing KAMP settings. ")}
|
||||
113
cfgs/kamp/Line_Purge.cfg
Normal file
@@ -0,0 +1,113 @@
|
||||
[gcode_macro LINE_PURGE]
|
||||
description: A purge macro that adapts to be near your actual printed objects
|
||||
gcode:
|
||||
# Get relevant printer params
|
||||
{% set travel_speed = (printer.toolhead.max_velocity) * 60 | float %}
|
||||
{% set cross_section = printer.configfile.settings.extruder.max_extrude_cross_section | float %}
|
||||
|
||||
# Use firmware retraction if it is defined
|
||||
{% if printer.firmware_retraction is defined %}
|
||||
{% set RETRACT = G10 | string %}
|
||||
{% set UNRETRACT = G11 | string %}
|
||||
{% else %}
|
||||
{% set RETRACT = 'G1 E-.5 F2100' | string %}
|
||||
{% set UNRETRACT = 'G1 E.5 F2100' | string %}
|
||||
{% endif %}
|
||||
|
||||
# Get purge settings from _Kamp_Settings
|
||||
{% set verbose_enable = printer["gcode_macro _KAMP_Settings"].verbose_enable | abs %}
|
||||
{% set purge_height = printer["gcode_macro _KAMP_Settings"].purge_height | float %}
|
||||
{% set tip_distance = printer["gcode_macro _KAMP_Settings"].tip_distance | float %}
|
||||
{% set purge_margin = printer["gcode_macro _KAMP_Settings"].purge_margin | float %}
|
||||
{% set purge_amount = printer["gcode_macro _KAMP_Settings"].purge_amount | float %}
|
||||
{% set flow_rate = printer["gcode_macro _KAMP_Settings"].flow_rate | float %}
|
||||
|
||||
|
||||
# Calculate purge origins and centers from objects
|
||||
{% set all_points = printer.exclude_object.objects | map(attribute='polygon') | sum(start=[]) %} # Get all object points
|
||||
{% set purge_x_min = (all_points | map(attribute=0) | min | default(0)) %} # Object x min
|
||||
{% set purge_x_max = (all_points | map(attribute=0) | max | default(0)) %} # Object x max
|
||||
{% set purge_y_min = (all_points | map(attribute=1) | min | default(0)) %} # Object y min
|
||||
{% set purge_y_max = (all_points | map(attribute=1) | max | default(0)) %} # Object y max
|
||||
|
||||
{% set purge_x_center = ([((purge_x_max + purge_x_min) / 2) - (purge_amount / 2), 0] | max) %} # Create center point of purge line relative to print on X axis
|
||||
{% set purge_y_center = ([((purge_y_max + purge_y_min) / 2) - (purge_amount / 2), 0] | max) %} # Create center point of purge line relative to print on Y axis
|
||||
|
||||
{% set purge_x_origin = ([purge_x_min - purge_margin, 0] | max) %} # Add margin to x min, compare to 0, and choose the larger
|
||||
{% set purge_y_origin = ([purge_y_min - purge_margin, 0] | max) %} # Add margin to y min, compare to 0, and choose the larger
|
||||
|
||||
# Calculate purge speed
|
||||
{% set purge_move_speed = (flow_rate / cross_section) * 60 | float %}
|
||||
|
||||
{% if cross_section != 5 %}
|
||||
|
||||
{action_respond_info("[Extruder] max_extrude_cross_section is not configured correctly, please set it to 5. Purge skipped.")}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% if verbose_enable == True %}
|
||||
|
||||
{action_respond_info("Moving filament tip {}mms".format(
|
||||
(tip_distance),
|
||||
)) }
|
||||
{% endif %}
|
||||
|
||||
{% if printer.firmware_retraction is defined %}
|
||||
{action_respond_info("KAMP purge is using firmware retraction.")}
|
||||
{% else %}
|
||||
{action_respond_info("KAMP purge is not using firmware retraction, it is recommended to configure it.")}
|
||||
{% endif %}
|
||||
|
||||
{% if purge_y_origin > 0 %}
|
||||
|
||||
{action_respond_info("KAMP purge starting at {}, {} and purging {}mm of filament, requested flow rate is {}mm/s3.".format(
|
||||
(purge_x_center),
|
||||
(purge_y_origin),
|
||||
(purge_amount),
|
||||
(flow_rate),
|
||||
)) }
|
||||
|
||||
{% else %}
|
||||
|
||||
{action_respond_info("KAMP purge starting at {}, {} and purging {}mm of filament, requested flow rate is {}mm/s3.".format(
|
||||
(purge_x_origin),
|
||||
(purge_y_center),
|
||||
(purge_amount),
|
||||
(flow_rate),
|
||||
)) }
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if purge_y_origin > 0 %} # If there's room on Y, purge along X axis in front of print area
|
||||
|
||||
G92 E0 # Reset extruder
|
||||
G0 F{travel_speed} # Set travel speed
|
||||
G90 # Absolute positioning
|
||||
G0 X{purge_x_center} Y{purge_y_origin} # Move to purge position
|
||||
G0 Z{purge_height} # Move to purge Z height
|
||||
M83 # Relative extrusion mode
|
||||
G1 E{tip_distance} F{purge_move_speed} # Move filament tip
|
||||
G1 X{purge_x_center + purge_amount} E{purge_amount} F{purge_move_speed} # Purge line
|
||||
{RETRACT} # Retract
|
||||
G92 E0 # Reset extruder distance
|
||||
M82 # Absolute extrusion mode
|
||||
G0 Z{purge_height * 2} F{travel_speed} # Z hop
|
||||
|
||||
{% else %} # If there's room on X, purge along Y axis to the left of print area
|
||||
|
||||
G92 E0 # Reset extruder
|
||||
G0 F{travel_speed} # Set travel speed
|
||||
G90 # Absolute positioning
|
||||
G0 X{purge_x_origin} Y{purge_y_center} # Move to purge position
|
||||
G0 Z{purge_height} # Move to purge Z height
|
||||
M83 # Relative extrusion mode
|
||||
G1 E{tip_distance} F{purge_move_speed} # Move filament tip
|
||||
G1 Y{purge_y_center + purge_amount} E{purge_amount} F{purge_move_speed} # Purge line
|
||||
{RETRACT} # Retract
|
||||
G92 E0 # Reset extruder distance
|
||||
M82 # Absolute extrusion mode
|
||||
G0 Z{purge_height * 2} F{travel_speed} # Z hop
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
@@ -1,8 +1,14 @@
|
||||
[force_move]
|
||||
enable_force_move: True
|
||||
|
||||
[temperature_sensor raspberry_pi]
|
||||
sensor_type: temperature_host
|
||||
# NOTE If you're using a Raspberry Pi, you can uncomment the next 2 lines, optionally.
|
||||
# [temperature_sensor raspberry_pi]
|
||||
# sensor_type: temperature_host
|
||||
|
||||
# NOTE If you're using a an Orange Pi, you can uncomment the next 3 lines, optionally.
|
||||
# [temperature_sensor Orange_Pi]
|
||||
# sensor_type: temperature_host
|
||||
# sensor_path: /sys/class/thermal/thermal_zone0/temp
|
||||
|
||||
[virtual_sdcard]
|
||||
path: /home/pi/printer_data/gcodes
|
||||
@@ -20,13 +26,13 @@ gcode:
|
||||
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
|
||||
|
||||
[gcode_macro _globals]
|
||||
variable_filament_sensor_enabled: 1 # NOTE Enable(1) or disable(0) the filament sensor, if one is connected
|
||||
variable_filament_sensor_enabled: 0 # NOTE Enable(1) or disable(0) the filament sensor, if one is connected
|
||||
variable_beeping_enabled: 1 # NOTE Enable(1) or disable(0) beeping everywhere except during gantry calibration
|
||||
variable_pre_purge_prime_length: 1.25
|
||||
variable_bed_temp_over: 10 # NOTE Start print if bed temperature is over by this amount, otherwise wait for temperature drop
|
||||
variable_kamp_enable: 1 # NOTE Enable(1) or disable(0) KAMP (adaptive mesh)
|
||||
variable_pre_purge_prime_length: 1.40
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=_globals VARIABLE=pre_purge_prime_length VALUE={ variable_pre_purge_prime_length }
|
||||
SET_GCODE_VARIABLE MACRO=_globals VARIABLE=filament_sensor_enabled VALUE={ variable_filament_sensor_enabled }
|
||||
SET_GCODE_VARIABLE MACRO=_globals VARIABLE=beeping_enabled VALUE={ variable_beeping_enabled }
|
||||
# Don't delete this section
|
||||
|
||||
[gcode_macro CONDITIONAL_BEEP]
|
||||
gcode:
|
||||
@@ -79,10 +85,7 @@ gcode:
|
||||
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
|
||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1
|
||||
|
||||
# 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 %}
|
||||
# Misc variables
|
||||
{% set extrudeAmount = 26.6 %}
|
||||
{% set movementLength = 100.0 %}
|
||||
{% set movementSpeed = 15 * 60 %}
|
||||
@@ -100,7 +103,7 @@ gcode:
|
||||
M83 ; Relative extrusion mode
|
||||
G1 E{PRE_PURGE_PRIME_LENGTH} F500 ; pre-purge prime LENGTH SHOULD MATCH YOUR PRINT_END RETRACT
|
||||
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
|
||||
@@ -116,41 +119,59 @@ gcode:
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1
|
||||
# Parameters
|
||||
{% set bedtemp = params.BED|int %}
|
||||
{% set hotendtemp = params.HOTEND|int %}
|
||||
{% set chambertemp = params.CHAMBER|default(0)|int %}
|
||||
|
||||
# Other variables
|
||||
{% set bedtempSlicer = bedtemp %}
|
||||
{% set bedtempOver = printer["gcode_macro _globals"].bed_temp_over|default(0)|int %}
|
||||
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
|
||||
{% set maxVelocityAdjusted = (0.90 * maxVelocity * 60)|int %}
|
||||
{% set kampEnabled=printer["gcode_macro _globals"].kamp_enable|default(0)|int %}
|
||||
|
||||
{% if printer.configfile.settings.safe_z_home %}
|
||||
{% set startX = printer.configfile.settings.safe_z_home.home_xy_position[0]|float %}
|
||||
{% set startY = printer.configfile.settings.safe_z_home.home_xy_position[1]|float %}
|
||||
{% else %}
|
||||
{% set startX = 0 %}
|
||||
{% set startY = 0 %}
|
||||
{% endif %}
|
||||
|
||||
{% set bedtempAlmost = (bedtemp - 2)|int %}
|
||||
{% set hotendtempStepOne = 150|int %}
|
||||
{% set hotendtempStepTwo = 170|int %}
|
||||
{% set bedtempAlmost = ((bedtemp - 2, 0, printer.heater_bed.temperature|int)|max, bedtemp)|max %}
|
||||
{% set hotendtempStepOne = ((hotendtemp, printer[printer.toolhead.extruder].temperature|int)|min, 150)|max %}
|
||||
{% set hotendtempStepTwo = ((hotendtemp, printer[printer.toolhead.extruder].temperature|int)|min, 170)|max %}
|
||||
|
||||
BED_MESH_PROFILE LOAD=default ; NOTE if not using a mesh, comment out this line
|
||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1
|
||||
# If bed-temp-almost is higher than bed-temp by a maximum of bed-temp-over
|
||||
{% if bedtempAlmost > bedtemp %}
|
||||
{% if (bedtempAlmost - bedtempOver) <= bedtemp %}
|
||||
{% set bedtemp = bedtempAlmost %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
G90 ; absolute positioning
|
||||
M140 S{bedtempAlmost} ; set & don't wait for bed temp
|
||||
M104 S{hotendtempStepOne} ; set & don't wait for hotend temp
|
||||
G28 X Y
|
||||
{% if printer.configfile.settings.safe_z_home %}
|
||||
G1 X{startX} Y{startY} F{maxVelocityAdjusted}
|
||||
{% endif %}
|
||||
|
||||
M190 S{bedtempAlmost} ; set & wait for bed temp
|
||||
{% if kampEnabled == 0 %}
|
||||
M104 S{hotendtempStepTwo} ; set & don't wait for hotend temp
|
||||
{% endif %}
|
||||
M190 S{bedtemp} ; set & wait for bed temp
|
||||
M140 S{bedtempSlicer} ; set & don't wait for bed temp ; set temp to sliced setting regardless
|
||||
|
||||
{% if kampEnabled == 0 %}
|
||||
BED_MESH_PROFILE LOAD=default ; NOTE if not using a mesh, comment out this line
|
||||
M104 S{hotendtemp} ; set & don't wait for hotend temp
|
||||
G28 Z ; final z homing
|
||||
{% else %}
|
||||
G28 Z ; final z homing
|
||||
BED_MESH_CALIBRATE ; KAMP mesh
|
||||
M104 S{hotendtemp} ; set & don't wait for hotend temp
|
||||
{% endif %}
|
||||
|
||||
G1 X0 Y0 F{maxVelocityAdjusted}
|
||||
M109 S{hotendtemp} ; set & wait for hotend temp
|
||||
|
||||
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
BIN
images/heart.gif
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 510 KiB |
BIN
images/party_blob.gif
Normal file
|
After Width: | Height: | Size: 83 KiB |
@@ -1,63 +1,48 @@
|
||||
Recv: echo:; Linear Units:
|
||||
Recv: echo: G21 ; (mm)
|
||||
Recv: echo:; Temperature Units:
|
||||
Recv: echo: M149 C ; Units in Celsius
|
||||
Recv: echo:; Filament settings (Disabled):
|
||||
Recv: echo: M200 S0 D1.75
|
||||
Recv: echo:; Steps per unit:
|
||||
Recv: echo: M92 X80.00 Y80.00 Z800.00 E691.50
|
||||
Recv: echo:; Max feedrates (units/s):
|
||||
Recv: echo: M203 X200.00 Y200.00 Z12.00 E120.00
|
||||
Recv: echo:; Max Acceleration (units/s2):
|
||||
Recv: echo: M201 X1000.00 Y1000.00 Z200.00 E5000.00
|
||||
Recv: echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
|
||||
Recv: echo: M204 P1000.00 R1250.00 T1500.00
|
||||
Recv: echo:; Advanced (B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> J<junc_dev>):
|
||||
Recv: echo: M205 B20000.00 S0.00 T0.00 J0.01
|
||||
Recv: echo:; Home offset:
|
||||
Recv: echo: M206 X0.00 Y0.00 Z0.00
|
||||
Recv: echo:; Unified Bed Leveling:
|
||||
Recv: echo: M420 S1 Z10.00 ; Leveling ON
|
||||
Recv: Unified Bed Leveling System v1.01 active
|
||||
Recv: echo:Active Mesh Slot 0
|
||||
Recv: echo:EEPROM can hold 2 meshes.
|
||||
Recv: echo:; X-Twist Correction:
|
||||
Recv: M423 A0.00 I110.00
|
||||
Recv: M423 X0 Z0.00
|
||||
Recv: M423 X1 Z0.00
|
||||
Recv: M423 X2 Z0.00
|
||||
Recv: echo:; Material heatup parameters:
|
||||
Recv: echo: M145 S0 H200.00 B60.00 F0
|
||||
Recv: echo: M145 S1 H240.00 B70.00 F0
|
||||
Recv: echo: M145 S2 H205.00 B45.00 F0
|
||||
Recv: echo: M145 S3 H260.00 B70.00 F0
|
||||
Recv: echo:; Hotend PID:
|
||||
Recv: echo: M301 P23.48 I2.99 D46.09
|
||||
Recv: echo:; Bed PID:
|
||||
Recv: echo: M304 P163.96 I28.03 D639.32
|
||||
Recv: echo:; User thermistors:
|
||||
Recv: echo: M305 P0 R4700.0 T94162.0 B4160.0 C0.000000000 ; HOTEND 0
|
||||
Recv: echo:; Power-loss recovery:
|
||||
Recv: echo: M413 S0 ; OFF
|
||||
Recv: echo:; Z-Probe Offset:
|
||||
Recv: echo: M851 X28.00 Y-20.00 Z-2.02 ; (mm)
|
||||
Recv: echo:; Stepper driver current:
|
||||
Recv: echo: M906 X860 Y900 Z1000
|
||||
Recv: echo: M906 T0 E550
|
||||
Recv: echo:; Hybrid Threshold:
|
||||
Recv: echo: M913 X183 Y183 Z41
|
||||
Recv: echo: M913 T0 E60
|
||||
Recv: echo:; StallGuard threshold:
|
||||
Recv: echo: M914 X65 Y68
|
||||
Recv: echo:; Driver stepping mode:
|
||||
Recv: echo: M569 S1 X Y Z
|
||||
Recv: echo: M569 S1 T0 E
|
||||
Recv: echo:; Input Shaping:
|
||||
Recv: echo: M593 X F40.00 D0.15
|
||||
Recv: echo: M593 Y F40.00 D0.15
|
||||
Recv: echo:; Linear Advance:
|
||||
Recv: echo: M900 K0.05
|
||||
Recv: echo:; Filament load/unload:
|
||||
Recv: echo: M603 L0.00 U50.00 ; (mm)
|
||||
Recv: echo:; Filament runout sensor:
|
||||
Recv: echo: M412 S0 ; Sensor OFF
|
||||
echo:; Linear Units:
|
||||
echo: G21 ; (mm)
|
||||
echo:; Temperature Units:
|
||||
echo: M149 C ; Units in Celsius
|
||||
echo:; Filament settings (Disabled):
|
||||
echo: M200 S0 D1.75
|
||||
echo:; Steps per unit:
|
||||
echo: M92 X80.00 Y80.00 Z800.00 E691.50
|
||||
echo:; Max feedrates (units/s):
|
||||
echo: M203 X500.00 Y500.00 Z10.00 E30.00
|
||||
echo:; Max Acceleration (units/s2):
|
||||
echo: M201 X500.00 Y500.00 Z100.00 E5000.00
|
||||
echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
|
||||
echo: M204 P500.00 R500.00 T1000.00
|
||||
echo:; Advanced (B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>):
|
||||
echo: M205 B20000.00 S0.00 T0.00 X8.00 Y8.00 Z0.40 E5.00
|
||||
echo:; Home offset:
|
||||
echo: M206 X0.00 Y0.00 Z0.00
|
||||
echo:; Auto Bed Leveling:
|
||||
echo: M420 S0 Z10.00 ; Leveling OFF
|
||||
echo:; Material heatup parameters:
|
||||
echo: M145 S0 H185.00 B60.00 F255
|
||||
echo: M145 S1 H240.00 B80.00 F255
|
||||
echo:; Hotend PID:
|
||||
echo: M301 P15.95 I1.30 D48.96
|
||||
echo:; Bed PID:
|
||||
echo:echo: M304 P110.38 I6.12 D497.30
|
||||
echo:; User thermistors:
|
||||
echo: M305 P0 R4700.0 T94162.0 B4160.0 C0.000000000 ; HOTEND 0
|
||||
echo:; Power-loss recovery:
|
||||
echo: M413 S1 ; ON
|
||||
echo:; Z-Probe Offset:
|
||||
echo: M851 X25.00 Y-25.00 Z0.00 ; (mm)
|
||||
echo:; Stepper driver current:
|
||||
echo: M906 X860 Y900 Z800
|
||||
echo: M906 T0 E550
|
||||
echo:; Hybrid Threshold:
|
||||
echo: M913 X183 Y183 Z41
|
||||
echo: M913 T0 E60
|
||||
echo:; StallGuard threshold:
|
||||
echo: M914 X68 Y70
|
||||
echo:; Driver stepping mode:
|
||||
echo: M569 S1 X Y Z
|
||||
echo: M569 S1 T0 E
|
||||
echo:; Linear Advance:
|
||||
echo: M900 K0.04
|
||||
echo:; Filament load/unload:
|
||||
echo: M603 L0.00 U50.00 ; (mm)
|
||||
@@ -1,6 +1,6 @@
|
||||
# generated by SuperSlicer 2.4 on 2023-02-15 at 02:16:55 UTC
|
||||
# generated by SuperSlicer 2.4 on 2023-03-14 at 23:18:59 UTC
|
||||
|
||||
[print:_Ellis_Decorative_45_Degree_11mm3-SOVOL]
|
||||
[print:_Ellis_Decorative_45_Degree_15mm3-SOVOL]
|
||||
allow_empty_layers = 0
|
||||
avoid_crossing_not_first_layer = 1
|
||||
avoid_crossing_perimeters = 0
|
||||
@@ -78,7 +78,7 @@ first_layer_acceleration_over_raft = 0
|
||||
first_layer_extrusion_spacing =
|
||||
first_layer_extrusion_width = 125%
|
||||
first_layer_flow_ratio = 100%
|
||||
first_layer_height = 0.25
|
||||
first_layer_height = 0.26
|
||||
first_layer_infill_speed = 60
|
||||
first_layer_min_speed = 0
|
||||
first_layer_size_compensation = -0.1
|
||||
@@ -132,7 +132,7 @@ ironing_speed = 15
|
||||
ironing_type = top
|
||||
layer_height = 0.2
|
||||
max_print_speed = 200
|
||||
max_volumetric_speed = 11
|
||||
max_volumetric_speed = 15
|
||||
milling_after_z = 200%
|
||||
milling_extra_size = 150%
|
||||
milling_post_process = 0
|
||||
@@ -172,7 +172,7 @@ print_custom_variables = wall_thickness_lines = 0
|
||||
print_extrusion_multiplier = 100%
|
||||
print_retract_length = -1
|
||||
print_retract_lift = -1
|
||||
print_settings_id = Ellis - Decorative 45 Degree (11mm3/s)
|
||||
print_settings_id = Ellis - Decorative 45 Degree (15mm3/s)
|
||||
print_temperature = 0
|
||||
raft_contact_distance = 0.1
|
||||
raft_expansion = 1.5
|
||||
@@ -267,7 +267,7 @@ wipe_tower_y = 140
|
||||
xy_inner_size_compensation = 0
|
||||
xy_size_compensation = 0
|
||||
|
||||
[print:_Ellis_Decorative_Standard_11mm3-SOVOL]
|
||||
[print:_Ellis_Decorative_Standard_15mm3-SOVOL]
|
||||
allow_empty_layers = 0
|
||||
avoid_crossing_not_first_layer = 1
|
||||
avoid_crossing_perimeters = 0
|
||||
@@ -345,7 +345,7 @@ first_layer_acceleration_over_raft = 0
|
||||
first_layer_extrusion_spacing =
|
||||
first_layer_extrusion_width = 125%
|
||||
first_layer_flow_ratio = 100%
|
||||
first_layer_height = 0.25
|
||||
first_layer_height = 0.26
|
||||
first_layer_infill_speed = 60
|
||||
first_layer_min_speed = 0
|
||||
first_layer_size_compensation = -0.1
|
||||
@@ -399,7 +399,7 @@ ironing_speed = 15
|
||||
ironing_type = top
|
||||
layer_height = 0.2
|
||||
max_print_speed = 200
|
||||
max_volumetric_speed = 11
|
||||
max_volumetric_speed = 15
|
||||
milling_after_z = 200%
|
||||
milling_extra_size = 150%
|
||||
milling_post_process = 0
|
||||
@@ -439,7 +439,7 @@ print_custom_variables = wall_thickness_lines = 0
|
||||
print_extrusion_multiplier = 100%
|
||||
print_retract_length = -1
|
||||
print_retract_lift = -1
|
||||
print_settings_id = Ellis - Decorative Standard (11mm3/s)
|
||||
print_settings_id = Ellis - Decorative Standard (15mm3/s)
|
||||
print_temperature = 0
|
||||
raft_contact_distance = 0.1
|
||||
raft_expansion = 1.5
|
||||
@@ -534,7 +534,7 @@ wipe_tower_y = 140
|
||||
xy_inner_size_compensation = 0
|
||||
xy_size_compensation = 0
|
||||
|
||||
[print:_Ellis_PIF_45_Degree_11mm3-SOVOL]
|
||||
[print:_Ellis_PIF_45_Degree_15mm3-SOVOL]
|
||||
allow_empty_layers = 0
|
||||
avoid_crossing_not_first_layer = 1
|
||||
avoid_crossing_perimeters = 0
|
||||
@@ -612,7 +612,7 @@ first_layer_acceleration_over_raft = 0
|
||||
first_layer_extrusion_spacing =
|
||||
first_layer_extrusion_width = 125%
|
||||
first_layer_flow_ratio = 100%
|
||||
first_layer_height = 0.25
|
||||
first_layer_height = 0.26
|
||||
first_layer_infill_speed = 60
|
||||
first_layer_min_speed = 0
|
||||
first_layer_size_compensation = -0.1
|
||||
@@ -666,7 +666,7 @@ ironing_speed = 15
|
||||
ironing_type = top
|
||||
layer_height = 0.2
|
||||
max_print_speed = 200
|
||||
max_volumetric_speed = 11
|
||||
max_volumetric_speed = 15
|
||||
milling_after_z = 200%
|
||||
milling_extra_size = 150%
|
||||
milling_post_process = 0
|
||||
@@ -706,7 +706,7 @@ print_custom_variables = wall_thickness_lines = 0
|
||||
print_extrusion_multiplier = 100%
|
||||
print_retract_length = -1
|
||||
print_retract_lift = -1
|
||||
print_settings_id = Ellis - PIF 45 Degree (11mm3/s)
|
||||
print_settings_id = Ellis - PIF 45 Degree (15mm3/s)
|
||||
print_temperature = 0
|
||||
raft_contact_distance = 0.1
|
||||
raft_expansion = 1.5
|
||||
@@ -801,7 +801,7 @@ wipe_tower_y = 140
|
||||
xy_inner_size_compensation = 0
|
||||
xy_size_compensation = 0
|
||||
|
||||
[print:_Ellis_PIF_Standard_11mm3-SOVOL]
|
||||
[print:_Ellis_PIF_Standard_15mm3-SOVOL]
|
||||
allow_empty_layers = 0
|
||||
avoid_crossing_not_first_layer = 1
|
||||
avoid_crossing_perimeters = 0
|
||||
@@ -879,7 +879,7 @@ first_layer_acceleration_over_raft = 0
|
||||
first_layer_extrusion_spacing =
|
||||
first_layer_extrusion_width = 125%
|
||||
first_layer_flow_ratio = 100%
|
||||
first_layer_height = 0.25
|
||||
first_layer_height = 0.26
|
||||
first_layer_infill_speed = 60
|
||||
first_layer_min_speed = 0
|
||||
first_layer_size_compensation = -0.1
|
||||
@@ -933,7 +933,7 @@ ironing_speed = 15
|
||||
ironing_type = top
|
||||
layer_height = 0.2
|
||||
max_print_speed = 200
|
||||
max_volumetric_speed = 11
|
||||
max_volumetric_speed = 15
|
||||
milling_after_z = 200%
|
||||
milling_extra_size = 150%
|
||||
milling_post_process = 0
|
||||
@@ -973,7 +973,7 @@ print_custom_variables = wall_thickness_lines = 0
|
||||
print_extrusion_multiplier = 100%
|
||||
print_retract_length = -1
|
||||
print_retract_lift = -1
|
||||
print_settings_id = Ellis - PIF Standard (11mm3/s)
|
||||
print_settings_id = Ellis - PIF Standard (15mm3/s)
|
||||
print_temperature = 0
|
||||
raft_contact_distance = 0.1
|
||||
raft_expansion = 1.5
|
||||
@@ -1495,7 +1495,7 @@ full_fan_speed_layer = 4
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
max_speed_reduction = 90%
|
||||
min_fan_speed = 50
|
||||
min_fan_speed = 100
|
||||
min_print_speed = 15
|
||||
slowdown_below_layer_time = 15
|
||||
start_filament_gcode = ""
|
||||
@@ -1591,7 +1591,7 @@ temperature = 250
|
||||
top_fan_speed = -1
|
||||
|
||||
[filament:Eryone PETG - Blue]
|
||||
bed_temperature = 60
|
||||
bed_temperature = 70
|
||||
bridge_fan_speed = 100
|
||||
bridge_internal_fan_speed = -1
|
||||
chamber_temperature = 30
|
||||
@@ -1602,15 +1602,15 @@ compatible_prints_condition =
|
||||
disable_fan_first_layers = 2
|
||||
end_filament_gcode = ""
|
||||
external_perimeter_fan_speed = -1
|
||||
extrusion_multiplier = 1
|
||||
extrusion_multiplier = 1.02
|
||||
fan_always_on = 1
|
||||
fan_below_layer_time = 20
|
||||
filament_colour = #2400FF
|
||||
filament_colour = #0F0EF0
|
||||
filament_cooling_final_speed = 3.4
|
||||
filament_cooling_initial_speed = 2.2
|
||||
filament_cooling_moves = 4
|
||||
filament_cooling_zone_pause = 0
|
||||
filament_cost = 20
|
||||
filament_cost = 29.36
|
||||
filament_custom_variables = ""
|
||||
filament_density = 1.45
|
||||
filament_deretract_speed = nil
|
||||
@@ -1623,7 +1623,7 @@ filament_load_time = 0
|
||||
filament_loading_speed = 28
|
||||
filament_loading_speed_start = 3
|
||||
filament_max_overlap = 100%
|
||||
filament_max_speed = 120
|
||||
filament_max_speed = 0
|
||||
filament_max_volumetric_speed = 12
|
||||
filament_max_wipe_tower_speed = 0
|
||||
filament_melt_zone_pause = 0
|
||||
@@ -1644,7 +1644,7 @@ filament_settings_id = ""
|
||||
filament_shrink = 100%
|
||||
filament_skinnydip_distance = 31
|
||||
filament_soluble = 0
|
||||
filament_spool_weight = 0
|
||||
filament_spool_weight = 1000
|
||||
filament_toolchange_delay = 0
|
||||
filament_toolchange_part_fan_speed = 50
|
||||
filament_toolchange_temp = 200
|
||||
@@ -1663,13 +1663,13 @@ filament_wipe_inside_end = nil
|
||||
filament_wipe_inside_start = nil
|
||||
filament_wipe_only_crossing = nil
|
||||
filament_wipe_speed = nil
|
||||
first_layer_bed_temperature = 60
|
||||
first_layer_temperature = 250
|
||||
first_layer_bed_temperature = 70
|
||||
first_layer_temperature = 240
|
||||
full_fan_speed_layer = 4
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
max_speed_reduction = 90%
|
||||
min_fan_speed = 50
|
||||
min_fan_speed = 100
|
||||
min_print_speed = 15
|
||||
slowdown_below_layer_time = 15
|
||||
start_filament_gcode = ""
|
||||
@@ -1751,17 +1751,17 @@ filament_wipe_inside_start = nil
|
||||
filament_wipe_only_crossing = nil
|
||||
filament_wipe_speed = nil
|
||||
first_layer_bed_temperature = 70
|
||||
first_layer_temperature = 245
|
||||
first_layer_temperature = 220
|
||||
full_fan_speed_layer = 4
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
max_speed_reduction = 90%
|
||||
min_fan_speed = 45
|
||||
min_fan_speed = 100
|
||||
min_print_speed = 15
|
||||
slowdown_below_layer_time = 15
|
||||
start_filament_gcode = ""
|
||||
support_material_interface_fan_speed = -1
|
||||
temperature = 235
|
||||
temperature = 220
|
||||
top_fan_speed = -1
|
||||
|
||||
[filament:Eryone PETG - Galaxy Red]
|
||||
@@ -1851,6 +1851,93 @@ support_material_interface_fan_speed = -1
|
||||
temperature = 235
|
||||
top_fan_speed = -1
|
||||
|
||||
[filament:Eryone PLA - Matte Dual - Pink-Blue]
|
||||
bed_temperature = 60
|
||||
bridge_fan_speed = 100
|
||||
bridge_internal_fan_speed = -1
|
||||
chamber_temperature = 0
|
||||
compatible_printers =
|
||||
compatible_printers_condition =
|
||||
compatible_prints =
|
||||
compatible_prints_condition =
|
||||
disable_fan_first_layers = 1
|
||||
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
|
||||
external_perimeter_fan_speed = -1
|
||||
extrusion_multiplier = 1.02
|
||||
fan_always_on = 1
|
||||
fan_below_layer_time = 20
|
||||
filament_colour = #927BB6
|
||||
filament_cooling_final_speed = 3.4
|
||||
filament_cooling_initial_speed = 2.2
|
||||
filament_cooling_moves = 0
|
||||
filament_cooling_zone_pause = 0
|
||||
filament_cost = 26.91
|
||||
filament_custom_variables = ""
|
||||
filament_density = 1.23
|
||||
filament_deretract_speed = 30
|
||||
filament_diameter = 1.75
|
||||
filament_dip_extraction_speed = 70
|
||||
filament_dip_insertion_speed = 33
|
||||
filament_enable_toolchange_part_fan = 0
|
||||
filament_enable_toolchange_temp = 0
|
||||
filament_load_time = 0
|
||||
filament_loading_speed = 28
|
||||
filament_loading_speed_start = 3
|
||||
filament_max_overlap = 100%
|
||||
filament_max_speed = 0
|
||||
filament_max_volumetric_speed = 0
|
||||
filament_max_wipe_tower_speed = 0
|
||||
filament_melt_zone_pause = 0
|
||||
filament_minimal_purge_on_wipe_tower = 15
|
||||
filament_notes = ";Full spool weight: 1280g"
|
||||
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_retract_before_travel = nil
|
||||
filament_retract_before_wipe = nil
|
||||
filament_retract_layer_change = nil
|
||||
filament_retract_length = nil
|
||||
filament_retract_lift = nil
|
||||
filament_retract_lift_above = nil
|
||||
filament_retract_lift_below = nil
|
||||
filament_retract_restart_extra = nil
|
||||
filament_retract_speed = 30
|
||||
filament_seam_gap = nil
|
||||
filament_settings_id = "ABS - KVP"
|
||||
filament_shrink = 100%
|
||||
filament_skinnydip_distance = 31
|
||||
filament_soluble = 0
|
||||
filament_spool_weight = 1000
|
||||
filament_toolchange_delay = 0
|
||||
filament_toolchange_part_fan_speed = 50
|
||||
filament_toolchange_temp = 200
|
||||
filament_type = PLA
|
||||
filament_unload_time = 0
|
||||
filament_unloading_speed = 90
|
||||
filament_unloading_speed_start = 100
|
||||
filament_use_fast_skinnydip = 0
|
||||
filament_use_skinnydip = 0
|
||||
filament_vendor = (Unknown)
|
||||
filament_wipe = nil
|
||||
filament_wipe_advanced_pigment = 0.5
|
||||
filament_wipe_extra_perimeter = nil
|
||||
filament_wipe_inside_depth = nil
|
||||
filament_wipe_inside_end = nil
|
||||
filament_wipe_inside_start = nil
|
||||
filament_wipe_only_crossing = nil
|
||||
filament_wipe_speed = nil
|
||||
first_layer_bed_temperature = 60
|
||||
first_layer_temperature = 210
|
||||
full_fan_speed_layer = 4
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
max_speed_reduction = 90%
|
||||
min_fan_speed = 100
|
||||
min_print_speed = 10
|
||||
slowdown_below_layer_time = 15
|
||||
start_filament_gcode = "; Filament gcode\n"
|
||||
support_material_interface_fan_speed = -1
|
||||
temperature = 210
|
||||
top_fan_speed = -1
|
||||
|
||||
[filament:Nuolei TPU - Light Blue]
|
||||
bed_temperature = 70
|
||||
bridge_fan_speed = 80
|
||||
@@ -2278,7 +2365,7 @@ full_fan_speed_layer = 4
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
max_speed_reduction = 90%
|
||||
min_fan_speed = 100
|
||||
min_fan_speed = 70
|
||||
min_print_speed = 10
|
||||
slowdown_below_layer_time = 15
|
||||
start_filament_gcode = "; Filament gcode\n"
|
||||
@@ -2373,9 +2460,96 @@ support_material_interface_fan_speed = -1
|
||||
temperature = 210
|
||||
top_fan_speed = -1
|
||||
|
||||
[filament:eSun PLA+ Silver]
|
||||
bed_temperature = 60
|
||||
bridge_fan_speed = 100
|
||||
bridge_internal_fan_speed = -1
|
||||
chamber_temperature = 0
|
||||
compatible_printers =
|
||||
compatible_printers_condition =
|
||||
compatible_prints =
|
||||
compatible_prints_condition =
|
||||
disable_fan_first_layers = 1
|
||||
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
|
||||
external_perimeter_fan_speed = -1
|
||||
extrusion_multiplier = 1
|
||||
fan_always_on = 1
|
||||
fan_below_layer_time = 20
|
||||
filament_colour = #0E5FED
|
||||
filament_cooling_final_speed = 3.4
|
||||
filament_cooling_initial_speed = 2.2
|
||||
filament_cooling_moves = 0
|
||||
filament_cooling_zone_pause = 0
|
||||
filament_cost = 30
|
||||
filament_custom_variables = ""
|
||||
filament_density = 1.23
|
||||
filament_deretract_speed = nil
|
||||
filament_diameter = 1.75
|
||||
filament_dip_extraction_speed = 70
|
||||
filament_dip_insertion_speed = 33
|
||||
filament_enable_toolchange_part_fan = 0
|
||||
filament_enable_toolchange_temp = 0
|
||||
filament_load_time = 0
|
||||
filament_loading_speed = 28
|
||||
filament_loading_speed_start = 3
|
||||
filament_max_overlap = 100%
|
||||
filament_max_speed = 0
|
||||
filament_max_volumetric_speed = 0
|
||||
filament_max_wipe_tower_speed = 0
|
||||
filament_melt_zone_pause = 0
|
||||
filament_minimal_purge_on_wipe_tower = 15
|
||||
filament_notes = ";Full spool weight: 1280g"
|
||||
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_retract_before_travel = nil
|
||||
filament_retract_before_wipe = nil
|
||||
filament_retract_layer_change = nil
|
||||
filament_retract_length = nil
|
||||
filament_retract_lift = nil
|
||||
filament_retract_lift_above = nil
|
||||
filament_retract_lift_below = nil
|
||||
filament_retract_restart_extra = nil
|
||||
filament_retract_speed = nil
|
||||
filament_seam_gap = nil
|
||||
filament_settings_id = "ABS - KVP"
|
||||
filament_shrink = 100%
|
||||
filament_skinnydip_distance = 31
|
||||
filament_soluble = 0
|
||||
filament_spool_weight = 1000
|
||||
filament_toolchange_delay = 0
|
||||
filament_toolchange_part_fan_speed = 50
|
||||
filament_toolchange_temp = 200
|
||||
filament_type = PLA
|
||||
filament_unload_time = 0
|
||||
filament_unloading_speed = 90
|
||||
filament_unloading_speed_start = 100
|
||||
filament_use_fast_skinnydip = 0
|
||||
filament_use_skinnydip = 0
|
||||
filament_vendor = (Unknown)
|
||||
filament_wipe = nil
|
||||
filament_wipe_advanced_pigment = 0.5
|
||||
filament_wipe_extra_perimeter = nil
|
||||
filament_wipe_inside_depth = nil
|
||||
filament_wipe_inside_end = nil
|
||||
filament_wipe_inside_start = nil
|
||||
filament_wipe_only_crossing = nil
|
||||
filament_wipe_speed = nil
|
||||
first_layer_bed_temperature = 60
|
||||
first_layer_temperature = 210
|
||||
full_fan_speed_layer = 4
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
max_speed_reduction = 90%
|
||||
min_fan_speed = 100
|
||||
min_print_speed = 10
|
||||
slowdown_below_layer_time = 15
|
||||
start_filament_gcode = "; Filament gcode\n"
|
||||
support_material_interface_fan_speed = -1
|
||||
temperature = 210
|
||||
top_fan_speed = -1
|
||||
|
||||
[printer:Sovol Sv06]
|
||||
bed_custom_model = /home/bassam/3dprinter/voron01-related/Ellis-SuperSlicer-Profiles/misc/SV06BuildPlate.stl
|
||||
bed_custom_texture = /home/bassam/3dprinter/voron01-related/Ellis-SuperSlicer-Profiles/misc/Texture_SV06.svg
|
||||
bed_custom_model = /home/bassam/3dprinter/voron/voron-0-parts/Ellis-SuperSlicer-Profiles/misc/sv06/SV06BuildPlate.stl
|
||||
bed_custom_texture = /home/bassam/3dprinter/voron/voron-0-parts/Ellis-SuperSlicer-Profiles/misc/sv06/sv06-buildplate-better.png
|
||||
bed_shape = 0x0,223x0,223x223,0x223
|
||||
before_layer_gcode =
|
||||
between_objects_gcode =
|
||||
@@ -2384,7 +2558,7 @@ cooling_tube_length = 5
|
||||
cooling_tube_retraction = 91.5
|
||||
default_filament_profile = "Prusament PLA"
|
||||
default_print_profile = 0.15mm QUALITY @MK3
|
||||
deretract_speed = 60
|
||||
deretract_speed = 50
|
||||
end_gcode = PRINT_END
|
||||
extra_loading_move = -2
|
||||
extruder_colour = #FFE3CA
|
||||
@@ -2452,7 +2626,7 @@ remaining_times_type = m73
|
||||
retract_before_travel = 2
|
||||
retract_before_wipe = 0%
|
||||
retract_layer_change = 1
|
||||
retract_length = 0.3
|
||||
retract_length = 0.4
|
||||
retract_length_toolchange = 10
|
||||
retract_lift = 0
|
||||
retract_lift_above = 0.2
|
||||
@@ -2461,7 +2635,7 @@ retract_lift_first_layer = 0
|
||||
retract_lift_top = "All surfaces"
|
||||
retract_restart_extra = 0
|
||||
retract_restart_extra_toolchange = 0
|
||||
retract_speed = 60
|
||||
retract_speed = 50
|
||||
seam_gap = 15%
|
||||
silent_mode = 0
|
||||
single_extruder_multi_material = 0
|
||||
@@ -2499,8 +2673,8 @@ z_offset = 0
|
||||
z_step = 0.005
|
||||
|
||||
[presets]
|
||||
print = _Ellis_PIF_45_Degree_11mm3-SOVOL
|
||||
print = _Ellis_PIF_Standard_15mm3-SOVOL
|
||||
sla_print =
|
||||
sla_material =
|
||||
printer = Sovol Sv06
|
||||
filament = eSun PLA+ Blue
|
||||
filament = D3d PETG - Red
|
||||
|
||||
BIN
misc/marlin-SV06V2.0.0A_2.24.bin
Normal file
10
osskc.cfg
Normal file
@@ -0,0 +1,10 @@
|
||||
[include ./cfgs/misc-macros.cfg]
|
||||
[include ./cfgs/PARKING.cfg]
|
||||
[include ./cfgs/MECHANICAL_GANTRY_CALIBRATION.cfg]
|
||||
[include ./cfgs/CALIBRATION.cfg]
|
||||
[include ./cfgs/kamp/KAMP_Settings.cfg]
|
||||
|
||||
# NOTE Uncomment the ONE of the following lines if you're using an adxl345
|
||||
# [include ./cfgs/adxl-rp2040.cfg]
|
||||
# [include ./cfgs/adxl-rpi-pico-2x.cfg]
|
||||
# [include ./cfgs/adxl-direct.cfg]
|
||||
174
printer.cfg
@@ -4,24 +4,17 @@
|
||||
#
|
||||
# See https://www.klipper3d.org/Config_Reference.html for configuration reference.
|
||||
|
||||
[include ./cfgs/misc-macros.cfg]
|
||||
[include ./cfgs/TEST_SPEED.cfg]
|
||||
[include ./cfgs/PARKING.cfg]
|
||||
[include ./cfgs/MECHANICAL_GANTRY_CALIBRATION.cfg]
|
||||
|
||||
# NOTE Uncomment the ONE of the following lines if you're using an adxl345
|
||||
# [include ./cfgs/adxl-rp2040.cfg]
|
||||
# [include ./cfgs/adxl-direct.cfg]
|
||||
[include ./osskc.cfg]
|
||||
|
||||
[mcu]
|
||||
# NOTE Obtain definition by "ls -l /dev/serial/by-id/"
|
||||
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
||||
# NOTE Obtain definition by "ls -l /dev/serial/by-path/" or "ls -l /dev/serial/by-id/"
|
||||
serial: /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0
|
||||
restart_method: command
|
||||
|
||||
[printer]
|
||||
kinematics: cartesian
|
||||
max_velocity: 275
|
||||
max_accel: 3500
|
||||
max_velocity: 200
|
||||
max_accel: 3000
|
||||
max_z_velocity: 15
|
||||
max_z_accel: 45
|
||||
square_corner_velocity: 8.0
|
||||
@@ -44,7 +37,7 @@ homing_retract_dist: 0
|
||||
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: PC1
|
||||
run_current: 0.900
|
||||
run_current: 0.860
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
@@ -66,7 +59,7 @@ homing_retract_dist: 0
|
||||
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: PC0
|
||||
run_current: 1.000
|
||||
run_current: 0.900
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
@@ -81,7 +74,7 @@ enable_pin: !PC3
|
||||
microsteps: 128
|
||||
rotation_distance: 4
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_min: -3
|
||||
position_min: -4
|
||||
position_max: 258 # NOTE You can adjust this if you have more room
|
||||
homing_speed: 5
|
||||
|
||||
@@ -102,17 +95,20 @@ diag_pin: PA7
|
||||
step_pin: PB4
|
||||
dir_pin: !PB3
|
||||
enable_pin: !PC3
|
||||
microsteps: 256
|
||||
microsteps: 128
|
||||
rotation_distance: 4.65 # NOTE Calibrate e-steps and adjust https://www.klipper3d.org/Rotation_Distance.html
|
||||
nozzle_diameter: 0.400
|
||||
filament_diameter: 1.750
|
||||
heater_pin: PA1
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PC5
|
||||
control: pid
|
||||
pid_kd: 86.991
|
||||
pid_kp: 21.479
|
||||
pid_ki: 1.326
|
||||
min_temp: 0
|
||||
max_temp: 300
|
||||
max_extrude_only_distance: 150.0
|
||||
pressure_advance: 0.0465 # 0.044
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: PC14
|
||||
@@ -130,6 +126,10 @@ uart_address: 3
|
||||
heater_pin: PA2
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PC4
|
||||
control: pid
|
||||
pid_kp: 64.440
|
||||
pid_ki: 0.773
|
||||
pid_kd: 1343.571
|
||||
min_temp: 0
|
||||
max_temp: 110
|
||||
|
||||
@@ -141,7 +141,7 @@ max_temp: 110
|
||||
pin: PB1
|
||||
x_offset: 27
|
||||
y_offset: -20
|
||||
# z_offset: 0
|
||||
z_offset: 0
|
||||
samples: 3
|
||||
samples_result: median
|
||||
samples_tolerance: 0.01
|
||||
@@ -182,34 +182,27 @@ sid_pin: PB15
|
||||
encoder_pins: ^PB14, ^PB10
|
||||
click_pin: ^!PB2
|
||||
|
||||
[input_shaper]
|
||||
shaper_freq_x: 55.0 # 97.2 # 82.2 # 84.2; 4020
|
||||
shaper_type_x: mzv # 3hump_ei # 2hump_ei
|
||||
shaper_freq_y: 40.6 # 41.8; 4020
|
||||
shaper_type_y: mzv
|
||||
|
||||
[bed_screws]
|
||||
screw1: 26.5, 31
|
||||
screw1_name: front left
|
||||
screw2: 196.75, 31
|
||||
screw1: 26.5, 31
|
||||
screw2_name: front right
|
||||
screw3: 196.75, 201
|
||||
screw2: 196.75, 31
|
||||
screw3_name: back right
|
||||
screw4: 26.5, 201
|
||||
screw3: 196.75, 201
|
||||
screw4_name: back left
|
||||
screw4: 26.5, 201
|
||||
|
||||
[screws_tilt_adjust]
|
||||
screw1: 111.5, 116.5
|
||||
screw1_name: center
|
||||
screw2: 26.5, 31
|
||||
screw1: 84.50, 135
|
||||
screw2_name: front left
|
||||
screw3: 196.75, 31
|
||||
screw2: 0, 51
|
||||
screw3_name: front right
|
||||
screw4: 196.75, 201
|
||||
screw3: 169.75, 51
|
||||
screw4_name: back right
|
||||
screw5: 26.5, 201
|
||||
screw4: 169.75, 221
|
||||
screw5_name: back left
|
||||
speed: 50
|
||||
screw5: 0, 221
|
||||
horizontal_move_z: 10
|
||||
screw_thread: CCW-M4
|
||||
|
||||
@@ -230,116 +223,3 @@ runout_gcode:
|
||||
M117 Runout Detected
|
||||
{ action_respond_info("Runout Detected") }
|
||||
CONDITIONAL_BEEP i=3 dur=300 freq=400
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
#*# [extruder]
|
||||
#*# control = pid
|
||||
#*# pid_kp = 23.147
|
||||
#*# pid_ki = 1.559
|
||||
#*# pid_kd = 85.934
|
||||
#*#
|
||||
#*# [heater_bed]
|
||||
#*# control = pid
|
||||
#*# pid_kp = 68.957
|
||||
#*# pid_ki = 1.281
|
||||
#*# pid_kd = 928.332
|
||||
#*#
|
||||
#*# [probe]
|
||||
#*# z_offset = 1.610
|
||||
#*#
|
||||
#*# [bed_mesh newbed]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# -0.240625, -0.114375, -0.018750, 0.004375, 0.092500
|
||||
#*# -0.280625, -0.120000, -0.005000, 0.025000, -0.011250
|
||||
#*# -0.330625, -0.151875, -0.035000, -0.006875, 0.011250
|
||||
#*# -0.350625, -0.145000, -0.030000, 0.001875, 0.073125
|
||||
#*# -0.353125, -0.110000, 0.031250, 0.056250, 0.006250
|
||||
#*# x_count = 5
|
||||
#*# y_count = 5
|
||||
#*# mesh_x_pps = 2
|
||||
#*# mesh_y_pps = 2
|
||||
#*# algo = bicubic
|
||||
#*# tension = 0.2
|
||||
#*# min_x = 27.0
|
||||
#*# max_x = 222.0
|
||||
#*# min_y = 5.0
|
||||
#*# max_y = 203.0
|
||||
#*#
|
||||
#*# [bed_mesh oldbed]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# -0.158750, -0.064375, 0.022500, 0.069375, 0.076875
|
||||
#*# -0.214375, -0.114375, -0.010625, 0.030625, 0.016875
|
||||
#*# -0.254375, -0.135625, -0.041875, -0.006250, -0.025000
|
||||
#*# -0.255000, -0.143750, -0.062500, -0.041250, -0.059375
|
||||
#*# -0.193125, -0.098750, -0.033750, -0.019375, -0.035625
|
||||
#*# min_x = 27.0
|
||||
#*# max_x = 222.0
|
||||
#*# min_y = 5.0
|
||||
#*# max_y = 203.0
|
||||
#*# x_count = 5
|
||||
#*# y_count = 5
|
||||
#*# mesh_x_pps = 2
|
||||
#*# mesh_y_pps = 2
|
||||
#*# algo = bicubic
|
||||
#*# tension = 0.2
|
||||
#*#
|
||||
#*# [bed_mesh default-v1]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# -0.181250, -0.127500, -0.082500, -0.086875, -0.124375
|
||||
#*# -0.182500, -0.123750, -0.063750, -0.069375, -0.132500
|
||||
#*# -0.190000, -0.106250, -0.056250, -0.067500, -0.128125
|
||||
#*# -0.185625, -0.100000, -0.042500, -0.063750, -0.128125
|
||||
#*# -0.133125, -0.045625, 0.000000, -0.019375, -0.079375
|
||||
#*# min_x = 27.0
|
||||
#*# max_x = 222.0
|
||||
#*# min_y = 5.0
|
||||
#*# max_y = 203.0
|
||||
#*# x_count = 5
|
||||
#*# y_count = 5
|
||||
#*# mesh_x_pps = 2
|
||||
#*# mesh_y_pps = 2
|
||||
#*# algo = bicubic
|
||||
#*# tension = 0.2
|
||||
#*#
|
||||
#*# [bed_mesh personalPreEdit]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# -0.147188, -0.085313, -0.033906, -0.025469, -0.035000
|
||||
#*# -0.163594, -0.095313, -0.027344, -0.014219, -0.057813
|
||||
#*# -0.187500, -0.087188, -0.030938, -0.019375, -0.063594
|
||||
#*# -0.179844, -0.080625, -0.012813, -0.013750, -0.061406
|
||||
#*# -0.126094, -0.026250, 0.033594, 0.030781, -0.010000
|
||||
#*# x_count = 5
|
||||
#*# y_count = 5
|
||||
#*# mesh_x_pps = 2
|
||||
#*# mesh_y_pps = 2
|
||||
#*# algo = bicubic
|
||||
#*# tension = 0.2
|
||||
#*# min_x = 27.0
|
||||
#*# max_x = 222.0
|
||||
#*# min_y = 5.0
|
||||
#*# max_y = 203.0
|
||||
#*#
|
||||
#*# [bed_mesh default]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# -0.150000, -0.110000, -0.110000, -0.130000, -0.130000
|
||||
#*# -0.165000, -0.130000, -0.130000, -0.130000, -0.130000
|
||||
#*# -0.165000, -0.112266, -0.110000, -0.130000, -0.130000
|
||||
#*# -0.160000, -0.105430, -0.110000, -0.130000, -0.130000
|
||||
#*# -0.120000, -0.071211, -0.091407, -0.110000, -0.110000
|
||||
#*# x_count = 5
|
||||
#*# y_count = 5
|
||||
#*# mesh_x_pps = 2
|
||||
#*# mesh_y_pps = 2
|
||||
#*# algo = bicubic
|
||||
#*# tension = 0.2
|
||||
#*# min_x = 27.0
|
||||
#*# max_x = 222.0
|
||||
#*# min_y = 5.0
|
||||
#*# max_y = 203.0
|
||||
|
||||