Добавляем аппаратные кнопки в 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
Еще больше интересных статей
Ремонт платы экструдера qidi xmax-3
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Про натяжку ремней Qidi Q1 Pro (для начинающих Qidiводов)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
Это же прикол?
У артиллерии весь снаряд занят...
Конечно получится, но зачем? Е...
Ничего нештатного не было, нач...
Добрый вечер.Станок миртелс ро...
Добрый день.Жил себе, печатал....
Здравствуйте, подскажите может...