Добавляем аппаратные кнопки в Marlin.
Сейчас я опишу способ добавления произвольной функции, управляемой аппаратной кнопкой, в прошивку Marlin.
Итак:
Для начала открываем файл Conditionals_post.h и идем к разделу 'User Interface'.
Там объявляем нашу новую функцию:Потом открываем файл pins_....h, где прописывается конфигурация вашей платы, объявляем новый пин и присваиваем ему свободный номер:Также, это можно сделать в файле configuration.hДалее - открываем файл Marlin.cpp (для Marlin 2.0) или Marlin_main.cpp (для Marlin 1.1.9).
Там идём почти в самый конец и перед главным циклом 'void loop()' прописываем инициализацию нового пина и его подтяжку к высокому уровню. Активация функции будет осуществляться замыканием этого пина на землю.Теперь нужно прописать логику работы нашей новой функции. В этом же файле ищем функцию HAS_KILL и после нее вставляем нашу новую функцию.Вместо команды M25 может быть любой другой исполняемый G-код. При нажатии на кнопку он прописывается в буфер исполняемых команд принтера и будет выполнен после завершения текущей команды.
Также, предложу второй вариант функции. Он позволяет однократным нажатием включить одну функцию, а повторным - другую (например: включить или выключить нагрев стола)В принципе, возможности применения этой функции ограничены набором G-кодов и фантазией исполнителя.
Названия функций и переменных должны быть уникальными. Если необходимо добавить несколько функций, то для второй функции в названиях HAS_CUSTOM_1, customCount1, customStat1, CUSTOM_1_DELAY, CUSTOM_1_PIN цифру 1 меняем на 2.
P.S. Всё проверено на прошивке Marlin 2.0. В последней Marlin 1.1.9 эти же функции выглядят аналогично. Прошивка компилируется без ошибок. Думаю, проблем не будет.
P.P.S Для облегчения набора в режиме Ctrl+C/Ctrl+V, текстовый файл с этими функциями лежит по ссылке: https://yadi.sk/d/fY5pjTRdYAJx2Q
Еще больше интересных статей
Система автоматической смены столов Chitu Systems PlateCycler C1M для Bambu Lab A1 mini
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Снятие экструдера на Qidi Plus 4 и небольшой, но полезный нюанс от Qidi
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...







Комментарии и вопросы
... здесь много людей с высоки...
Нууу, поживем - увидим )
Да ладно ладно, я все тогда по...
Здравствуйте, я с вопросом о т...
Начал пытаться печатать из PET...
Есть модель у бамбуков Р1Р - с...
Здравствуйте.На Flashforge 5M,...