Skip to content

Commit

Permalink
Merge pull request #309 from Frix-x/develop
Browse files Browse the repository at this point in the history
* 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]>
  • Loading branch information
18 people authored Nov 17, 2023
2 parents 25d85ae + c56fb96 commit e32e9fc
Show file tree
Hide file tree
Showing 75 changed files with 2,743 additions and 911 deletions.
169 changes: 169 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,175 @@
# -------------------------------------------------------------------
# This gitignore is configured to not track user defined files at the root of the config
# And thus allowing a full update of the repo while keeping user files untouched
# -------------------------------------------------------------------


/*.cfg
/*.conf
/.VERSION


# -------------------------------------------------------------------
# Python specifics added here as well to avoid pycache folder, etc...
# -------------------------------------------------------------------

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,21 @@ Finally, Klippain requires a few simple steps to configure and customize it for
> 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.

## Removing Klippain

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

To run the uninstall script, execute the following command over SSH:

```bash
wget -O - https://raw.githubusercontent.com/Frix-x/klippain/main/uninstall.sh | bash
```

> **Note**
>
> 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:

## Support the Project

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.
Expand Down
7 changes: 7 additions & 0 deletions config/hardware/accelerometers/adxl345_sht_v2.x.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include generics/adxl345_hardware_spi1.cfg]

# As it's a toolhead ADXL, we add some default pins overrides from here
[adxl345]
cs_pin: toolhead:ADXL_CS
# Supplied config from Mellow is wrong - it states spi1, but at least for a 072 based unit is it on spi2
spi_bus: spi2
25 changes: 25 additions & 0 deletions config/hardware/accelerometers/adxl345_usb_rampon.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This ADXL file is dedicated to be used with ADXL boards
# connected over USB to the pi as dedicated and standalone ADXL-MCU boards

# This include KUSBA, ...


# You need to override the following to be able to set the proper serial in your overrides.cfg file
[mcu adxl]
serial: /dev/serial/by-id/xxx

[adxl345]
cs_pin: adxl:CS
axes_map: x,y,z

[resonance_tester]
accel_chip: adxl345
probe_points:
-1,-1,-1


# Include the IS calibration macros to unlock them when
# an accelerometer is installed on the machine
[include ../../../macros/helpers/resonance_override.cfg]
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
29 changes: 29 additions & 0 deletions config/hardware/accelerometers/adxl345_usb_rp2040_spi1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This ADXL file is dedicated to be used with USB RP2040 boards where the ADXL
# is connected to SPI1

# This include FYSTEC PortableInputShaper, ...


# You need to set the proper serial in your overrides.cfg file
[mcu adxl]
serial: /dev/serial/by-id/xxx

[adxl345]
cs_pin: adxl:gpio13
spi_software_sclk_pin: adxl:gpio10
spi_software_mosi_pin: adxl:gpio11
spi_software_miso_pin: adxl:gpio12
axes_map: x,y,z
# FYSTEC POS: x,-z,y

[resonance_tester]
accel_chip: adxl345
probe_points:
-1,-1,-1


# Include the IS calibration macros to unlock them when
# an accelerometer is installed on the machine
[include ../../../macros/helpers/resonance_override.cfg]
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
27 changes: 27 additions & 0 deletions config/hardware/axis/Z/V2.4_galileo2Z_1.8deg.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[stepper_z]
rotation_distance: 40
gear_ratio: 9:1
microsteps: 32
full_steps_per_rotation: 200

[stepper_z1]
rotation_distance: 40
gear_ratio: 9:1
microsteps: 32
full_steps_per_rotation: 200

[stepper_z2]
rotation_distance: 40
gear_ratio: 9:1
microsteps: 32
full_steps_per_rotation: 200

[stepper_z3]
rotation_distance: 40
gear_ratio: 9:1
microsteps: 32
full_steps_per_rotation: 200

# We also include the default wiring and speeds from here to avoid duplicating
[include default_wiring_4M.cfg]
[include default_speed.cfg]
15 changes: 15 additions & 0 deletions config/hardware/bed_heaters/creality.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[gcode_macro _USER_VARIABLES]
variable_heaterbed_enabled: True
gcode:


[heater_bed]
heater_pin: BED_HEATER
sensor_type: EPCOS 100K B57560G104F
sensor_pin: BED_TEMPERATURE
max_power: 1
min_temp: 0
max_temp: 150

# We also include the "no wait too much for temperature" patch
[include ../../../macros/helpers/bed_heater_ctrl.cfg]
15 changes: 15 additions & 0 deletions config/hardware/bed_heaters/keenovo.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[gcode_macro _USER_VARIABLES]
variable_heaterbed_enabled: True
gcode:


[heater_bed]
heater_pin: BED_HEATER
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: BED_TEMPERATURE
max_power: 1
min_temp: 0
max_temp: 120

# We also include the "no wait too much for temperature" patch
[include ../../../macros/helpers/bed_heater_ctrl.cfg]
28 changes: 28 additions & 0 deletions config/hardware/extruder/galileo2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[gcode_macro _USER_VARIABLES]
variable_extruder_enabled: True
gcode:


[extruder]
# Galileo 2 Gear Ratio
# new_rd = previous_rd * mesured_distance / requested_distance
rotation_distance: 47.088
gear_ratio: 9:1
microsteps: 16
full_steps_per_rotation: 200

nozzle_diameter: 0.400
filament_diameter: 1.75
max_extrude_only_distance: 110
max_extrude_cross_section: 5
sensor_type: ATC Semitec 104GT-2
min_temp: 10
max_temp: 270
max_power: 1.0
min_extrude_temp: 172
pressure_advance: 0.0475
pressure_advance_smooth_time: 0.040

# We also include the default wiring and low thermal hotend patch
[include default_wiring.cfg]
[include ../../../macros/helpers/hotend_heater_ctrl.cfg]
1 change: 0 additions & 1 deletion config/hardware/filament_sensors/switch_sensor.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ gcode:


[filament_switch_sensor runout_sensor]
extruder: extruder
switch_pin: RUNOUT_SENSOR
pause_on_runout: True
#runout_gcode:
Expand Down
16 changes: 2 additions & 14 deletions config/hardware/heated_bed.cfg
Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
[gcode_macro _USER_VARIABLES]
variable_heaterbed_enabled: True
gcode:
## This file is deprecated in favor of the included file.


[heater_bed]
heater_pin: BED_HEATER
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: BED_TEMPERATURE
max_power: 1
min_temp: 0
max_temp: 120

# We also include the "no wait too much for temperature" patch
[include ../../macros/helpers/bed_heater_ctrl.cfg]
[include bed_heaters/keenovo.cfg]
Loading

0 comments on commit e32e9fc

Please sign in to comment.