Marlin: печать с управлением через смарт-дисплей
Подвернулся полезный совет по настройке Marlin для печати с платы (например, SKR 1.4), но под управлением со смарт-дисплея (например, BTT TFT35 V3.0), работающего в тач-режиме, а не в режиме эмуляции 12864. Для этого необходимо настроить следующие параметры:
SDSUPPORT (in Configuration.h)
LONG_FILENAME_HOST_SUPPORT (in Configuration_adv.h)
AUTO_REPORT_SD_STATUS (in Configuration_adv.h)
SDCARD_CONNECTION ONBOARD (in Configuration_adv.h)
EMERGENCY_PARSER (in Configuration_adv.h)
SERIAL_FLOAT_PRECISION 4 (in Configuration_adv.h)
HOST_ACTION_COMMANDS (in Configuration_adv.h)
HOST_PROMPT_SUPPORT (in Configuration_adv.h)
С такими настройками и время печати показывается, и обработкой gcode занимается непосредственно плата принтера. При этом сохраняется возможность управлять процессом печати и в тач режиме тоже, но с небольшой задержкой.
И оттуда же про настройку параметров буферизации обмена дисплей-плата:
Все изменения в configuration_adv.h:
Здесь поднял количество команд хранящихся в буфере с 4 до 16.
#define BUFSIZE 16
Просто есть теория, что из-за лагов дисплея или помех или хе чего еще, команды поступающие от дисплея не успевают вовремя доходить и буфер команд опустошается из-за чего печать и виснет. По дефолту было 4 поднял до 16. Думаю хуже не будет
#if BOTH(SDSUPPORT, DIRECT_STEPPING)
#define BLOCK_BUFFER_SIZE 32
#elif ENABLED(SDSUPPORT)
#define BLOCK_BUFFER_SIZE 32
#else
#define BLOCK_BUFFER_SIZE 32
#endif
Тут по честному не понял толком для чего этого. Что-то типа кэша команд при чтении с SD карты . В общем удвоил значения
#define TX_BUFFER_SIZE 32 Здесь увеличил до 32, для включения функции Advanced_OK
#define EMERGENCY_PARSER Это для нормальной обработки аварийного завершения работы.
#define NO_TIMEOUTS 1000 Тоже важный параметр для защиты от сбоев во время печати под управлением с дисплея. При ошибках передачи данных отправляет запрос на повторное получение пакета и ждет указанное время в миллисекундах
#define ADVANCED_OK Помогает избежать ошибок опустошения буфера из-за плохого соединения и слишком быстрого выполнения команд принтером
За помощь надо благода₽ить
Если эта заметка внезапно оказалась полезна для вас, для вашего хобби или даже для вашего бизнеса, то вы можете сказать мне «Спастибо!» за проделанную для вас работу, перейдя по ссылке и поделившись любой необременительной для вас суммой.