Marlin inline void gcode_M400()

Может ли кто-нибудь показать мне, как добавлять строки в Marlin 1.1.8 ? Я хочу изменить команду M400. В таком роде:

M400 () { move Z + 5 if not Z MAX; Home X; printbed on MAX LENGHT}.

Это может быть перенесено на паузу и прерывание.

, 👍0

Обсуждение

Это должно быть выполнимо, но то, что вы хотите, невозможно, если принтер еще не вернулся домой. Сначала должен быть установлен домашний принтер, иначе Z неизвестен. Обратите внимание, что неразумно позволять известным командам делать что-то отличное от стандартного. Я думаю, что в версии 1.1.8 принтер не будет выходить за пределы допустимых пределов, поэтому нет необходимости проверять наличие Z max. Программно вам нужно отправить (G28), G91, G1 Z5 F1000, G90, G1 X0 Ymax, где Ymax сначала должен получить максимальный набор в прошивке., @0scar

M400-это окончательная команда print finished, поэтому все оси расположены задолго до этого. Но я не знаю, как добавить строки кода в эту функцию. Я пытался но ничего не получалось :(, @maf

Не обязательно, двигатели могут быть отключены, нет никакой гарантии, что принтер находится дома. Возможно, в вашем случае да, но если вы переопределяете команду, вы должны сделать ее универсальной. Может быть, вы могли бы добавить к вопросу, почему вы хотите это сделать, что это именно то, что нужно для конечного сценария G-кода?, @0scar

End Gcode это befor M400 method of marlin поэтому FW будет выполнять команды после End Gcode from slicer поэтому мне нужна помощь чтобы добавить строки кода к методу m400 в marlin firmeware, @maf