Перейти к основному содержимому

Проблема с таймаутом при возвращении на ноль в Klipper

Предупреждение

Данное предупреждение относится ко всем командам на текущей странице
  • Если после выполнения команды появляется ошибка sed: can't read ~/klipper/klippy/mcu.py: No such file or directory или любая подобная ошибка (No such file or directory)
  • Пожалуйста, убедитесь, что Klipper установлен, а текущий пользователь является пользователем, который установил Klipper.

Описание ошибки

  • Информация об ошибке: Error during homing z: Communication timeout during homing

  • Проблема с таймаутом при возвращении на ноль возникает, преимущественно, во время возврата на ноль Z-оси (X, Y также возможны, но вероятность ниже).

  • Причина заключается в том, что Klipper требует исключительно высокой реальности работы. Если Klipper не получает правильный ответ от mcu в течение 0.025 секунды, он считает процесс возврата на ноль прерванным.

Решение

  • В Klipper коде значение 0.025 секунды слишком строгое, его можно увеличить для решения проблемы с таймаутом.

  • Выполнение следующей команды позволит изменить значение таймаута в коде Klipper до 0.05 секунды.

    sed -i 's/TRSYNC_TIMEOUT = [0-9.]*$/TRSYNC_TIMEOUT = 0.05/' ~/klipper/klippy/mcu.py
    • Если после выполнения команды не будет никакого вывода, это означает успешное изменение.
  • После успешного изменения необходимо перезапустить службу Klipper, чтобы изменения вступили в силу.

    sudo systemctl restart klipper
    • Если после выполнения команды не будет никакого вывода, это означает успешный перезапуск.

Другие команды

  • Для просмотра значения таймаута в коде Klipper выполните следующую команду.

    grep "TRSYNC_TIMEOUT =" ~/klipper/klippy/mcu.py
    • Обычно вывод будет следующим (если значение таймаута было изменено, то будет выведено измененное значение).

      TRSYNC_TIMEOUT = 0.025
  • Для возврата измененного кода к исходному состоянию выполните следующую команду.

    sed -i 's/TRSYNC_TIMEOUT = [0-9.]*$/TRSYNC_TIMEOUT = 0.025/' ~/klipper/klippy/mcu.py
    • Если после выполнения команды не будет никакого вывода, это означает успешное изменение.