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

Main

Макрос - это небольшая программа на языке Klipper/Gcode.

Он может вызываться:

  • Из файла GCODE
  • Из консоли Fluidd/Mainsail (нажать английскую букву C в fluidd)

Note

Значение указанное в скобках - это значение по умолчанию


START_PRINT

Замена родного начального g-code (если используется с экраном, то добавить M140 или M190 Sтемпература_стола и M109 или M104 Sтемпература_экструдера)

  • EXTRUDER_TEMP - температура экструдера (245)
  • BED_TEMP - температура стола (80)
  • MESH - имя карты стола, которую подгружать, если не задано, то ничего не подгружается, если не существует то будет создана ("")
  • FORCE_LEVELING - принудительно строить карту стола (False)
  • SKIP_LEVELING - не строить карту стола ни при каком условии. Сильнее FORCE_KAMP и FORCE_LEVELING (False)
  • FORCE_KAMP - запустить построение адаптивной карты стола (False) Рекомендуется также поставить SAVE_ZMOD_DATA CLEAR=LINE_PURGE, что позволит использовать место для очистки, там где снята карта стола.
  • Z_OFFSET - Установить Z офсет (0.0)
  • INTERNAL - Для PRO версии при работе в режиме без родного экрана, 1 - включить внутреннюю рециркуляцию (0)
  • EXTERNAL - Для PRO версии при работе в режиме без родного экрана, 1 - включить внешнюю рециркуляцию (0)

Любой вызов калибровки FORCE_KAMP или FORCE_LEVELING вызывает CLEAR_NOZZLE

Во время запуска START_PRINT вызывается ZSSH_RELOAD, который восстанавливает SSH подключение, если это требуется

Пример для Orca c родным экраном. Удаляете стартовый код и ставите то что ниже

START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]
M190 S[bed_temperature_initial_layer_single]
M104 S[nozzle_temperature_initial_layer]
Пример для Orca в режиме без родного экрана
START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]

Чтобы корректно считались слои во Fluidd, в стартовый код прописать:

SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]

И в код смены слоя добавить:

SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}

Какие есть варианты снятия карты стола?

дикобраз

Это не параметры START_PRINT, это глобальные флаги/параметры, которые ставится через SAVE_ZMOD_DATA:

  • PRECLEAR - использовать пред очистку сопла в CLEAR_NOZZLE 0-нет, 1-да (0).
  • CLEAR - Выбрать алгоритм очистки сопла (LINE_PURGE)
  • PRINT_LEVELING - при каждой печати строить карту стола 0-нет, 1-да (0).
  • USE_KAMP - Где возможно использовать адаптивную карту стола(KAMP), вместо полной карты стола 0-нет, 1-да (0)
  • DISABLE_PRIMING - запретить очистку сопла выдавливанием 0-нет, 1-да (0)
  • FORCE_MD5 - если 1 (по умолчанию 1) - проверять MD5 сумму файла, при ошибке - удалять файл. Пропишите в скрипты постобработки вызов addMD5.bat или addMD5.sh для Mac/Linux(не забудьте добавить право исполнения на файл chmod +x addMD5.sh) он лежит в mod. Подробнее Его надо скачать к себе на компьютер, а потом в Orca прописать. Профиль процесса -> Прочее -> Скрипты пост обработки. С:\путь_до_файла\addMD5.bat;

  • DISABLE_SKEW - 1 - запретить SKEW коррекцию, 0 - загрузить профиль skew_profile(будет вызван макрос SKEW_PROFILE LOAD=skew_profile) (1)

  • AUTO_REBOOT - автоматическая перезагрузка принтера после окончания печати 0-нет, 1-да, 2-FIRMWARE_RESTART(только в режиме без родного экрана, с экраном REBOOT) (0).
  • CLOSE_DIALOGS - автоматически закрывать диалоги по окончанию и отмене печати 0-нет, 1-да медленно, 2-да быстро Для работы быстрого закрытия диалогов необходимо через меню экрана принтера перейти на вкладку "Настройки" -> "Иконка WiFi" -> "Сетевой режим" -> включить ползунок "Только локальные сети" (0).
  • STOP_MOTOR - Автоматически выключать моторы после печати/отмены печати через 25 секунд 0-нет, 1-да (1).
  • MIDI_START - играть MIDI при запуске печати ("")
  • MIDI_END - играть MIDI при завершении печати ("")

Алгоритм снятия карты:

  • Если MESH не пустой, то загружается карта с именем записанном в параметре MESH
  • Если SKIP_LEVELING = True - то карта стола не будет сниматься ни при каких условиях
  • В противном случае,
  • Если стоит FORCE_CAMP = True, то снимается KAMP
  • В противном случае
  • Если не загружена карта стола (родная голова всегда грузит карту MESH_DATA) или если FORCE_LEVELING = True
  • То запускается построение карты стола, но она сама не сохраняется

END_PRINT

Замена родного конечного g-code

