FLSUN SR sometimes send ack "ok" too close tied with temperature data, that octoprint cannot recognize ack.
Recv: T:207.09 /210.00 B:59.96 /60.00ok <--- THIS IS THE PROBLEM
Recv: T:206.94 /210.00 B:60.18 /60.00 @:40 B@:5
Recv: T:206.61 /210.00 B:60.20 /60.00 @:42 B@:3
Recv: T:206.31 /210.00 B:60.08 /60.00 @:46 B@:25
Communication timeout while printing, 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: N140 M105*34
Recv: ok T:206.31 /210.00 B:60.08 /60.00 @:46 B@:25 <--- THIS IS OK
What did you already try to solve it?
I've tested several settings. Set different timeouts, try only polling. Noting works
Version 1.9.3
Smasung Galaxy S10e
FLSUN SR, firmware V1.4
WRITE HERE
Is there anythink I can do via configuration to prevent this to happen?
I tried to use prime number as timeouts to minimize hit chance, but it didnt help
Last update:
I'm pretty sure, that reading temperature data do this. The more timeout I set to temperature readings, the less this problem occurs.
I doubt there is anything we can do on the octoprint side.
As you said reducing the polling times can reduce the amount of timeouts.. But yeah that's IMO all you can do here.
A plugin could "repair" the output probably.
I would try a different cable just in case it's some kind of transmission/connection issue.
For anyone who will struggle in the future with similar problem, here I summarize my observation and solution.
The whole problem is, there is a bug in communication via USB in FLSUN SR. The bug messes up reponse from printer. Sometimes ack "ok" mixes with temperature data which are provided by autoreporting from firmware, as seen in my console feed above. This problem causes that ack "ok" appears in temperature data and make octoprint stop printing, because he waits for ack. Finally this outcomes as Timeout. Octoprint try to resend printing command which may cause layer shift and ruin printing. Practicaly this destroy your model.
Solution which works so far:
Disable autoreport of temperature data in firmware, use command: M155 S0
Set Temperature interval (autoreport) option in settings > intervals & timeouts to 0
Set higher timeouts for polling temperature, e.g. 180s for printing and 6s for idle and preheating
That's it! This should mostly prevent timouts
May this help you.
If anything change I'm gonna try update this post, to save you from dead-end trying.