Repository navigation
v0.17.0 - The farm runs the printers together, and DEMON's bed check in the right place
Pre-releaseUpgrading: update from Mainsail or Fluidd (or git pull), then restart Klipper (FIRMWARE_RESTART, never while printing): the guard and the cooling macros changed. Moonraker restarts the klipper-auto-eject service by itself if you installed the notifications or the farm. With DEMON Klipper Essentials, run once ~/klipper-auto-eject/install.sh --demon: it moves the bed check into DEMON's _CUSTOM_PRE_START (a copy of DEMON's file is saved first) and restarts Klipper unless it prints; an AUTO_EJECT_GUARD left in the slicer then does nothing. A page left open offers Reload. Your settings are kept.
بالعربية: المزرعة صارت تدير الطابعات معًا: أمر واحد لعدة طابعات، وقائمة واحدة توزّع نسخ الملف على أول طابعة متاحة، وإعدادات جاهزة لكل نوع من الطابعات تُنسخ بضغطة، وملصق QR لكل طابعة، وبكرة كل طابعة على بطاقتها، وتقرير الإنتاج مع ملف CSV. ومع التبريد والطابعة متاحة (cool_background) يعمل ادفع الآن وأزلت القطع أثناء التبريد، ولا تكمل القائمة إلا بعد السرير فارغ، أكمل القائمة. وإصلاح مهم لمستخدمي DEMON: كان وضع AUTO_EJECT_GUARD في أول G-code البداية يجعل DEMON يوقف الطابعة إيقاف طوارئ؛ صار يعمل داخل _CUSTOM_PRE_START، ويضبطه install.sh --demon وحده. والقوائم لم تعد تقفز لأعلى، والصور تكبر تحت الفأرة.
Tested: 592 tests, and ruff and eslint in CI. The DEMON fix on a Voron Trident with DEMON 2.3.9 (install.sh --demon on the real printer, then prints with the bed check in DEMON's hook), and cooling with the printer free on the same printer at the end of a real print, with Push now and Bed is clear live on its farm card. The farm queue, settings sets and QR labels in the demo and against pretend printers; the QR codes module by module against a reference encoder for every version and level. Not yet tried on real printers: the farm queue sending copies.
Fixed
- With DEMON Klipper Essentials,
AUTO_EJECT_GUARDgoes in DEMON's_CUSTOM_PRE_STARThook,
not first in the slicer's start G-code as the docs said. DEMON stops the printer (an emergency
stop, "Machine Start Gcode is not functional") whenDEMON_STARThas not come a few seconds into
a print, and checking the bed for parts left from the last print takes longer.install.sh
now sets the hook up by itself when it finds DEMON (install.sh --demonon a printer that has
auto-eject already):AUTO_EJECT_GUARD FROM=DEMONin_CUSTOM_PRE_START, a copy of the file
saved first. A guard left in the slicer then does nothing and says so; without the hook it stops
such a print itself with a message that says where it belongs. The In your slicer card shows
the command, and when the hook is set up. - A list keeps its place when the page is drawn again. The print queue's file list, which
redraws the page as it loads each file's facts, jumped back to the top while being scrolled;
every list and dialog now stays where it was. - The farm's list at about 1280 px wide: a printer's facts wrap instead of pushing its buttons out.
Added
- Pictures, bigger under the mouse, anywhere in the page: a file's thumbnail, a camera, a
drawing shows larger next to the pointer, on the backdrop its thumbnail has. - One command for several farm printers (farm.md):
tick printers, a group or everything shown, then Bed is clear, Start the queue,
Push now, Pause, Resume, Turn on, Turn off, Cancel the print or
Emergency stop, each only to the printers it suits now; and Send a file to every free
printer selected, printed on each if you ask. - One queue for the whole farm (farm.md): files
printed so many times, each copy sent to the next free printer it may go to (bed empty, nothing
in its own queue, the file's filament on its spool), into afarm/folder. A printer without
auto-eject waits for Bed is clear, and any printer after a copy that stopped. Move jobs,
change their copies, pause the queue; it is kept across restarts. - The spool on each farm printer's card, from Moonraker's
[spoolman]: colour, filament and
grams left, in orange when it runs low. - Production at the foot of the farm: what each printer made today, in 7 or 30 days (prints,
ended well, stopped, success, hours, filament), the whole farm, and a CSV to download. - Settings for a kind of printer (farm.md): one
printer's auto-eject settings onto the printers ticked, or a set saved under a name (Voron 2.4
350) for the next printer of that kind. Each printer gets only what differs, with
AUTO_EJECT_SET; its own notifier and what only the settings file can hold stay as they are. - A QR label on each printer (farm.md): its name and
a QR code of its page, at home or through Tailscale, to print and stick on it; a phone camera
opens the page. One printer's from ✎, or a sheet for the printers ticked. The codes are made in
the page, offline. - Push now, or I took the parts off, while the bed cools (
cool_background: True, off by
default; configuration.md). The print
ends first and the job queue waits; the bed cools in steps of a few seconds with the printer
free in between, so Push now (AUTO_EJECT_PUSH_NOW) pushes without waiting for the bed,
and I took the parts off (AUTO_EJECT_CLEAR) stops the eject; the queue waits for Bed is
clear, continue the queue, so the next print never starts on a hand in the printer.
Both are on the Overview and on the printer's farm card. Then the eject goes on as always and
starts the queue again.AUTO_EJECT_GUARDholds a print started by hand meanwhile.
Changed
- CI also lints the Python (ruff) and the web page (eslint);
CONTRIBUTING.mdsays how to run
them.