Как включить EMERGENCY_PARSER в прошивке Marlin?

В документации по некоторым командам прошивки Marlin (например, M112 - Аварийная остановка) говорится, что EMERGENCY_PARSER должен быть включен для их мгновенного выполнения.

Дело в том, что я не нашел там никакой информации о том, как включить этот EMERGENCY_PARSER или как он работает.

Любая помощь будет оценена по достоинству.

, 👍4


1 ответ


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

6

Постоянный EMERGENCY_PARSER находится в файле расширенной конфигурации принтера Marlin/Configuration_adv.h:

// Включите анализатор аварийных команд для перехвата определенных команд при их
// вводе в буфер последовательного приема, чтобы их нельзя было заблокировать.
// В настоящее время обрабатывает M108, M112, M410
// Не работает на платах, использующих процессоры AT90USB (USBCON)!
//#define EMERGENCY_PARSER

Чтобы включить EMERGENCY_PARSER, вам необходимо удалить // перед #define EMERGENCY_PARSER и перекомпилировать исходные файлы.

Обычно ваш принтер будет выполнять команду до тех пор, пока не будет готов принять следующую инструкцию. Без набора EMERGENCY_PARSER принтер завершает выполнение инструкции, которую он выполняет в данный момент, если она установлена, выполнение прерывается и немедленно отправляется и, таким образом, не дожидается свободного места в буфере.


,

Есть ли способ узнать, установлен ли "EMERGENCY_PARSER", не просматривая файл конфигурации принтера (например, отправив команду или проверив первые ответы при подключении через последовательный порт)? Была ли эта функция добавлена в Marlin 1.1.0?, @fsinisi90

@fsinisi90 Я не знаю, могли бы вы это попробовать. Вам действительно нужно каким-то образом ввести "M112" в разгар работы, обычно это делается кодом в качестве экстренного реагирования на определенные проверки ограничений, я не знаю, как вставить это вручную извне., @0scar

Ну, я уже пробовал с "M190" (дождитесь температуры стола), а затем "M108", и это не работает, но моя прошивка Marlin 1.0.3, и я думаю, что "EMERGENCY_PARSER" был добавлен в 1.1.0, поэтому у меня даже нет возможности включить его. В любом случае, я искал способ проверить это на любом принтере из моего исходного кода (я подключаюсь через pyserial) без вмешательства человека., @fsinisi90