Руководство по использованию функции печати с USB-накопителя
FLYOS-FAST может автоматически монтировать USB-накопители и позволяет просматривать и печатать G-code файлы с них через веб-файловый менеджер или экран устройства. Логика, описанная в этой статье, проверена на официальных образах v1.3.10 для H3, H5, H618, а также на тестовом образе v1.4.0 для H618.
Принцип работы
Раздел USB-накопителя монтируется в каталог G-code как папка, начинающаяся с U_. При выборе файла для печати система сначала копирует полный файл в локальное хранилище:
/usr/share/printer_data/gcodes/.UDISK/tmp.gcode
Только после завершения копирования Klipper начинает печать из этого локального временного файла. При начале следующей печати с USB-накопителя временный файл перезаписывается.
Сразу после начала копирования веб-интерфейс может отображать статус «Идет печать», но это не означает, что файл скопирован полностью. Извлекайте USB-накопитель только после появления в консоли следующего сообщения:
Copy files from removable disk completed
Также можно дождаться, пока принтер начнет выполнять нагрев или движение. Извлечение USB-накопителя во время копирования приведет к сбою копирования, и текущая печать не сможет нормально начаться.
Требования к USB-накопителю и файлам
| Параметр | Поддерживаемый диапазон | Рекомендация |
|---|---|---|
| Файловая система | FAT32, exFAT, NTFS | Предпочтительно использовать FAT32 или exFAT |
| Формат файлов | .gcode, .g, .gco | Предпочтительно использовать .gcode |
| Расположение файлов | Корневой каталог USB-накопителя или вложенные папки | Можно хранить, классифицируя по моделям |
| Объем USB-накопителя | Нет фиксированного минимального ограничения | Оставьте достаточно места и убедитесь в целостности файлов |
| Имена файлов | Поддержка UTF-8, пробелов и китайских символов | Для повышения кроссплатформенной совместимости рекомендуется использовать короткие имена файлов |
Прямая печать файлов моделей (.stl, .obj и т.д.) или файлов проектов слайсера не поддерживается; необходимо предварительно сгенерировать G-code с помощью программного обеспечения для слайсинга.
Windows может скрывать расширения известных типов файлов. В проводнике включите отображение Расширения имен файлов, чтобы убедиться, что конечное расширение файла действительно .gcode, .g или .gco, и избежать ситуаций вида Модель.gcode.txt.
Порядок действий
- Скопируйте G-code файл, созданный слайсером, в корневой каталог USB-накопителя или в папку.
- Вставьте USB-накопитель в USB-порт управляющего компьютера.
- Откройте список файлов в Fluidd, Mainsail или на экране устройства.
- Найдите папку, начинающуюся с
U_; если она не появилась сразу, обновите список файлов. - Откройте папку USB-накопителя и выберите G-code файл для печати.
- После проверки файла и данных предварительного просмотра нажмите «Начать печать» только один раз.
- Дождитесь сообщения о завершении копирования в консоли, после чего система автоматически начнет выполнение локального временного файла.
Во время копирования не нажимайте повторно «Начать печать» и не выбирайте второй файл с USB-накопителя. Все задачи печати с USB-накопителя в текущей версии используют один и тот же tmp.gcode; одновременное копирование может перезаписать файл и привести к аномалиям печати.
Извлечение USB-накопителя
- После подтверждения завершения копирования файла обычный USB-накопитель можно извлечь; текущая задача продолжит чтение локального временного файла.
- Если в консоли все еще отображается
Copying file, не извлекайте USB-накопитель. - Если не появляется никаких сообщений о ходе или завершении копирования, не извлекайте накопитель во время печати. Некоторые USB-корпуса для дисков или USB SSD могут не распознаваться системой как сменные устройства, и в этом случае Klipper может читать внешний файл напрямую.
- Если через веб-интерфейс выполнялась загрузка, удаление или переименование файлов на USB-накопителе, дождитесь завершения этих операций перед извлечением.
Известные ограничения
- Автоматическое монтирование обрабатывает только USB-устройства хранения с обычными разделами. USB-накопители без таблицы разделов могут не отображаться; в этом случае создайте раздел и отформатируйте накопитель на компьютере.
- Не вставляйте одновременно два USB-накопителя с полностью одинаковыми производителем, моделью, объемом и структурой разделов; они могут создать одинаковые каталоги монтирования, что приведет к конфликту.
- Текущие правила автоматического распознавания охватывают только распространенные разделы с однозначным номером, например
/dev/sda1. Особые многороздельные устройства хранения могут не монтировать все разделы автоматически. - Печать с USB-накопителя зависит от свободного места на управляющем компьютере. Чем больше G-code файл, тем дольше ожидание копирования перед началом печати.
Файл отображается, но печать не начинается
-
Убедитесь, что расширение файла —
.gcode,.gили.gco. -
Убедитесь, что G-code файл корректно отображается в слайсере.
-
Проверьте свободное место на управляющем компьютере:
df -h /usr/share/printer_data/gcodes -
Просмотрите ошибки копирования или открытия файлов в журнале Klipper:
tail -n 100 /usr/share/printer_data/logs/klippy.log
Локальная загрузка работает, но печать с USB-накопителя не начинается
Некоторые слайсеры сохраняют китайские комментарии в кодировках, отличных от UTF-8, например GBK или ANSI:
- После загрузки через веб-интерфейс в локальный каталог G-code Klipper игнорирует символы, которые невозможно декодировать, поэтому файл может печататься нормально.
- При выборе файла с USB-накопителя система сначала копирует его в
.UDISK/tmp.gcode, а затем читает строго в UTF-8; при обнаружении не-UTF-8 байтов печать может не начаться.
В журнале Klipper может появиться похожая ошибка:
UnicodeDecodeError: 'utf-8' codec can't decode byte
Китайские символы, подчеркивания и дефисы могут нормально использоваться в именах файлов. Простое переименование файла на английский язык не изменит его внутреннюю кодировку и не решит эту проблему.
Используйте любой из следующих методов:
- Предпочтительно повторно экспортируйте файл в слайсере, установив кодировку текста G-code в UTF-8.
- Используйте текстовый редактор с поддержкой преобразования кодировок, чтобы преобразовать весь G-code файл и сохранить его в UTF-8; не изменяйте только расширение.
- Если слайсер не позволяет выбрать кодировку, удалите не-UTF-8 китайские комментарии в начале файла и сохраните его заново. Не изменяйте фактические команды движения, температуры и экструзии.
- В качестве временного решения можно загрузить файл через веб-интерфейс в локальный каталог G-code, а затем печатать.
Для больших G-code файлов рекомендуется повторно выполнить слайсинг или использовать специализированные текстовые инструменты для преобразования, а не редактировать весь файл в браузере.
После сбоя копирования постоянно отображается «Идет печать»
Сначала убедитесь, что принтер не выполняет нагрев, движение или другие операции печати, затем перезапустите Klipper:
systemctl restart klipper
Снова вставьте USB-накопитель и повторите печать. Если проблема повторяется, замените USB-накопитель и предоставьте службе технической поддержки следующие два журнала:
/var/log/flyos-auto-mount.log
/usr/share/printer_data/logs/klippy.log