Group macros by topic, add Blobifier, fix first tool change
- Split the macro files into folders by topic (print, heating, afc, pressure_advance, spoolman, leds, sensors); klipper-macros.cfg is the one file printer.cfg includes. Macros moved unchanged; the effective config is identical apart from the paths of the PA shell scripts. - Add the modified Blobifier (Turtleblobifier for AFC) and define [save_variables] once in save_variables.cfg instead of in both blobifier.cfg and the PA macros (same file, bd_pa_variables.cfg). - PRINT_WARMUP: heat to the loaded lane's temperature before the first tool change. AFC skips heating when the loaded lane's tool number is not in the print file's temperature list, and the unload then failed below min_extrude_temp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6dbb4ca3fb
commit
eaf9c82617
27 files changed
+1366
-340
No files matched your search
@@ -8,22 +8,42 @@ Installs with one script and updates through Moonraker's update manager.
|
||||
|
||||
## Contents
|
||||
|
||||
### Macros (`macros/`, included through `klipper-macros.cfg`)
|
||||
### Macros (`macros/`)
|
||||
|
||||
`printer.cfg` includes only `macros/klipper-macros.cfg`; that file includes
|
||||
everything below, grouped by topic. Comment out what you do not use there.
|
||||
|
||||
| File | Macros | Needs |
|
||||
|---|---|---|
|
||||
| `macros.cfg` | `PRINT_WARMUP`, `PRINT_START`, `PRINT_END`, `SOAK_MY_BED`, `[idle_timeout]` | Beacon, AFC, Blobifier, `HEAT_SOAK`, iHeater, bdwidth, bd_pressure PA macros, soak-my-bed |
|
||||
| `afc_macros.cfg` | `AFC_XY_SAFETY_CHECK`, `_AFC_STORE_HOME_REFERENCE`, `AFC_XY_RESUME`, `LANE_FEED_UNTIL_HUB_OPEN`, `LANE_FEED_ABORT`, `HOME`, `SET_ACTIVE_SPOOL`, `CLEAR_ACTIVE_SPOOL` | AFC, `extras/xy_drift.py` (CoreXY) |
|
||||
| `save_variables.cfg` | the one `[save_variables]` for all macros (file `bd_pa_variables.cfg` in the config folder) | — |
|
||||
| **blobifier/** | | |
|
||||
| `blobifier.cfg` | `BLOBIFIER`, `BLOBIFIER_CLEAN`, `BLOBIFIER_PARK`, `BLOBIFIER_SHAKE_BUCKET`, ...: purge bucket and nozzle brush for AFC (Turtleblobifier, heavily modified) | Blobifier hardware, AFC |
|
||||
| `blobifier_hw.cfg` | servo and bucket switch pins | — |
|
||||
| **print/** | | |
|
||||
| `print_start_end.cfg` | `PRINT_WARMUP`, `PRINT_START`, `PRINT_END` | Beacon, AFC, Blobifier, `HEAT_SOAK`, iHeater, bdwidth, bd_pressure PA macros |
|
||||
| `pause_resume.cfg` | `PAUSE`, `RESUME`, `CANCEL_PRINT`, `M600` | — |
|
||||
| `filament.cfg` | `LOAD_FILAMENT`, `UNLOAD_FILAMENT` | — |
|
||||
| `homing.cfg` | `HOME` | — |
|
||||
| `idle_timeout.cfg` | `[idle_timeout]`: heaters, chamber heater and motors off | iHeater macros |
|
||||
| **heating/** | | |
|
||||
| `heat_soak.cfg` | `HEAT_SOAK`, `STOP_HEAT_SOAK`, `CANCEL_HEAT_SOAK`, `HEAT_SOAK_RESUME`, `RESUME` | — |
|
||||
| `soak_my_bed.cfg` | `SOAK_MY_BED` (homes and levels first) | soak-my-bed |
|
||||
| `bed_fans.cfg` | Bed fans through `SET_HEATER_TEMPERATURE`/`M190`/`M140`/`TURN_OFF_HEATERS` overrides | `[fan_generic BedFans]` |
|
||||
| `chamber_iheater.cfg` | iHeater MCU, heater and sensors, `M141`, `M191`, `iHEATER_ON`, `iHEATER_OFF` | iHeater chamber heater |
|
||||
| `filament_drying.cfg` | `START_DRYING`, `STOP_DRYING`, `STATUS_DRYING` | bed fans, chamber heater (optional) |
|
||||
| **afc/** | | |
|
||||
| `xy_safety_check.cfg` | `AFC_XY_SAFETY_CHECK`, `_AFC_STORE_HOME_REFERENCE`, `AFC_XY_RESUME`: lost-step check around tool changes | `extras/xy_drift.py` (CoreXY) |
|
||||
| `lane_tools.cfg` | `LANE_FEED_UNTIL_HUB_OPEN`, `LANE_FEED_ABORT` | AFC |
|
||||
| `purge_check.cfg` | `BLOBIFIER_CHECKED`: checks every AFC purge with bd_pressure (and optionally bdwidth motion) | Blobifier, AFC, `extras/bdpressure_check.py` + bd_pressure load-check firmware, `extras/bdwidth_status.py` |
|
||||
| `purge_until_empty.cfg` | `PURGE_UNTIL_EMPTY`: purges a snapped filament out until there is no more nozzle pressure | same as `purge_check.cfg` |
|
||||
| `bd_pa_afc_spoolman.cfg` + `bd_pa_*.sh` | `LANE_CALIBRATE_PA`, `PA_CALIBRATE_ALL_LANES`, `LANE_RECAL_PA`, `SET_SPOOL_ID`, `PA_STATUS`: pressure advance per lane/spool with bd_pressure, cached locally and in Spoolman | bd_pressure, AFC, Spoolman, `gcode_shell_command` |
|
||||
| `motion.cfg` | PIR motion sensor (`[gcode_button am312]`) switching the case light | motion sensor on a pin, `[output_pin caselight]` |
|
||||
| `drying.cfg` | `START_DRYING`, `STOP_DRYING`, `STATUS_DRYING`: dry filament on the heated bed | bed fans macros, chamber heater (optional) |
|
||||
| `bedfans.cfg` | Bed fan control through `SET_HEATER_TEMPERATURE`/`M190`/`M140` overrides | `[fan_generic BedFans]` |
|
||||
| `heatsoak.cfg` | `HEAT_SOAK`, `STOP_HEAT_SOAK`, `CANCEL_HEAT_SOAK`, `HEAT_SOAK_RESUME`, `RESUME` | — |
|
||||
| `iHeater.cfg` | iHeater MCU, heater, sensors, `M141`, `M191`, `iHEATER_ON`, `iHEATER_OFF` | iHeater chamber heater |
|
||||
| `stealthburner_led_effects_barf.cfg` | Stealthburner LED status macros (`_status_*`) | `led_effect`, `[neopixel sb_leds]` |
|
||||
| `macros_klipperscreen.cfg` | `PAUSE`, `RESUME`, `CANCEL_PRINT`, `LOAD_FILAMENT`, `UNLOAD_FILAMENT`, `M600` | — |
|
||||
| **pressure_advance/** | | |
|
||||
| `bd_pa_spoolman.cfg` + `bd_pa_*.sh` | `LANE_CALIBRATE_PA`, `PA_CALIBRATE_ALL_LANES`, `LANE_RECAL_PA`, `SET_SPOOL_ID`, `PA_STATUS`: pressure advance per lane/spool, cached locally and in Spoolman | bd_pressure, AFC, Spoolman, `gcode_shell_command` |
|
||||
| **spoolman/** | | |
|
||||
| `active_spool.cfg` | `SET_ACTIVE_SPOOL`, `CLEAR_ACTIVE_SPOOL` | Spoolman in Moonraker |
|
||||
| **leds/** | | |
|
||||
| `stealthburner_leds.cfg` | Stealthburner LED effects and `_status_*` macros | `led_effect` |
|
||||
| **sensors/** | | |
|
||||
| `motion_sensor.cfg` | PIR motion sensor switching the case light | sensor on a pin, `[output_pin caselight]` |
|
||||
|
||||
### Klipper modules (`extras/`)
|
||||
|
||||
@@ -88,14 +108,20 @@ original printer: `Macros/*.cfg` and `bd_pa_afc_spoolman.cfg`), remove those
|
||||
includes when adding `klipper-macros.cfg`, otherwise the macros are defined
|
||||
twice and the old copy may win:
|
||||
|
||||
- remove `[include bd_pa_afc_spoolman.cfg]` from `printer.cfg`,
|
||||
- remove `[include bd_pa_afc_spoolman.cfg]` and
|
||||
`[include ./blobifier/blobifier.cfg]` from `printer.cfg`,
|
||||
- replace `[include ./Macros/macros.cfg]` with
|
||||
`[include klipper-macros/klipper-macros.cfg]`,
|
||||
- keep including what is not in this repo yourself, for example
|
||||
`[include Macros/timelapse.cfg]` and `[include Macros/TEST_SPEED.cfg]`.
|
||||
|
||||
`bd_pa_variables.cfg` (saved PA values) stays where it is, in the config
|
||||
folder; it is data, not part of the repo.
|
||||
`bd_pa_variables.cfg` (saved PA values and the Blobifier blob count) stays
|
||||
where it is, in the config folder; it is data, not part of the repo. Before,
|
||||
both `blobifier.cfg` and `bd_pa_afc_spoolman.cfg` had their own
|
||||
`[save_variables]`; Klipper merged them and the last one won, so the blob
|
||||
count was already stored in `bd_pa_variables.cfg` and
|
||||
`blobifier/blob_vars.cfg` was no longer used. Now it is defined once, in
|
||||
`save_variables.cfg`.
|
||||
|
||||
## Adapting to another printer
|
||||
|
||||
@@ -103,14 +129,16 @@ These are the settings of one printer. Before using a file, check:
|
||||
|
||||
- **Names:** `fila_width_0` (bdwidth), `bd_pa` (bd_pressure), `sb_leds`,
|
||||
`caselight`, `BedFans`, `iHeater_H`, lane names `lane1..lane5`.
|
||||
- **Pins and serial IDs:** `motion.cfg` (`PC0`), `iHeater.cfg` (serial ID).
|
||||
- **Positions:** the bed centre `X175 Y175` (350 mm bed) in `HOME`
|
||||
(`afc_macros.cfg`) and in `PRINT_WARMUP`/`PRINT_START` (`macros.cfg`).
|
||||
- **Pins and serial IDs:** `blobifier/blobifier_hw.cfg` (`PC1`, `PC3`),
|
||||
`sensors/motion_sensor.cfg` (`PC0`),
|
||||
`heating/chamber_iheater.cfg` (serial ID).
|
||||
- **Positions:** the bed centre `X175 Y175` (350 mm bed) in `print/homing.cfg`
|
||||
and `print/print_start_end.cfg`.
|
||||
`AFC_XY_SAFETY_CHECK` uses the axis limits from your config.
|
||||
- **Settings at the top of a file** (`variable_...`): `purge_check.cfg`
|
||||
- **Settings at the top of a file** (`variable_...`): `afc/purge_check.cfg`
|
||||
(`mode: "enforce"`, `motion_check: False` because this printer's bdwidth
|
||||
motion reading is unreliable), `bd_pa_afc_spoolman.cfg` (`spoolman_url`),
|
||||
`bedfans.cfg`, `drying.cfg`.
|
||||
motion reading is unreliable), `pressure_advance/bd_pa_spoolman.cfg`
|
||||
(`spoolman_url`), `heating/bed_fans.cfg`, `heating/filament_drying.cfg`.
|
||||
- `xy_drift.py` is for CoreXY only.
|
||||
|
||||
Comment out files you do not need in `klipper-macros.cfg`.
|
||||
@@ -132,17 +160,17 @@ original licenses apply to those parts:
|
||||
|
||||
| File | Based on |
|
||||
|---|---|
|
||||
| `stealthburner_led_effects_barf.cfg` | [tanaes/whopping_Voron_mods](https://github.com/tanaes/whopping_Voron_mods) (Rainbow Barf logo LEDs) |
|
||||
| `bedfans.cfg` | Ellis' bed fan macros ([ellis3dp.com](https://ellis3dp.com/Print-Tuning-Guide/)) |
|
||||
| `heatsoak.cfg` | community `HEAT_SOAK` macro |
|
||||
| `iHeater.cfg` | iHeater vendor configuration |
|
||||
| `drying.cfg` | community filament drying macro |
|
||||
| `macros_klipperscreen.cfg` | [KlipperScreen recommended macros](https://klipperscreen.readthedocs.io/en/latest/macros/#recommended) |
|
||||
| `blobifier/` | [Turtleblobifier](https://github.com/ImSundee/Turtleblobifier) (AFC version of [Dendrowen/Blobifier](https://github.com/Dendrowen/Blobifier)) |
|
||||
| `leds/stealthburner_leds.cfg` | [tanaes/whopping_Voron_mods](https://github.com/tanaes/whopping_Voron_mods) (Rainbow Barf logo LEDs) |
|
||||
| `heating/bed_fans.cfg` | Ellis' bed fan macros ([ellis3dp.com](https://ellis3dp.com/Print-Tuning-Guide/)) |
|
||||
| `heating/heat_soak.cfg` | community `HEAT_SOAK` macro |
|
||||
| `heating/chamber_iheater.cfg` | iHeater vendor configuration |
|
||||
| `heating/filament_drying.cfg` | community filament drying macro |
|
||||
| `print/pause_resume.cfg`, `print/filament.cfg` | [KlipperScreen recommended macros](https://klipperscreen.readthedocs.io/en/latest/macros/#recommended) |
|
||||
| `scripts/` | [Voron docs: automating MCU updates](https://docs.vorondesign.com/community/howto/drachenkatze/automating_klipper_mcu_updates.html), [Esoterical's CANBus guide](https://canbus.esoterical.online/) |
|
||||
|
||||
Uses: [Klipper](https://github.com/Klipper3d/klipper),
|
||||
[AFC-Klipper-Add-On](https://github.com/ArmoredTurtle/AFC-Klipper-Add-On),
|
||||
[Blobifier](https://github.com/Dendrowen/Blobifier),
|
||||
[bd_pressure](https://github.com/markniu/bd_pressure),
|
||||
[bdwidth](https://github.com/markniu/bdwidth),
|
||||
[klipper-led_effect](https://github.com/julianschill/klipper-led_effect),
|
||||
|
||||
Reference in new issue
Block a user