172 Commits

Author SHA1 Message Date
Bassam Husain
b7b32dd046 Merge branch 'kamp' into develop. Moved imports into osskc.cfg. 2023-07-07 02:26:16 -04:00
Bassam Husain
9265d9cc96 Minor adjustment to print_start for kamp. 2023-07-07 02:04:11 -04:00
Bassam Husain
c4b3f64e1a Renamed kamp/ to fix symlink issue. 2023-07-07 01:34:51 -04:00
Bassam Husain
fd7b9e3f46 Renamed kamp/ to fix symlink issue. 2023-07-07 01:33:30 -04:00
Bassam Husain
178733e0f5 Added kamp folder. 2023-07-07 01:32:00 -04:00
Bassam Husain
8f100d73f3 Deleted kamp folder. 2023-07-07 01:30:08 -04:00
Bassam Husain
82d25743fc KAMP should be ready. 2023-07-06 13:36:59 -04:00
Bassam Husain
aa935b6d57 Added kamp files. 2023-07-06 12:55:22 -04:00
Bassam Husain
49ed59dc14 Adjusted screws_tilt_adjust section. 2023-07-02 21:36:49 -04:00
Bassam Husain
ace26b692f Merge branch 'screws' into personal 2023-07-02 21:14:14 -04:00
Bassam Husain
d97cc87dc6 Adjusted screws_tilt_adjust section. 2023-07-02 21:02:41 -04:00
Bassam Husain
f1614f477a Pulled in calibration.cfg. 2023-07-01 02:52:30 -04:00
Bassam Husain
67307f5679 Adjust misc-macros.cfg, minor. 2023-07-01 02:44:47 -04:00
Bassam Husain
2da06be82e Adjusted repo title. 2023-07-01 02:33:01 -04:00
Bassam Husain
8a8229f6e8 Adjusted calibration.cfg to accept target temp. 2023-07-01 02:25:55 -04:00
Bassam Husain
7908b3d052 Adjusted calibration.cfg to accept target temp. 2023-07-01 02:12:14 -04:00
Bassam Husain
bb90be25cc More clairity to configure section. 2023-07-01 01:36:14 -04:00
Bassam Husain
5f59d5bacb Merge branch 'master' into sv06-plus 2023-07-01 01:28:54 -04:00
Bassam Husain
d6f03f7a2c Cleanup in misc-macros.cfg. Adjusted calibration.cfg to work dynamically. 2023-07-01 00:51:59 -04:00
Bassam Husain
d3cc53eafe Merge branch 'calib' into personal 2023-07-01 00:48:40 -04:00
Bassam Husain
28ba80dd29 Cleanup in misc-macros.cfg. Adjusted calibration.cfg to work dynamically. 2023-07-01 00:05:00 -04:00
Bassam Husain
82c02bbdbf Adjusted readme structure. 2023-06-22 19:29:36 -04:00
Bassam Husain
f5c533a35d Merge branch 'master' into personal 2023-06-21 19:54:53 -04:00
Bassam Husain
d405db4922 Adjusted mcu section. 2023-06-21 18:18:21 -04:00
Bassam Husain
511fcbed57 Merge branch 'ed/calibration-tools' 2023-06-21 17:50:45 -04:00
Ed Ropple
12ed1d3a9f replaced manual PID/calibration steps with reusable macros 2023-06-20 18:28:50 -04:00
Bassam Husain
4cfbe14e59 Adjust readme.md. 2023-06-19 00:58:52 -04:00
Bassam Husain
2f79fc59e3 Merge branch 'master' into sv06-plus 2023-06-18 22:41:11 -04:00
Bassam Husain
3c8a5d6a42 Adjust readme.md. 2023-06-18 22:21:27 -04:00
Bassam Husain
52c721226f Adjust readme.md. 2023-06-18 22:09:17 -04:00
Bassam Husain
089ad6a4bd Added outline. 2023-06-18 22:05:51 -04:00
Bassam Husain
9ee603e74d Many adjustments to README instructions. 2023-06-18 21:11:17 -04:00
Bassam Husain
28ac5d5260 Update dir structure. 2023-06-18 20:16:09 -04:00
Bassam Husain
b22c8a0b02 Updated readme minor. 2023-06-18 19:51:53 -04:00
Bassam Husain
7aecb64bca Updated readme minor. 2023-06-18 19:43:03 -04:00
Bassam Husain
763304e128 Adjusted links. 2023-06-18 15:34:11 -04:00
Bassam Husain
9c79ca81bb Adjusted links. 2023-06-18 15:31:57 -04:00
Bassam Husain
5c8b1f0de9 Added table for branches instead of text. 2023-06-18 15:06:58 -04:00
Bassam Husain
ccdde22c57 Added table for branches instead of text. 2023-06-18 14:51:18 -04:00
Bassam Husain
66c19cd7d8 Updated readme minor. 2023-06-18 14:41:43 -04:00
Bassam Husain
61eaab3221 Updated readme minor. 2023-06-18 14:38:18 -04:00
Bassam Husain
cd59efe4c1 Update readme minor. 2023-06-18 13:50:37 -04:00
Bassam Husain
c327345a08 Update readme minor. 2023-06-18 13:49:15 -04:00
Bassam Husain
baf505113d Update readme minor. 2023-06-18 13:45:14 -04:00
Bassam Husain
f921823acf Adjusted settings.json. 2023-06-11 01:21:53 -04:00
Bassam Husain
f385fe920e Cleanup with linter. 2023-06-11 01:21:11 -04:00
Bassam Husain
817a6771f6 Cleanup with linter. 2023-06-11 01:15:21 -04:00
Bassam Husain
fb7e7bcc6e Merge branch 'test-master' into sv06-plus 2023-06-11 01:05:42 -04:00
Bassam Husain
a6afa97f88 Changed * to _ for italics to accomodate the linter. 2023-06-11 00:53:39 -04:00
Bassam Husain
a5f72beea4 Minor update to readme.md. 2023-06-11 00:38:45 -04:00
Bassam Husain
6399c70309 Cleanup in readme. 2023-06-09 18:07:42 -04:00
Bassam Husain
9c9eb1b088 Added link to sv06plus official github. 2023-06-09 17:57:27 -04:00
Bassam Husain
40d88fe907 Bed temp over now customizable. 2023-06-09 17:31:16 -04:00
Bassam Husain
5ada85f964 Bed temp over now customizable. 2023-06-09 17:28:07 -04:00
Bassam Husain
1e60090f1e Merge branch 'bed-temp' into personal 2023-06-09 17:16:08 -04:00
Bassam Husain
fa43f570d7 Merge branch 'master' into sv06-plus 2023-05-20 20:15:29 -04:00
Bassam Husain
7ea890627a Made bedtempOver adjustable. 2023-05-20 20:12:11 -04:00
Bassam Husain
ac5426e331 Pulled in print_start from master: prints start with higher bed temp now, range 10C. 2023-05-20 20:00:23 -04:00
Bassam Husain
24a4262af2 Pulled in print_start from personal: prints start with higher bed temp now, range 10C. 2023-05-20 19:59:18 -04:00
Bassam
be1711cb68 Update README.md
Prepare flash section
2023-05-19 21:40:27 -04:00
Bassam Husain
d5de6866da Adjusted directory structure. 2023-05-12 01:04:01 -04:00
Bassam Husain
82a5603d1e Directory structure updated. 2023-05-12 00:57:51 -04:00
Bassam Husain
ad4c893fbc Moved images to correct folder. 2023-05-12 00:53:25 -04:00
Bassam Husain
a5a75f3c1e Added sv06-plus build plate model, removed sv06 build plate. 2023-05-10 21:35:55 -04:00
Bassam Husain
24610b1dee Merge branch 'bed-temp' into personal 2023-05-10 18:50:02 -04:00
Bassam Husain
9d08c418c0 Print_start adjusted: comments styling only. 2023-05-10 18:49:04 -04:00
Bassam Husain
7112c53ad8 Print_start adjusted: prints will start as long as current bed temp is not higher than 10C compared to sliced bed temp. 2023-05-10 01:43:37 -04:00
Bassam Husain
f0602b5cb2 Print_start adjusted: added back 0 bed temp possibility. 2023-05-10 01:23:35 -04:00
Bassam Husain
5242dc7276 Print_start adjusted: prints should now start even if bed temp is higher than what was set in slicer; does set sliced temp at the end though. 2023-05-10 01:11:58 -04:00
Bassam Husain
05dba3939e Adjusted PRINT_START bedtempAlmost logic. 2023-05-09 17:20:30 -04:00
Bassam Husain
d0c43f3777 Deleted SV06 marlin firmware. 2023-05-07 18:54:01 -04:00
Bassam Husain
4dcd5e3840 Adjusted mcu section. 2023-05-03 15:26:28 -04:00
Bassam Husain
53f6f75c85 Merge branch 'master' into sv06-plus 2023-05-03 15:25:35 -04:00
Bassam Husain
d062ee5bcc Adjusted initial steps on how to find the mcu. 2023-05-03 15:23:19 -04:00
Bassam Husain
aa8d3de2c7 Merge branch 'master' into sv06-plus 2023-04-23 09:43:49 -04:00
Bassam Husain
b0d122a1c1 Adjust Initial steps, step 1. 2023-04-23 09:39:20 -04:00
Bassam Husain
6ede727449 Update README.md
Flash Firmware section.
2023-04-23 08:57:17 -04:00
Bassam Husain
f4f0fd50bb Merge branch 'master' into sv06-plus 2023-04-22 16:59:00 -04:00
Bassam Husain
6eedc4bd60 Update README.md
Edit Adjust Your Slicer section.
2023-04-22 16:53:46 -04:00
Bassam Husain
3a85c0e532 Pulling in print_start from master branch. 2023-04-22 15:03:30 -04:00
Bassam Husain
940ea48541 Update README.md 2023-04-22 15:00:45 -04:00
Bassam Husain
9f69a7d355 Update README.md 2023-04-22 14:58:51 -04:00
Bassam Husain
57e6755ced Merge pull request #42 from muffix/dont-cool-down-in-print-start
Avoid cooling down the extruder in PRINT_START
2023-04-22 07:24:44 -04:00
Bassam Husain
1cdcb4934b PRINT_START adjust: don't cooldown if not necessary. 2023-04-22 07:10:06 -04:00
Björn Marschollek
835e990d88 Avoid cooling down the extruder in PRINT_START
The current `PRINT_START` macro heats the extruder to 150 degrees, then
to 170, and finally to the target temperature. If the extruder is
already hot, this unnecessarily cools it down and wastes time.

