Skip to content

Commit eeb4916

Browse files
authored
Merge pull request #452 from Frix-x/develop
v4.3.0
2 parents 4dd8a61 + 20f41e8 commit eeb4916

File tree

161 files changed

+4288
-2727
lines changed

Some content is hidden

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

161 files changed

+4288
-2727
lines changed

.github/workflows/stale.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Mark and Manage Stale Issues and Pull Requests
2+
3+
on:
4+
schedule:
5+
- cron: '30 7 * * *'
6+
7+
jobs:
8+
stale:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
issues: write
12+
pull-requests: write
13+
14+
steps:
15+
- uses: actions/[email protected]
16+
with:
17+
repo-token: ${{ secrets.GITHUB_TOKEN }}
18+
days-before-stale: 30
19+
days-before-close: 14
20+
stale-issue-message: >
21+
📌 **This issue has been marked as stale because it has not had activity in the past 30 days.**
22+
23+
To keep it open, please respond to this message or add new information. Otherwise, this will be closed in 14 days.
24+
25+
Thank you for your contributions!
26+
stale-pr-message: >
27+
📌 **This pull request has been marked as stale because it has not had activity in the past 30 days.**
28+
29+
Please update the PR or comment to keep it active. Otherwise, this will be closed in 14 days.
30+
31+
We appreciate your contribution!
32+
stale-issue-label: 'stale'
33+
stale-pr-label: 'stale, reviewer-needed'
34+
exempt-issue-labels: 'tracking'
35+
exempt-pr-labels: 'tracking'
36+
close-issue-message: 'This issue was closed due to inactivity for 14 days. Feel free to reopen it if you think it was an error or if you have new information or progress to share'
37+
close-pr-message: 'This pull request was closed due to inactivity for 14 days. Please reopen it if you think it was an error or if you wish to continue the contribution.'
38+
exempt-all-milestones: true
39+
exempt-all-assignees: true
40+
exempt-draft-prs: true

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
/*.cfg
88
/*.conf
99
/.VERSION
10+
/scripts/K-ShakeTune
1011

1112

1213
# -------------------------------------------------------------------

README.md

+57-57
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
1-
# Klippain
2-
3-
> Klippain - The pain-free recipe for (french)bread and butter Klipper configuration!
4-
5-
Klippain is a generic, modular, and highly customizable Klipper configuration for 3D printers. Designed for use on various machines such as Cartesian, CoreXY and CoreXZ, it has been reported working correctly on Voron V2.4, Voron Trident, Voron V0, Voron SwitchWire, TriZero, VZbot, Ender5, Ender3, Prusas, etc...
6-
7-
![Klippain](./docs/klippain.png)
8-
9-
Klippain is regularly updated with new features and merged PRs from users. You can reach me on the Voron Discord as **Frix_x#0161**.
10-
11-
Fun fact: "pain" \pɛ̃\ is the French word for bread, so there's no pain in this pain—only joy! Thanks to the French channel "honhonhonbaguette-FR" on the Voron Discord for the joke and name suggestion!
12-
13-
14-
## Features
15-
16-
Klippain is designed for versatility. By selecting and enabling the desired hardware and software options, it can be used on a wide range of machines.
17-
18-
Custom features available out of the box include **adaptive bed mesh**, **custom printer calibration macros**, **automated input shaper workflows**, and **vibration measurement** macros and scripts, ... Refer to the [features documentation](./docs/features.md) for a detailed list and usage instructions.
19-
20-
21-
## Installation
22-
23-
To install Klippain, first ensure you have already Klipper, Moonraker, and a WebUI installed on your printer. If not, use [KIAUH](https://github.com/th33xitus/kiauh).
24-
25-
Then, run the installation script using the following command over SSH. This script will backup your old configuration, download this GitHub repository to your RaspberryPi home directory, and set up Klippain in `~/printer_data/config`. You will also be prompted to select and install MCU board_pins templates. This is recommended for faster `mcu.cfg` setup, but you can do it manually later if you prefer.
26-
27-
```bash
28-
wget -O - https://raw.githubusercontent.com/Frix-x/klippain/main/install.sh | bash
29-
```
30-
31-
Finally, Klippain requires a few simple steps to configure and customize it for your printer: please follow the [configuration guide](./docs/configuration.md).
32-
33-
> **Warning**
34-
>
35-
> 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.
36-
37-
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-
53-
## Support the Project
54-
55-
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.
56-
57-
Alternatively, consider buying me a coffee or contributing to new hardware purchases to support my work!
1+
# Klippain
2+
3+
> Klippain - The pain-free recipe for (french)bread and butter Klipper configuration!
4+
5+
Klippain is a generic, modular, and highly customizable Klipper configuration for 3D printers. Designed for use on various machines such as Cartesian, CoreXY and CoreXZ, it has been reported working correctly on Voron V2.4, Voron Trident, Voron V0, Voron SwitchWire, TriZero, VZbot, Ender5, Ender3, Prusas, etc...
6+
7+
![Klippain](./docs/klippain.png)
8+
9+
Klippain is regularly updated with new features and merged PRs from users. You can reach me on the Voron Discord as **Frix_x#0161**.
10+
11+
Fun fact: "pain" \pɛ̃\ is the French word for bread, so there's no pain in this pain—only joy! Thanks to the French channel "honhonhonbaguette-FR" on the Voron Discord for the joke and name suggestion!
12+
13+
14+
## Features
15+
16+
Klippain is designed for versatility. By selecting and enabling the desired hardware and software options, it can be used on a wide range of machines.
17+
18+
Custom features available out of the box include a full featured set of standard macros, **adaptive bed mesh**, **custom printer calibrations**, **automated input shaper workflows**, and **vibration measurement** macros and scripts, ... Refer to the [features documentation](./docs/features.md) for a detailed list and usage instructions.
19+
20+
21+
## Installation
22+
23+
To install Klippain, first ensure you have already Klipper, Moonraker, and a WebUI installed on your printer. If not, you can use [KIAUH](https://github.com/th33xitus/kiauh).
24+
25+
Then, run the installation script using the following command over SSH. This script will backup your old configuration, download this GitHub repository to your RaspberryPi home directory, and set up Klippain in `~/printer_data/config`. You will also be prompted to select and install MCU board_pins templates. This is recommended for faster `mcu.cfg` setup, but you can do it manually later if you prefer.
26+
27+
```bash
28+
wget -O - https://raw.githubusercontent.com/Frix-x/klippain/main/install.sh | bash
29+
```
30+
31+
Finally, Klippain requires a few simple steps to configure and customize it for your printer: please follow the [configuration guide](./docs/configuration.md).
32+
33+
> **Warning**:
34+
>
35+
> General rule to keep the auto-update feature working: **never modify Klippain files directly**, but instead add overrides as per [the documentation](./docs/overrides.md)! 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.
36+
37+
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+
53+
## Support the Project
54+
55+
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.
56+
57+
Alternatively, consider buying me a coffee or contributing to new hardware purchases to support my work!
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[include generics/adxl345_software_spi.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+
spi_software_sclk_pin: toolhead:ADXL_SCLK
7+
spi_software_mosi_pin: toolhead:ADXL_MOSI
8+
spi_software_miso_pin: toolhead:ADXL_MISO

config/hardware/accelerometers/adxl345_rpi.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,4 @@ probe_points:
2121
# Include the IS calibration macros to unlock them when
2222
# an accelerometer is installed on the machine
2323
[include ../../../macros/helpers/resonance_override.cfg]
24-
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
25-
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
24+
[include ../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/adxl345_usb.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,4 @@ probe_points:
2222
# Include the IS calibration macros to unlock them when
2323
# an accelerometer is installed on the machine
2424
[include ../../../macros/helpers/resonance_override.cfg]
25-
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
26-
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
25+
[include ../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/adxl345_usb_rampon.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,4 @@ probe_points:
2121
# Include the IS calibration macros to unlock them when
2222
# an accelerometer is installed on the machine
2323
[include ../../../macros/helpers/resonance_override.cfg]
24-
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
25-
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
24+
[include ../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/adxl345_usb_rp2040_spi1.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,4 @@ probe_points:
2525
# Include the IS calibration macros to unlock them when
2626
# an accelerometer is installed on the machine
2727
[include ../../../macros/helpers/resonance_override.cfg]
28-
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
29-
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
28+
[include ../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/generics/adxl345_hardware_spi1.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,4 @@ probe_points:
2121
# Include the IS calibration macros to unlock them when
2222
# an accelerometer is installed on the machine
2323
[include ../../../../macros/helpers/resonance_override.cfg]
24-
[include ../../../../macros/calibration/IS_shaper_calibrate.cfg]
25-
[include ../../../../macros/calibration/IS_vibrations_measurement.cfg]
24+
[include ../../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/generics/adxl345_hardware_ssp1.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,4 @@ probe_points:
1818
# Include the IS calibration macros to unlock them when
1919
# an accelerometer is installed on the machine
2020
[include ../../../../macros/helpers/resonance_override.cfg]
21-
[include ../../../../macros/calibration/IS_shaper_calibrate.cfg]
22-
[include ../../../../macros/calibration/IS_vibrations_measurement.cfg]
21+
[include ../../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/generics/adxl345_software_spi.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,4 @@ probe_points:
2222
# Include the IS calibration macros to unlock them when
2323
# an accelerometer is installed on the machine
2424
[include ../../../../macros/helpers/resonance_override.cfg]
25-
[include ../../../../macros/calibration/IS_shaper_calibrate.cfg]
26-
[include ../../../../macros/calibration/IS_vibrations_measurement.cfg]
25+
[include ../../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/accelerometers/lis2dw_usb_rp2040_spi1.cfg

+2-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ serial: /dev/serial/by-id/xxx
1111
[lis2dw]
1212
cs_pin: lis2dw_mcu:gpio9
1313
spi_bus: spi1a
14-
axes_map: -y,x,-z
14+
axes_map: x,y,z
1515

1616
[resonance_tester]
1717
accel_chip: lis2dw
@@ -22,5 +22,4 @@ probe_points:
2222
# Include the IS calibration macros to unlock them when
2323
# an accelerometer is installed on the machine
2424
[include ../../../macros/helpers/resonance_override.cfg]
25-
[include ../../../macros/calibration/IS_shaper_calibrate.cfg]
26-
[include ../../../macros/calibration/IS_vibrations_measurement.cfg]
25+
[include ../../../scripts/K-ShakeTune/K-SnT_*.cfg]

config/hardware/axis/X/TMC/TMC5160.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ spi_software_mosi_pin: DRIVER_SPI_MOSI
1111
spi_software_miso_pin: DRIVER_SPI_MISO
1212
interpolate: True
1313
run_current: 0.8
14-
sense_resistor: 0.110
14+
sense_resistor: 0.075
1515
stealthchop_threshold: 0

config/hardware/axis/Y/TMC/TMC5160.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ spi_software_mosi_pin: DRIVER_SPI_MOSI
1111
spi_software_miso_pin: DRIVER_SPI_MISO
1212
interpolate: True
1313
run_current: 0.8
14-
sense_resistor: 0.110
14+
sense_resistor: 0.075
1515
stealthchop_threshold: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Z TMC5160 definition
2+
3+
# User variable only needed here as they are called recursively
4+
[gcode_macro _USER_VARIABLES]
5+
variable_z_driver: "tmc5160"
6+
gcode:
7+
8+
9+
[tmc5160 stepper_z]
10+
cs_pin: Z_TMCUART
11+
spi_speed: 500000
12+
spi_software_sclk_pin: DRIVER_SPI_SCK
13+
spi_software_mosi_pin: DRIVER_SPI_MOSI
14+
spi_software_miso_pin: DRIVER_SPI_MISO
15+
interpolate: True
16+
run_current: 0.8
17+
sense_resistor: 0.075
18+
stealthchop_threshold: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
[include TMC5160_1-Motor.cfg]
2+
3+
[tmc5160 stepper_z1]
4+
cs_pin: Z1_TMCUART
5+
spi_speed: 500000
6+
spi_software_sclk_pin: DRIVER_SPI_SCK
7+
spi_software_mosi_pin: DRIVER_SPI_MOSI
8+
spi_software_miso_pin: DRIVER_SPI_MISO
9+
interpolate: True
10+
run_current: 0.8
11+
sense_resistor: 0.075
12+
stealthchop_threshold: 0
13+
14+
[tmc5160 stepper_z2]
15+
cs_pin: Z2_TMCUART
16+
spi_speed: 500000
17+
spi_software_sclk_pin: DRIVER_SPI_SCK
18+
spi_software_mosi_pin: DRIVER_SPI_MOSI
19+
spi_software_miso_pin: DRIVER_SPI_MISO
20+
interpolate: True
21+
run_current: 0.8
22+
sense_resistor: 0.075
23+
stealthchop_threshold: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[include TMC5160_3-Motors.cfg]
2+
3+
[tmc5160 stepper_z3]
4+
cs_pin: Z3_TMCUART
5+
spi_speed: 500000
6+
spi_software_sclk_pin: DRIVER_SPI_SCK
7+
spi_software_mosi_pin: DRIVER_SPI_MOSI
8+
spi_software_miso_pin: DRIVER_SPI_MISO
9+
interpolate: True
10+
run_current: 0.8
11+
sense_resistor: 0.075
12+
stealthchop_threshold: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[stepper_z]
2+
rotation_distance: 2
3+
microsteps: 32
4+
full_steps_per_rotation: 200
5+
6+
[stepper_z1]
7+
rotation_distance: 2
8+
microsteps: 32
9+
full_steps_per_rotation: 200
10+
11+
[stepper_z2]
12+
rotation_distance: 2
13+
microsteps: 32
14+
full_steps_per_rotation: 200
15+
16+
# We also include the default wiring and speeds from here to avoid duplicating
17+
[include default_wiring_3M.cfg]
18+
[include default_speed.cfg]

config/hardware/displays/BTT_mini12864.cfg

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# Neopixel leds integrated in the BTT mini12864 display
22
[gcode_macro _USER_VARIABLES]
33
variable_status_leds_minidisplay_enabled = True
4+
variable_status_leds_minidisplay_knob_only = True
45
variable_status_leds_minidisplay_led_name: "btt_mini12864"
6+
variable_status_leds_minidisplay_idx: '1,2'
7+
58
gcode:
69

710
# Also include directly the leds control macros from here
811
[include ../../../macros/hardware_functions/status_leds.cfg]
9-
12+
# Include adaptations to the menus
13+
[include ../../../config/software/display/display.cfg]
1014

1115
[display]
1216
lcd_type: uc1701
@@ -36,10 +40,10 @@ initial_BLUE: 0.0
3640
color_order: RGB
3741

3842
# Set RGB values on boot up for each Neopixel.
39-
# Index 1 = display, Index 2 and 3 = Knob
43+
# Index 3 = display, Index 1 and 2 = Knob
4044
[delayed_gcode setdisplayneopixel]
4145
initial_duration: 1
4246
gcode:
43-
SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0
47+
SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0
4448
SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
45-
SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3
49+
SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3

config/hardware/displays/BTT_mini12864_inversed.cfg

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# Neopixel leds integrated in the BTT mini12864 display
22
[gcode_macro _USER_VARIABLES]
33
variable_status_leds_minidisplay_enabled = True
4+
variable_status_leds_minidisplay_knob_only = True
45
variable_status_leds_minidisplay_led_name: "btt_mini12864"
6+
variable_status_leds_minidisplay_idx: '1,2'
7+
58
gcode:
69

710
# Also include directly the leds control macros from here
811
[include ../../../macros/hardware_functions/status_leds.cfg]
9-
12+
# Include adaptations to the menus
13+
[include ../../../config/software/display/display.cfg]
1014

1115
[display]
1216
lcd_type: uc1701
@@ -36,10 +40,10 @@ initial_BLUE: 0.0
3640
color_order: RGB
3741

3842
# Set RGB values on boot up for each Neopixel.
39-
# Index 1 = display, Index 2 and 3 = Knob
43+
# Index 3 = display, Index 1 and 2 = Knob
4044
[delayed_gcode setdisplayneopixel]
4145
initial_duration: 1
4246
gcode:
43-
SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0
47+
SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0
4448
SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
45-
SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3
49+
SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3

0 commit comments

Comments
 (0)