Это не параметры END_PRINT, это глобальные флаги/параметры, которые ставится через SAVE_ZMOD_DATA

  • AUTO_REBOOT - автоматическая перезагрузка принтера после окончания печати 0-нет, 1-да,2-FIRMWARE_RESTART(только в режиме без родного экрана, с экраном REBOOT) (0).
  • CLOSE_DIALOGS - автоматически закрывать диалоги по окончанию и отмене печати 0-нет, 1-да медленно, 2-да быстро Для работы быстрого закрытия диалогов необходимо через меню экрана принтера перейти на вкладку "Настройки" -> "Иконка WiFi" -> "Сетевой режим" -> включить ползунок "Только локальные сети" (0).
  • STOP_MOTOR - Автоматически выключать моторы после печати/отмены печати через 25 секунд 0-нет, 1-да (1)
  • MIDI_END - играть MIDI при завершении печати ("")

_USER_START_PRINT

Пользовательский макрос для добавления собственных действий в начале печати.

Этот макрос вызывается автоматически в конце макроса START_PRINT. Используется для расширения стандартного процесса инициализации печати пользовательскими командами.

Где использовать:

  • Добавить собственные команды нагрева или калибровки
  • Выполнить дополнительные настройки перед началом печати
  • Включить/выключить устройства (вентилятор, датчики и т.д.)
  • Добавить пользовательскую очистку сопла или прочие подготовительные операции

Пример переопределения в mod_data/user.cfg:

[gcode_macro _USER_START_PRINT]
gcode:
    # Включить дополнительный вентилятор
    SET_PIN PIN=my_fan VALUE=1
    # Какая-то ваша команда
    G4 P1000  ; пауза 1 секунда
    # Еще какие-то действия

Примечание: По умолчанию макрос пустой и может быть переопределен пользователем в соответствии с его нуждами.


_USER_END_PRINT

Пользовательский макрос для добавления собственных действий в конце печати.

Этот макрос вызывается автоматически в конце макроса END_PRINT. Используется для расширения стандартного процесса завершения печати пользовательскими командами.

Где использовать:

  • Выполнить дополнительные действия по окончании печати
  • Выключить дополнительные устройства
  • Сохранить статистику или логи
  • Запустить пользовательскую очистку или обслуживание принтера

Пример переопределения в mod_data/user.cfg:

[gcode_macro _USER_END_PRINT]
gcode:
    # Выключить дополнительный вентилятор
    SET_PIN PIN=my_fan VALUE=0
    # Отправить уведомление
    M118 Печать завершена!
    # Или другие ваши команды

Примечание: По умолчанию макрос пустой и может быть переопределен пользователем в соответствии с его нуждами.


CANCEL

Отменить печать


CLEAR_NOZZLE

Очистка сопла о стол как в родной прошивке

  • EXTRUDER_TEMP - температура экструдера (230)
  • BED_TEMP - температура стола (80)

PRECLEAR - использовать пред очистку сопла в CLEAR_NOZZLE 0-нет, 1-да (0). Это не параметр CLEAR_NOZZLE, это глобальный флаг, который ставится через SAVE_ZMOD_DATA PRECLEAR=1. Подробнее тут

Переопределение макроса CLEAR_NOZZLE в mod_data/user.cfg не изменит родную очистку сопла о стол, при вызове непосредственно с родного экрана, т.к. родной экран прекрасно работает и без zMod, а значит не использует макросы zMod


LED_ON

Включить подсветку


LED_OFF

Выключить подсветку


LED

Включить подсветку на несколько процентов

  • S - процент (50)

PAUSE

Поставить печать на паузу


RESUME

Восстановить печать после паузы


PLAY_MIDI

Проиграть MIDI файл

  • FILE - имя файла (For_Elise.mid) файлы хранятся в mod_data/midi/

REBOOT

Перезагрузить принтер


CLOSE_DIALOGS

Вызывает медленное закрытие диалогов с родного экрана. Используется для закрытия окна по окончанию печати или при отмене печати.

Может приводить к зависанию принтера.

Реализация: @darksimpson

Также управляется через глобальный параметр CLOSE_DIALOGS


FAST_CLOSE_DIALOGS

Вызывает быстрое закрытие диалогов с родного экрана. Используется для закрытия окна по окончанию печати или при отмене печати.

Работает быстрее, не приводит к зависанию принтера.

Для работы быстрого закрытия диалогов необходимо через меню экрана принтера перейти на вкладку Настройки -> Иконка WiFi -> Сетевой режим -> включить ползунок Только локальные сети.

Также управляется через глобальный параметр CLOSE_DIALOGS

Реализация: @darksimpson


NEW_SAVE_CONFIG

Вызывает SAVE_CONFIG с родного экрана. Можно использовать для перезагрузки клиппера без зависания родного экрана.

Реализация: @darksimpson

Работает около минуты.

Иногда может приводить к некорректной работе родного экрана


SHUTDOWN

Выключить принтер