This change only cools down the hotend if it's above the target
temperature and then only to that temperature.

If the extruder was colder than 150 degrees, this change maintains the
current behaviour.
2023-04-22 12:20:01 +02:00
Bassam Husain
45434cde14 Merge pull request #41 from muffix/add-rpi2040-with-2x-adxl345
Add config for 2 ADXL345 via RasPi pico
2023-04-21 16:41:58 -04:00
Bassam Husain
51fd3f0b19 Update adxl-rpi-pico-2x.cfg
Minor adjustments to adxl-rpi-pico-2x.cfg.
2023-04-21 16:41:26 -04:00
Björn Marschollek
4df5ef2db3 Add config for 2 ADXL345 via RasPi pico
This adds a configuration supporting two ADXL345 sensors at the same
time though a Raspberry Pi pico.

Resonance measurements for both the head and the bed can be done without
having to change the sensors.
2023-04-21 20:26:11 +02:00
Bassam Husain
23d24aab17 Merge branch 'master' of github.com:bassamanator/Sovol-SV06-firmware 2023-04-20 17:09:58 -04:00
Bassam Husain
43d067acab Merge pull request #39 from muffix/add-minimum-for-bed-temperature
Add a minimum bed temperature of 0 degrees in `PRINT_START`.
2023-04-20 17:04:35 -04:00
Bassam Husain
498e0d4a4d PRINT_START bedtemp fix, 2nd try. 2023-04-20 16:56:25 -04:00
Björn Marschollek
4a38d34a0e Add a minimum bed temperature of 0 degrees
If the bed temperature is less than 2, the print job fails with an
error message complaining about an invalid temperature. This happens,
for instance, when printing ABS where the bed is not supposed to be
heated.

