Могут ли сценарии G-кода запускаться автоматически при вставке SD-карты при использовании прошивки Marlin?

При запуске прошивки Marlinможно ли автоматически запускать сценарии/серии команд G-кода при вставке SD-карты?


Я запускаю Marlin на плате 3D-принтера, используя плату на базе ATmega 2560 с ЖК-контроллером reprap со скидкой и слотом для SD-карты. Я хотел бы сделать это без необходимости добавлять еще один компьютер/плату, поэтому исходно с платы, на которой установлена прошивка Marlin.

, 👍4

Обсуждение

Не совсем ответ, но близок: https://github.com/MarlinFirmware/Marlin/wiki/Autostart., @typo

Добавление ссылки на Nikkoura's answer и хотя это касается только включения питания, [этот пост](https://reprap.org/forum/read.php?415,833394) на форуме Marlin спрашивает о чистой вставке на принтер, который *уже* включен. [Ответ](https://reprap.org/forum/read.php?415,833394,833489#msg-833489) был получен, и, по-видимому, это должно быть возможно путем изменения кода в " ultralcd.ccp`, @Greenonline

Запрос на функцию был сделан на GitHub Marlin, см. [Могут ли сценарии G-кода запускаться автоматически при вставке SD-карты при использовании прошивки Marlin?](https://github.com/MarlinFirmware/Marlin/issues/11815), @Greenonline


2 ответа


Лучший ответ:

5

Я не совсем уверен, что это то, что вам нужно, или это сработает, но из этого поста о печати с SD-карты при включенном принтере

Хотя для работы auto#.g не требуется ЖК-контроллер, если у вас есть ЖК-контроллер, вы можете использовать опцию MENU_ADDAUTOSTART, чтобы добавить команду меню, которая будет запускать auto0.g, auto1.g, auto2.g, когда захотите.

Это (последнее) сообщение закончилось закрытием темы, так что, похоже, оно отвечает на вопрос ОП, однако ответит ли оно на ваш вопрос - это другой вопрос.


Это сообщениена форуме Marlin повторяет ваш вопрос и спрашивает о вставке SD-карты в принтер, который уже включен.

Был получен ответ, и, по-видимому, это должно быть возможно путем изменения кода в ultralcd.ccp:

Не похоже, что в текущем программном коде Marlin можно найти автоматическую печать при вставке SD-карты .

Вы можете подумать о том, чтобы сделать запрос на функцию здесь: [github.com]

Я не думаю, что для реализации функции "card.autoprintfile()" в Marlin потребуется много работы. Мне кажется, что вызов такой функции может произойти в строке 5172 сразу после:

else
LCD_MESSAGEPGM(MSG_SD_INSERTED);

в файле ultralcd.ccp

Последующий запрос на функцию был сделан на GitHub Marlin, см. [FR] Могут ли сценарии G-кода запускаться автоматически при вставке SD-карты при использовании прошивки Marlin?

Однако из этого ответаследует, что запрос на функцию уже находится на рассмотрении:

Я не сторонник этого в целом. У нас уже есть запрос на функцию, позволяющую запускать пользовательский G-код в ответ на различные события, одним из которых является вставка SD-карты. Будет ли эта функция отвечать вашим потребностям?

Однако пока у меня нет ссылки на этот другой запрос функции. Будет обновляться по мере и когда.


В качестве отступления, возможно, стоит упомянуть, что код, связанный с SdFat, может быть подходящим для этого, посмотрите, удалена ли SD-карта, как пометить и перезапустить?, хотя после просмотра кодовой базы Marlin, в частности SdFatUtils.cpp, это, по-видимому, отвлекающий маневр.


,

1

Я не знаю, чего бы вы хотели достичь.

Как упоминалось в @typo, существует аналогичная функциональность, которая запускается при запуске принтера: https://github.com/MarlinFirmware/Marlin/wiki/Autostart

Я нашел в исходном коде Марлина, что вы можете включить функцию автозапуска, которая запускается из меню. Просто включите MENU_ADDAUTOSTART в Configuration_adv.h.

Если вам действительно нужен g-код, который запускается после вставки SD-карты, вам нужно самостоятельно настроить исходный код marlin. Я предлагаю изменить файл cardreader.cpp. Там вы должны запустить процедуру автоматического запуска после установки SD-карты.

,