Перейти к основному содержанию

Руководство по использованию функции печати с 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-накопителя

Сразу после начала копирования веб-интерфейс может отображать статус «Идет печать», но это не означает, что файл скопирован полностью. Извлекайте 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

Windows может скрывать расширения известных типов файлов. В проводнике включите отображение Расширения имен файлов, чтобы убедиться, что конечное расширение файла действительно .gcode, .g или .gco, и избежать ситуаций вида Модель.gcode.txt.

Порядок действий

  1. Скопируйте G-code файл, созданный слайсером, в корневой каталог USB-накопителя или в папку.
  2. Вставьте USB-накопитель в USB-порт управляющего компьютера.
  3. Откройте список файлов в Fluidd, Mainsail или на экране устройства.
  4. Найдите папку, начинающуюся с U_; если она не появилась сразу, обновите список файлов.
  5. Откройте папку USB-накопителя и выберите G-code файл для печати.
  6. После проверки файла и данных предварительного просмотра нажмите «Начать печать» только один раз.
  7. Дождитесь сообщения о завершении копирования в консоли, после чего система автоматически начнет выполнение локального временного файла.
Запускайте только одну задачу копирования за раз

Во время копирования не нажимайте повторно «Начать печать» и не выбирайте второй файл с USB-накопителя. Все задачи печати с USB-накопителя в текущей версии используют один и тот же tmp.gcode; одновременное копирование может перезаписать файл и привести к аномалиям печати.

Извлечение USB-накопителя

  • После подтверждения завершения копирования файла обычный USB-накопитель можно извлечь; текущая задача продолжит чтение локального временного файла.
  • Если в консоли все еще отображается Copying file, не извлекайте USB-накопитель.
  • Если не появляется никаких сообщений о ходе или завершении копирования, не извлекайте накопитель во время печати. Некоторые USB-корпуса для дисков или USB SSD могут не распознаваться системой как сменные устройства, и в этом случае Klipper может читать внешний файл напрямую.
  • Если через веб-интерфейс выполнялась загрузка, удаление или переименование файлов на USB-накопителе, дождитесь завершения этих операций перед извлечением.

Известные ограничения

  • Автоматическое монтирование обрабатывает только USB-устройства хранения с обычными разделами. USB-накопители без таблицы разделов могут не отображаться; в этом случае создайте раздел и отформатируйте накопитель на компьютере.
  • Не вставляйте одновременно два USB-накопителя с полностью одинаковыми производителем, моделью, объемом и структурой разделов; они могут создать одинаковые каталоги монтирования, что приведет к конфликту.
  • Текущие правила автоматического распознавания охватывают только распространенные разделы с однозначным номером, например /dev/sda1. Особые многороздельные устройства хранения могут не монтировать все разделы автоматически.
  • Печать с USB-накопителя зависит от свободного места на управляющем компьютере. Чем больше G-code файл, тем дольше ожидание копирования перед началом печати.

Файл отображается, но печать не начинается

  1. Убедитесь, что расширение файла — .gcode, .g или .gco.

  2. Убедитесь, что G-code файл корректно отображается в слайсере.

  3. Проверьте свободное место на управляющем компьютере:

    df -h /usr/share/printer_data/gcodes
  4. Просмотрите ошибки копирования или открытия файлов в журнале 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
Обычно причина не в китайском имени файла

Китайские символы, подчеркивания и дефисы могут нормально использоваться в именах файлов. Простое переименование файла на английский язык не изменит его внутреннюю кодировку и не решит эту проблему.

Используйте любой из следующих методов:

  1. Предпочтительно повторно экспортируйте файл в слайсере, установив кодировку текста G-code в UTF-8.
  2. Используйте текстовый редактор с поддержкой преобразования кодировок, чтобы преобразовать весь G-code файл и сохранить его в UTF-8; не изменяйте только расширение.
  3. Если слайсер не позволяет выбрать кодировку, удалите не-UTF-8 китайские комментарии в начале файла и сохраните его заново. Не изменяйте фактические команды движения, температуры и экструзии.
  4. В качестве временного решения можно загрузить файл через веб-интерфейс в локальный каталог G-code, а затем печатать.

Для больших G-code файлов рекомендуется повторно выполнить слайсинг или использовать специализированные текстовые инструменты для преобразования, а не редактировать весь файл в браузере.

После сбоя копирования постоянно отображается «Идет печать»

Сначала убедитесь, что принтер не выполняет нагрев, движение или другие операции печати, затем перезапустите Klipper:

systemctl restart klipper

Снова вставьте USB-накопитель и повторите печать. Если проблема повторяется, замените USB-накопитель и предоставьте службе технической поддержки следующие два журнала:

/var/log/flyos-auto-mount.log
/usr/share/printer_data/logs/klippy.log
Loading...