Проблемы с таймаутом парковки в Klipper
Описание проблемы
Во время парковки возникает ошибка таймаута связи:
Error during homing z: Communication timeout during homing
Возникает в основном при парковке оси Z с несколькими MCU. Klipper требует получения ответа в течение 0,025 секунды.
- Изменение времени таймаута
- Управление KlipperScreen
Метод 1: изменение времени таймаута
Изменить настройки таймаута
sed -i 's/TRSYNC_TIMEOUT = [0-9.]*$/TRSYNC_TIMEOUT = 0.05/' ~/klipper/klippy/mcu.py
Перезапустите службу, чтобы изменения вступили в силу
sudo systemctl restart klipper
Связанные команды
# Проверить текущую настройку
grep "TRSYNC_TIMEOUT =" ~/klipper/klippy/mcu.py
# Восстановить настройки по умолчанию
sed -i 's/TRSYNC_TIMEOUT = [0-9.]*$/TRSYNC_TIMEOUT = 0.025/' ~/klipper/klippy/mcu.py
Метод 2: управление KlipperScreen
Временно отключите KlipperScreen для освобождения системных ресурсов и устранения таймаута связи во время парковки.
1. Загрузите необходимые файлы
Для стандартной системы:
git clone https://cnb.cool/3dmellow/public/klipper-klipperscreen-manager
curl -# -L --retry 3 --retry-delay 2 -o ~/klipper/klippy/extras/gcode_shell_command.py https://raw.githubusercontent.com/dw-0/kiauh/master/kiauh/extensions/gcode_shell_cmd/assets/gcode_shell_command.py
Для системы Fast:
cd /data
git clone https://cnb.cool/3dmellow/public/klipper-klipperscreen-manager
curl -# -L --retry 3 --retry-delay 2 -o /data/klipper/klippy/extras/gcode_shell_command.py https://raw.githubusercontent.com/dw-0/kiauh/master/kiauh/extensions/gcode_shell_cmd/assets/gcode_shell_command.py
2. Установите права на скрипты
Для стандартной системы:
cd ~/klipper-klipperscreen-manager
chmod +x ~/klipper-klipperscreen-manager/scripts/*.sh
Для системы Fast:
cd /data/klipper-klipperscreen-manager
chmod +x /data/klipper-klipperscreen-manager/scripts/*.sh
3. Создайте файл конфигурации
- Создайте файл
klipper_macros.cfgв каталоге конфигурации Klipper. - Добавьте следующую строку в начало файла
printer.cfg:[include klipper_macros.cfg]
4. Настройте макрокоманды
- Добавьте следующее содержимое в
klipper_macros.cfg: - Обратите внимание, что
/data/klipper-klipperscreen-manager/scripts/необходимо заменить на фактический путь
# ===== Макрос управления KlipperScreen =====
# Автор: Меллоу-Чжан Вэй
# Описание: Управление выключением и автоматическим восстановлением KlipperScreen
[gcode_shell_command disable_klipperscreen]
command: sh /data/klipper-klipperscreen-manager/scripts/disable_klipperscreen.sh
timeout: 5.0
verbose: True
[gcode_shell_command enable_klipperscreen]
command: sh /data/klipper-klipperscreen-manager/scripts/enable_klipperscreen.sh
timeout: 5.0
verbose: True
[gcode_macro RESTART_KLIpperSCREEN]
variable_time: 60 # Время ожидания по умолчанию (в секундах)
gcode:
{% set wait_time = params.TIME|default(printer["gcode_macro RESTART_KLIpperSCREEN"].time)|int %}
{action_respond_info("Время ожидания: %s секунд" % wait_time)}
RUN_SHELL_COMMAND CMD=disable_klipperscreen PARAMS={wait_time}
[gcode_macro ENABLE_KLIpperSCREEN]
gcode:
{action_respond_info("Немедленно запустить KlipperScreen")}
RUN_SHELL_COMMAND CMD=enable_klipperscreen
5. Использование
Временно отключить KlipperScreen:
# Использовать время ожидания по умолчанию (60 секунд)
RESTART_KLIpperSCREEN
# Использовать пользовательское время ожидания (120 секунд)
RESTART_KLIpperSCREEN TIME=120
Вручную немедленно перезапустить KlipperScreen:
ENABLE_KLIpperSCREEN
Принцип работы
Этот метод временно отключает интерфейс KlipperScreen для освобождения системных ресурсов, снижает нагрузку на процессор и предотвращает таймаут связи во время парковки.
Предварительная проверка
- Убедитесь, что Klipper установлен.
- Текущий пользователь — пользователь установки Klipper.
- Пути к файлам указаны правильно.
Loading...