Skip to content

Commit e32e9fc

Browse files
Frix-xLongDonoaustinrdennisW141-IDfbeauKmi
authored
Merge pull request #309 from Frix-x/develop
* Remove invalid option extruder extruder is a valid option for filament_motion_sensor, but not for filament_switch_sensor * Add dwell to wait for nozzle cooldown * flush klipper buffer before reseting filament sensor * resetting filter in the start_print to avoid a remaining delayed stop * fixed typo in SKR pico template on motor pin definition * Correct modified M109 to fix probing while too hot. Revert G4 command * Enhance M109 and M190 logic with "fix_heaters_temperature_settle" set to true * Fix variable refference error * Add files via upload * Update printer.cfg * Add extruder stepper vibrations * Corrected mistake in variable configuration * auto uninstall script added * Add Servo in SKR_Mini_E3 mcu template * reworked input shaper scripts * lot of improvements of the new shaper scripts * added the support of the new scripts in plot_graph.sh and the gcode macros * Add Spider 3 board * added filtering before the peak detection to avoid catching noise and false positives * refactored the plot_graph.sh into a Python script * tweaks to the install script and gitignore * fixed damping ratio computation * IS workflow v2 documentation draft * IS Documentation Reth draft (#319) Co-authored-by: Reth <[email protected]> * Add BTT EBB SB2209 CAN v1.0 RP2040 (#312) * added creality bed (#320) This commit refactor the bed includes to be more generic but keep the old one to avoid breaking stuff * moved the docs in preparation for K-Shake&Tune release... * fix: module heatsoak bed should use current temperature * Create adxl345_sht_v2.x.cfg The SHT36_v2 differs from the SHT36_v1 and has the ADXL345 on SPI2, not SPI1. * fix status LEDs for separate nozzle and logo LEDs The macro aways uses TRANSMIT=0 for the logo LEDs, which assumes that the subsequent call to nozzle LEDs will flush the data. That will only work if both sets of LEDs are on the same chain. The chains can be different though - configured through `status_leds_nozzle_led_name` and `status_leds_logo_led_name`. With this change, separate logo LEDs will use TRANSMIT=1 instead. * prevent flashing if G28 is not required * bump K-Shake&Tune to v1.1.2 * added a prefilled template for own user custom MCU * fixed conditional QGL/Z_TILT that wasn't working properly * added G2Z and G2E integration (#329) * transmit rawparams for _MODULE_CUSTOM1/3 and allow mesh profile load from slicer (#337) * START_PRINT macro : transmit rawparams for _MODULE_CUSTOM1/3 macros * START_PRINT macro : Add new parameter (MESH) for START_PRINT. If present, load the bed mesh profile with this name, otherwise previous procedure is applied * Update install.sh for is_workflow chmod (#338) * feat(mcu): Manta M8P V2 (#341) * add config files for 180mm printer like Micron+ (#335) * add user template for BTT_Manta_M8P_v2.0.cfg --------- Co-authored-by: Fragmon <[email protected]> * RP2040 USB support for Fysetc PortableInputShaper (#345) * Add RP2040 SPI1 USB boards (#342) * added Fysetc portableinputshaper support to printer.cfg --------- Co-authored-by: Luk Schwalb <[email protected]> --------- Co-authored-by: Donovan <[email protected]> Co-authored-by: Austin Dennis <[email protected]> Co-authored-by: W141-ID <[email protected]> Co-authored-by: fbeaukmi <[email protected]> Co-authored-by: JD Davis <[email protected]> Co-authored-by: Benoitone <[email protected]> Co-authored-by: Félix Boisselier <[email protected]> Co-authored-by: Reth <[email protected]> Co-authored-by: Tim West <[email protected]> Co-authored-by: Paulo Pacheco <[email protected]> Co-authored-by: blutack <[email protected]> Co-authored-by: Kamil Domański <[email protected]> Co-authored-by: Surion79 <[email protected]> Co-authored-by: Bruno Pontleve <[email protected]> Co-authored-by: Devon Hazelett <[email protected]> Co-authored-by: Fragmon <[email protected]> Co-authored-by: Luk Schwalb <[email protected]>
2 parents 25d85ae + c56fb96 commit e32e9fc

File tree

75 files changed

+2743
-911
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2743
-911
lines changed

.gitignore

+169
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,175 @@
1+
# -------------------------------------------------------------------
12
# This gitignore is configured to not track user defined files at the root of the config
23
# And thus allowing a full update of the repo while keeping user files untouched
4+
# -------------------------------------------------------------------
5+
36

47
/*.cfg
58
/*.conf
69
/.VERSION
10+
11+
12+
# -------------------------------------------------------------------
13+
# Python specifics added here as well to avoid pycache folder, etc...
14+
# -------------------------------------------------------------------
15+
16+
# Byte-compiled / optimized / DLL files
17+
__pycache__/
18+
*.py[cod]
19+
*$py.class
20+
21+
# C extensions
22+
*.so
23+
24+
# Distribution / packaging
25+
.Python
26+
build/
27+
develop-eggs/
28+
dist/
29+
downloads/
30+
eggs/
31+
.eggs/
32+
lib/
33+
lib64/
34+
parts/
35+
sdist/
36+
var/
37+
wheels/
38+
share/python-wheels/
39+
*.egg-info/
40+
.installed.cfg
41+
*.egg
42+
MANIFEST
43+
44+
# PyInstaller
45+
# Usually these files are written by a python script from a template
46+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
47+
*.manifest
48+
*.spec
49+
50+
# Installer logs
51+
pip-log.txt
52+
pip-delete-this-directory.txt
53+
54+
# Unit test / coverage reports
55+
htmlcov/
56+
.tox/
57+
.nox/
58+
.coverage
59+
.coverage.*
60+
.cache
61+
nosetests.xml
62+
coverage.xml
63+
*.cover
64+
*.py,cover
65+
.hypothesis/
66+
.pytest_cache/
67+
cover/
68+
69+
# Translations
70+
*.mo
71+
*.pot
72+
73+
# Django stuff:
74+
*.log
75+
local_settings.py
76+
db.sqlite3
77+
db.sqlite3-journal
78+
79+
# Flask stuff:
80+
instance/
81+
.webassets-cache
82+
83+
# Scrapy stuff:
84+
.scrapy
85+
86+
# Sphinx documentation
87+
docs/_build/
88+
89+
# PyBuilder
90+
.pybuilder/
91+
target/
92+
93+
# Jupyter Notebook
94+
.ipynb_checkpoints
95+
96+
# IPython
97+
profile_default/
98+
ipython_config.py
99+
100+
# pyenv
101+
# For a library or package, you might want to ignore these files since the code is
102+
# intended to run in multiple environments; otherwise, check them in:
103+
# .python-version
104+
105+
# pipenv
106+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
107+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
108+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
109+
# install all needed dependencies.
110+
#Pipfile.lock
111+
112+
# poetry
113+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
114+
# This is especially recommended for binary packages to ensure reproducibility, and is more
115+
# commonly ignored for libraries.
116+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
117+
#poetry.lock
118+
119+
# pdm
120+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
121+
#pdm.lock
122+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
123+
# in version control.
124+
# https://pdm.fming.dev/#use-with-ide
125+
.pdm.toml
126+
127+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
128+
__pypackages__/
129+
130+
# Celery stuff
131+
celerybeat-schedule
132+
celerybeat.pid
133+
134+
# SageMath parsed files
135+
*.sage.py
136+
137+
# Environments
138+
.env
139+
.venv
140+
env/
141+
venv/
142+
ENV/
143+
env.bak/
144+
venv.bak/
145+
146+
# Spyder project settings
147+
.spyderproject
148+
.spyproject
149+
150+
# Rope project settings
151+
.ropeproject
152+
153+
# mkdocs documentation
154+
/site
155+
156+
# mypy
157+
.mypy_cache/
158+
.dmypy.json
159+
dmypy.json
160+
161+
# Pyre type checker
162+
.pyre/
163+
164+
# pytype static type analyzer
165+
.pytype/
166+
167+
# Cython debug symbols
168+
cython_debug/
169+
170+
# PyCharm
171+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
172+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
173+
# and can be added to the global gitignore or merged into this file. For a more nuclear
174+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
175+
#.idea/

README.md

+15
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,21 @@ Finally, Klippain requires a few simple steps to configure and customize it for
3535
> General rule to keep the auto-update feature working: **never modify Klippain files directly**, but instead add overrides as per the documentation! To proceed, you can modify all the pre-installed templates in your config root folder (`printer.cfg`, `mcu.cfg`, `variables.cfg` and `overrides.cfg`) as they will be preserved on update.
3636
3737

38+
## Removing Klippain
39+
40+
In case Klippain doesn't suit your needs or if you installed it by mistake, you can easily remove Klippain and revert to your previous configuration by using the automated uninstall script. During the uninstallation process, the script will remove all specific Klippain files and configurations. Additionally, you will be given an option to restore your previously backed-up configuration, allowing your printer to return to its last working state (from before Klippain was installed).
41+
42+
To run the uninstall script, execute the following command over SSH:
43+
44+
```bash
45+
wget -O - https://raw.githubusercontent.com/Frix-x/klippain/main/uninstall.sh | bash
46+
```
47+
48+
> **Note**
49+
>
50+
> All backups are preserved during the uninstallation process. So, you can easily revert back at any time if you wish to :stuck_out_tongue_winking_eye:
51+
52+
3853
## Support the Project
3954

4055
I strive to accommodate user requests that align with this configuration's design. Feel free to open an issue or a PR for specific hardware device support or new features.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[include generics/adxl345_hardware_spi1.cfg]
2+
3+
# As it's a toolhead ADXL, we add some default pins overrides from here
4+
[adxl345]
5+
cs_pin: toolhead:ADXL_CS
6+
# Supplied config from Mellow is wrong - it states spi1, but at least for a 072 based unit is it on spi2
7+
spi_bus: spi2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This ADXL file is dedicated to be used with ADXL boards
2+
# connected over USB to the pi as dedicated and standalone ADXL-MCU boards
3+
4+
# This include KUSBA, ...
5+
6+
7+
# You need to override the following to be able to set the proper serial in your overrides.cfg file
8+
[mcu adxl]
9+
serial: /dev/serial/by-id/xxx
10+
11+
[adxl345]
12+
cs_pin: adxl:CS
13+
axes_map: x,y,z
14+
15+
[resonance_tester]
16+
accel_chip: adxl345
17+
probe_points:
18+
-1,-1,-1
19+
20+
21+
# Include the IS calibration macros to unlock them when
22+
# an accelerometer is installed on the machine
23+
[include ../../../macros/helpers/resonance_override.cfg]
24+
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
25+
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This ADXL file is dedicated to be used with USB RP2040 boards where the ADXL
2+
# is connected to SPI1
3+
4+
# This include FYSTEC PortableInputShaper, ...
5+
6+
7+
# You need to set the proper serial in your overrides.cfg file
8+
[mcu adxl]
9+
serial: /dev/serial/by-id/xxx
10+
11+
[adxl345]
12+
cs_pin: adxl:gpio13
13+
spi_software_sclk_pin: adxl:gpio10
14+
spi_software_mosi_pin: adxl:gpio11
15+
spi_software_miso_pin: adxl:gpio12
16+
axes_map: x,y,z
17+
# FYSTEC POS: x,-z,y
18+
19+
[resonance_tester]
20+
accel_chip: adxl345
21+
probe_points:
22+
-1,-1,-1
23+
24+
25+
# Include the IS calibration macros to unlock them when
26+
# an accelerometer is installed on the machine
27+
[include ../../../macros/helpers/resonance_override.cfg]
28+
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
29+
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[stepper_z]
2+
rotation_distance: 40
3+
gear_ratio: 9:1
4+
microsteps: 32
5+
full_steps_per_rotation: 200
6+
7+
[stepper_z1]
8+
rotation_distance: 40
9+
gear_ratio: 9:1
10+
microsteps: 32
11+
full_steps_per_rotation: 200
12+
13+
[stepper_z2]
14+
rotation_distance: 40
15+
gear_ratio: 9:1
16+
microsteps: 32
17+
full_steps_per_rotation: 200
18+
19+
[stepper_z3]
20+
rotation_distance: 40
21+
gear_ratio: 9:1
22+
microsteps: 32
23+
full_steps_per_rotation: 200
24+
25+
# We also include the default wiring and speeds from here to avoid duplicating
26+
[include default_wiring_4M.cfg]
27+
[include default_speed.cfg]
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[gcode_macro _USER_VARIABLES]
2+
variable_heaterbed_enabled: True
3+
gcode:
4+
5+
6+
[heater_bed]
7+
heater_pin: BED_HEATER
8+
sensor_type: EPCOS 100K B57560G104F
9+
sensor_pin: BED_TEMPERATURE
10+
max_power: 1
11+
min_temp: 0
12+
max_temp: 150
13+
14+
# We also include the "no wait too much for temperature" patch
15+
[include ../../../macros/helpers/bed_heater_ctrl.cfg]
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[gcode_macro _USER_VARIABLES]
2+
variable_heaterbed_enabled: True
3+
gcode:
4+
5+
6+
[heater_bed]
7+
heater_pin: BED_HEATER
8+
sensor_type: NTC 100K MGB18-104F39050L32
9+
sensor_pin: BED_TEMPERATURE
10+
max_power: 1
11+
min_temp: 0
12+
max_temp: 120
13+
14+
# We also include the "no wait too much for temperature" patch
15+
[include ../../../macros/helpers/bed_heater_ctrl.cfg]

config/hardware/extruder/galileo2.cfg

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[gcode_macro _USER_VARIABLES]
2+
variable_extruder_enabled: True
3+
gcode:
4+
5+
6+
[extruder]
7+
# Galileo 2 Gear Ratio
8+
# new_rd = previous_rd * mesured_distance / requested_distance
9+
rotation_distance: 47.088
10+
gear_ratio: 9:1
11+
microsteps: 16
12+
full_steps_per_rotation: 200
13+
14+
nozzle_diameter: 0.400
15+
filament_diameter: 1.75
16+
max_extrude_only_distance: 110
17+
max_extrude_cross_section: 5
18+
sensor_type: ATC Semitec 104GT-2
19+
min_temp: 10
20+
max_temp: 270
21+
max_power: 1.0
22+
min_extrude_temp: 172
23+
pressure_advance: 0.0475
24+
pressure_advance_smooth_time: 0.040
25+
26+
# We also include the default wiring and low thermal hotend patch
27+
[include default_wiring.cfg]
28+
[include ../../../macros/helpers/hotend_heater_ctrl.cfg]

config/hardware/filament_sensors/switch_sensor.cfg

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ gcode:
44

55

66
[filament_switch_sensor runout_sensor]
7-
extruder: extruder
87
switch_pin: RUNOUT_SENSOR
98
pause_on_runout: True
109
#runout_gcode:

config/hardware/heated_bed.cfg

+2-14
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,3 @@
1-
[gcode_macro _USER_VARIABLES]
2-
variable_heaterbed_enabled: True
3-
gcode:
1+
## This file is deprecated in favor of the included file.
42

5-
6-
[heater_bed]
7-
heater_pin: BED_HEATER
8-
sensor_type: NTC 100K MGB18-104F39050L32
9-
sensor_pin: BED_TEMPERATURE
10-
max_power: 1
11-
min_temp: 0
12-
max_temp: 120
13-
14-
# We also include the "no wait too much for temperature" patch
15-
[include ../../macros/helpers/bed_heater_ctrl.cfg]
3+
[include bed_heaters/keenovo.cfg]

0 commit comments

Comments
 (0)