Добавляем аппаратные кнопки в 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
Еще больше интересных статей
Установка Klipper на Orange Pi Zero 3 + Ender 3 (armbian)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Статья не окончена. Возможно будет дописана позднее. Публикую по просьб...
Замена хотенда на 3D-принтерах Bambu Lab X1 и P1 серий 🛠
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
На примере...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.







Комментарии и вопросы
Не преследую цель монетизирова...
боже, не завидую вам))) удачи,...
Часто видел такое за годы. Пок...
Всех приветствую, подскажите,...
то есть чтоб первый слой состо...
Посетила небольшая идея, сильн...
Приветствую всех ! Подскажите,...