This change makes sure that the bed temperature cannot be negative.
2023-04-20 22:53:19 +02:00
Bassam Husain
9b712df594 PRINT_START bedtemp fix. 2023-04-20 16:43:43 -04:00
Bassam Husain
e888ac0882 Added orange pi temp section. 2023-04-20 12:37:03 -04:00
Bassam Husain
323e8df221 Merge branch 'master' into sv06-plus: update download section. 2023-04-20 12:30:07 -04:00
Bassam Husain
40534f3788 Pulling in print_start from master branch. 2023-04-20 12:22:52 -04:00
Bassam Husain
5e342261c8 Pulling in print_start from personal branch. 2023-04-20 12:19:06 -04:00
Bassam Husain
89fbb10154 variable_pre_purge_prime_length reverted. 2023-04-20 12:10:00 -04:00
Bassam Husain
1823d0ca37 Updated readme: Download section. 2023-04-19 22:59:32 -04:00
Bassam Husain
6eb152e58d Adjust PRINT_START: safe_z_home startX, startY. 2023-04-19 10:53:08 -04:00
Bassam Husain
c1672c9a42 Fixed sense_resistor according to specs. 2023-04-19 07:47:24 -04:00
Bassam Husain
581ff9da48 Adjusted SS config bundle for Plus. Spelling fix. 2023-04-18 07:56:34 -04:00
Bassam Husain
4ecb37cf9f Pulling from master. 2023-04-18 07:50:15 -04:00
Bassam Husain
8bfed9c573 Spelling fixes. 2023-04-18 07:44:09 -04:00
Bassam Husain
b051707f52 Print_start improvements. 2023-04-17 00:42:57 -04:00
Bassam Husain
807c91507a Pulling in from personal branch. 2023-04-17 00:41:03 -04:00
Bassam Husain
a30d367d1d Commented out raspberry pi temperature section. 2023-04-17 00:21:03 -04:00
Bassam Husain
5abaf73b9c Comment cleanup in print_end. 2023-04-13 17:32:44 -04:00
Bassam Husain
a71ba1569a Pulling in from master. 2023-04-13 17:31:24 -04:00
Bassam Husain
238091d860 Minor speedup in print_start. 2023-04-13 17:28:55 -04:00
Bassam Husain
6dc119cf99 Added pause/runout/m600 to faq. Reduced speed in print_start. 2023-04-07 19:44:30 -04:00
Bassam Husain
9e68610908 Update README.md 2023-04-07 18:07:24 -04:00
Bassam Husain
b3040f4244 Create CODE_OF_CONDUCT.md 2023-04-07 14:04:00 -04:00
Bassam Husain
8c6ebbca2c Create CONTRIBUTING.md 2023-04-07 13:56:28 -04:00
Bassam Husain
1f3707123a Update issue templates 2023-04-07 13:47:17 -04:00
Bassam Husain
4c3ae83f19 Merging with master. 2023-04-07 09:57:21 -04:00
Bassam Husain
953daefa32 Adjusted PRINT_START sequence to save time, and to prevent oozing. Increased microsteps to 128, and added square_corner_velocity. 2023-04-07 09:52:06 -04:00
Bassam Husain
688193903b Updated readme. 2023-04-06 07:00:12 -04:00
Bassam Husain
7da9a83924 Fixed typo. 2023-04-06 06:45:07 -04:00
Bassam Husain
d0b426d5b0 Updated readme. 2023-04-06 06:44:26 -04:00
Bassam Husain
3c98d99665 Adjusted plus instructions. 2023-04-06 06:42:20 -04:00
Bassam Husain
4b90c7abc5 Added G90 to steps after homing. 2023-04-06 06:22:01 -04:00
Bassam Husain
0358cb6304 Update MECHANICAL_GANTRY_CALIBRATION.cfg
Removed menu section.
2023-04-05 15:59:45 -04:00
Bassam Husain
2c49bf8396 Added sv06-plus marlin firmware. 2023-04-05 01:17:28 -04:00
Bassam Husain
dc85ec05c6 Adjusted default PID settings. 2023-04-05 01:02:37 -04:00
Bassam Husain
cc57e07c62 Pulled in readme from master. 2023-04-05 00:51:22 -04:00
Bassam Husain
e501bdac3f Updated readme. 2023-04-05 00:44:38 -04:00
Bassam Husain
f810abf9f7 Adjusted bump sensitivity to stock values; plus. 2023-04-05 00:32:05 -04:00
Bassam Husain
69071df396 Adjusted run_current for plus based on official sovol specs. 2023-04-04 16:53:10 -04:00
Bassam Husain
daa07e37c0 Merge branch 'master' of github.com:bassamanator/Sovol-SV06-firmware. 2023-04-03 14:49:03 -04:00
Bassam Husain
758a3f8b77 Update README.md
Added instructions for adjusting slicer start/end gcode.
2023-04-03 12:51:49 -04:00
Bassam Husain
c1427d9418 Update README.md 2023-04-03 08:28:35 -04:00
Bassam Husain
371e0d604a Update README.md 2023-04-03 08:09:36 -04:00
Bassam Husain
761650bf80 Reversed switch_pint in filament sensor pinout section based on facebook user feedback. 2023-04-02 20:02:40 -04:00
Bassam Husain
c89d69e678 Added printer title to printer.cfg. 2023-04-02 19:56:12 -04:00
Bassam Husain
5afbf002c2 Removed bed_screws locations from plus. Enabled filament sensor. Adjusted safe_z_home. 2023-04-02 19:50:24 -04:00
Bassam Husain
5b5ce8df57 Adjusted readme. 2023-04-02 19:11:43 -04:00
Bassam Husain
8346c79f35 Adjusted start position for purge_line. 2023-04-02 19:00:47 -04:00
Bassam Husain
98a1cd7fe6 Purge_line macro adjusted to print at the front of the bed; printer agnostic. Print_end adjusted to use safer speed. 2023-04-02 18:31:58 -04:00
Bassam Husain
39131e0d66 Merge branch 'master' of github.com:bassamanator/Sovol-SV06-firmware 2023-04-02 11:08:47 -04:00
Bassam Husain
060a9334ee Adjusted filament sensor to use action_respond_info for plus users. 2023-04-02 11:04:06 -04:00
Bassam Husain
c215540a0c Added M503-plus output. 2023-04-02 10:44:27 -04:00
Bassam Husain
862c45b88f Update README.md
Added firmware location to Flash Firmware section.
2023-04-01 22:48:49 -04:00
Bassam Husain
73f15169b6 README: minor change. 2023-03-27 18:33:48 -04:00
Bassam Husain
a671161b99 Adjusted bed_mesh. 2023-03-26 08:56:15 -04:00
Bassam Husain
cf3597f158 Merge branch 'master' into sv06-plus 2023-03-26 07:05:47 -04:00
Bassam Husain
38cabc7513 Update README.md
Before you begin section.
2023-03-24 20:36:06 -04:00
Bassam Husain
d628b6e9ef Updated 'before you begin' section to let users know that is assumed to be the username. 2023-03-23 12:05:36 -04:00
Bassam Husain
1e80ff171a Updated m503 output. 2023-03-22 14:49:57 -04:00
Bassam Husain
37be3998d8 Updated flash firmware section. Added marlin.bin and updated klipper.bin to latest. 2023-03-22 14:43:39 -04:00
Bassam Husain
1e13d86eca Updated FAQ to include SuperSlicer related questions. 2023-03-21 02:34:54 -04:00
Bassam Husain
7571e95a5a Updated FAQ. 2023-03-20 01:12:05 -04:00
Bassam Husain
3551f307ae Added beeping on colour/filament change. 2023-03-20 01:04:36 -04:00
Bassam Husain
140ff8cb30 Added KAMP to to-do list. 2023-03-16 15:55:18 -04:00
Bassam Husain
5930d03add Remade this branch with latest changes from master. 2023-03-16 00:39:58 -04:00
Bassam Husain
903cd16287 Minor change at the top. 2023-03-15 02:13:29 -04:00
Bassam Husain
eaea54e330 Added some fun gifs. 2023-03-15 02:03:27 -04:00
Bassam Husain
77468d319f Edited Sources section. 2023-03-14 23:51:14 -04:00
Bassam Husain
fdfdcd6bb5 Updated FAQ section. 2023-03-14 21:12:30 -04:00
Bassam Husain
95897311e6 Filament runout sensor code merged. 2023-03-14 21:08:16 -04:00
Bassam Husain
0db62e01f3 Added FAQ section. 2023-03-14 20:22:40 -04:00
Bassam Husain
c2bd1fa076 More changes pulled from personal. Added filament sensor pinout. 2023-03-14 19:47:16 -04:00
Bassam Husain
545817dffc SuperSlicer config bundle updated. 2023-03-14 19:26:01 -04:00
Bassam Husain
9239a54e8b More changes pulled from personal. 2023-03-14 18:55:07 -04:00
Bassam Husain
c967be1023 More changes pulled from personal. 2023-03-14 18:45:30 -04:00
Bassam Husain
64a6f98fe4 Pulling in structure from personal branch. 2023-03-14 18:36:53 -04:00
Bassam Husain
07b3631512 Update README.md
Added Links section.
2023-03-14 01:58:42 -04:00
Bassam Husain
b2f110df0a Adjusted .gitignore and workspace settings. 2023-03-12 20:36:15 -04:00
Bassam Husain
e972231cd1 Added not about e-steps. 2023-03-11 19:47:18 -05:00
Bassam Husain
e3762db8b2 Minor cleanup in misc-macros.cfg. 2023-03-10 07:59:26 -05:00
Bassam Husain
d9fb25bcd2 Minor change to Directory Structure section. 2023-03-10 05:21:37 -05:00
Bassam Husain
7f05e62e94 Removed pressure_advance. 2023-03-10 05:13:50 -05:00
23 changed files with 1246 additions and 285 deletions

34
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View 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.

View 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
View File

@@ -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
View 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
View 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
View File

@@ -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
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/H2H0HIHTH)

49
cfgs/CALIBRATION.cfg Normal file
View 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
View 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

View 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

View 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
View 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 %}

View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
images/heart.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 KiB

BIN
images/party_blob.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -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)

View File

@@ -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

Binary file not shown.

10
osskc.cfg Normal file
View 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]

View File

@@ -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