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]
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¶
Выключить принтер