Менеджер катушек для клиппера.
Директория klipper - файлы для клиппера: конфиг и компонент moonraker
Директория spool_manager - база катушек и веб интерфейс к ней (страшненький). Его необходимо разместить на веб сервере (на том же хосте где и клиппер) с путем /sm/.
Все обращения внутри системы происходят через localhost.
База использует SQLite.
В конфиге moonraker.conf нужно добавить секцию
[spool_event]
printer_serial: UltiSteel
moonraker_port: 7125
Серийный номер принтера и порт Moonraker нужны для многопринтерных систем.
Функции:
- Учет затрат пластика на разных катушках
- Автоматическое выставление потока в зависимости от выбранной катушки (например есть 5 катушек одинакового пластика, но поток у всех катушек разный)
- Автоматическое выставление firmware retraction в зависимости от выбранного материала.
Сами принтеры добавляются напрямую в базу sqlite (интерфейса для этого нет, так как это оооочень не частая операция).
При начале печати из базы забирается параметр потока и ретракта для текущей катушки установленной на принтере.
По окончанию печати данные отправляются на url (задается в klipper/moonraker/moonraker/components/spool_event.py). В данных содержится:
- Идентификатор принтера
- Количество используемого филамента в мм (надо уточнить единицу измерения, но вроде в мм).
- Имя файла.
После этого поток выставляется в 100%, а ретракт в 0.
Менеджер катушек пересчитывает длину в граммы на основе заданой плотности в свойствах материала, но считает что филамент диаметром 1.75 (можно добавить передачу сразу в граммах) и отнимает ее от веса текущей катушки.
Так же менеджер катушек сохраняет историю печати с количество потраченного филамента.
П.с. код написан на коленке, не претендует на качество и красоту.