Repository navigation
v0.11.0 - web page, eject after the end macro
Pre-release
Pre-release
Upgrading: move AUTO_EJECT below your end macro. The slicer end G-code is now:
PRINT_END
AUTO_EJECT HEIGHT=[max_layer_z] HOME=1Use your end macro's name (DEMON_END, END_PRINT, …). Details in docs/integration.md. Update from Mainsail or Fluidd (or git pull), restart Klipper, and run ~/klipper-auto-eject/install.sh --web once if you want the new web page.
Tested end to end on a Voron Trident 450 with Voron Tap and DEMON Klipper Essentials: print, end macro, eject of five parts, check with the probe, job completed.
Changed
AUTO_EJECTnow goes after your end macro, asAUTO_EJECT HEIGHT=[max_layer_z] HOME=1.
End macros retract the filament (G1 E-2), and onceAUTO_EJECThad let the nozzle cool,
Klipper refused that retract ("Extrude below minimum temp"): the print ended with an error and
the job queue stopped. After the end macro,HOME=1homes again around the parts if the motors
were turned off. Your ownPRINT_ENDcan instead call it after its retract. See
docs/integration.md; the DEMON_CUSTOM_PRE_ENDhook method is gone for the same reason.
Added
- Probes that touch the bed with the nozzle (Voron Tap, eddy touch modes) wait for the nozzle to
cool tonozzle_probe_max_temp(150 °C) before homing Z or checking the bed, so a nozzle the end
macro has only just turned off does not mark the print sheet. - The web page's Check a file warns when a file runs
AUTO_EJECTbefore another macro. - A web page for the printer's web interface, with its own entry in the Mainsail sidebar
(install.sh --web, seedocs/web-page.md). It shows the printer's state and a live map of
the bed with the parts, the push lanes and the toolhead; ejects, dry-runs or forgets the parts
(asking first); manages Moonraker's job queue; checks a G-code file before it is printed (labels,
AUTO_EJECTin the end G-code, height, whether the blade can get behind every part); shows the
blade setup and opens the setup dialogs in the page; and edits every setting. English and
Arabic, light and dark, works on a phone, loads nothing from the internet.?demoruns it
against a pretend printer. AUTO_EJECT_SET KEY=<setting> VALUE=<value>changes one setting, checks the value against the
setting's type and keeps it after a restart.RESET=1goes back to the settings file.
Fixed
- Klipper could stop with "MCU shutdown: Timer too close" at the start of an eject when the bed
was already cool. The 240 cooling passes, all with nothing left to do, ran back to back while
the toolhead was still rising, and the move reached the board too late. Now no cooling pass runs
when the bed is already cool, the passes left after cooling return at once, and every move
finishes (M400) before the macros that take Klipper a moment to work out: the push plan, the
check with the probe and homing Z around the parts. The tests check that none of these starts
while a move is pending. AUTO_EJECT HOME=1could find Z past the edge of the print sheet: on a Voron 450 with the middle
of the bed full, it probed the bare plate at the front, among its holes, and every height after
that was 0.6 mm off. With a[bed_mesh]the spot now stays inside the mesh area (mesh_min/
mesh_max, ormesh_radiuson a round bed), where the probe is known to work.auto_eject.cfgheld six copies of the last lines of its defaults. Klipper ignored them (the
values were the same), and a test now makes sure no option is given twice.
Documentation
- A project website built from
docs/with MkDocs Material (mkdocs.yml,website/): a home
page, search, light and dark, and the web page running as a live demo in the browser.
.github/workflows/website.ymlpublishes it on GitHub Pages. - Rewritten for beginners. A new step-by-step guide (
docs/getting-started.md) goes from checking
the bed to printing in a row, with a check after every step. New pages: FAQ, glossary, every
command with its options, and a documentation home (docs/README.md) grouped by what you want
to do. The README now leads with how it works, who it is for and the eight steps. - The blade measurement pages described a 20 mm cube; they now describe the 3.5 mm printed
calibration block, and the troubleshooting page lists every reason the measurement can stop. - Where
AUTO_EJECTgoes for every kind of end G-code (DEMON, Klippain, RatOS, stock Voron, plain
commands, Cura), and when you need to tell the printer the bed is clear (FAQ).