Добавляем аппаратные кнопки в 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
Еще больше интересных статей
Подключение мощного диодного лазера к 3D-принтеру
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Появилось у меня как-т...
Реализация I2C на MKS Robin nano v1.2 + Бонус прошивка по UART
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
Такие крупные студии как раз д...
Почему анахронизм? И насколько...
А зачем плавающая гайка? Винт....
Добрый вечер всем!Помогите пож...
Вылезла внезапно и просто испо...
Здравствуйте, такой вопрос, по...
В общем дошло дело до карты ст...