stereotech/STE-App-Client

Ошибка: вылет при повторных включениях калибровки (M375)

ITorubarov opened this issue · 0 comments

Проблема:
После некоторого количества циклов включения-выключения калибровки (команды M375 и M370 соответственно) принтер вылетает.

Как это выглядит:

  1. При включении принтера калибровка у него включается автоматически. Выключаем калибровку (M370), паркуемся (G28).
  2. Включаем калибровку (M375). В первый раз (если не считать автоматического включения при включении принтера) калибровка всегда срабатывает мгновенно.
  3. Выключаем калибровку (M370), потом включаем снова. На второй раз (и последующие разы) калибровка включается не сразу, а с задержкой около 30 с, но после принтер оживает. При этом в терминал вываливается сообщение:

Send: M375
Recv: Read -0.014
Recv: Read 108.600
Recv: Read 35.803
Recv: Read 0.000
Recv: Read 0.000
Recv: Read 0.000
Recv: Read 0.000
Recv: Read 0.000
Recv: Read 0.000
Recv: Read 0.000
Recv: calibration loadedok
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.

  1. Выключаем-включаем ещё несколько раз. При этом каждый раз калибровка включается с той же самой задержкой, и на какой-то критический раз принтер зависает. В терминал вываливается сообщение:

Send: M375
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Send: M105
Unexpected error while reading serial port, please consult octoprint.log for details: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:2793
Please see https://faq.octoprint.org/serialerror for possible reasons of this.
Changing monitoring state from "Operational" to "Offline (Error: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:2793)"
Connection closed, closing down monitor

Закономерности в количестве переключений до вылета нету. Провёл пять опытов, вылеты происходили на 8-м, 14-м, 12-м, 6-м включениях калибровки и один раз прямо на 2-м.
Задержка между вводом команды M375 и "оживанием" принтера - всегда 29-30 с. Может быть, что и ровно 30 с (если учесть погрешность нажимания пальцем на секундомер).
Между включениями-выключениями калибровки двигал туда-сюда ПГ и стол, чтобы сымитировать жизнедеятельность принтера между переключениями (и так проще отсекать момент, когда принтер оживает).