Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ETA Date/Time Crashes Certain Printer Firmware #5

Closed
alexandrawise opened this issue May 26, 2020 · 6 comments
Closed

ETA Date/Time Crashes Certain Printer Firmware #5

alexandrawise opened this issue May 26, 2020 · 6 comments
Labels
bug Something isn't working

Comments

@alexandrawise
Copy link

In /octoprint_display_eta/__init__.py /, self._printer.commands("M117 ETA is {}".format(self.eta_string)) (line 50) outputs a time format containing : which causes certain printers (with admittedly faulty firmware, CR-10 in this case) to misinterpret the line, causing an infinite loop of resend requests, subsequently causing print failure. See octoprint.log output below:

2020-05-25 17:33:22,173 - octoprint.util.comm - INFO - Got a resend request from the printer: requested line = 14961, current line = 14962
| Last lines in terminal:
| Recv: ok
| Send: N14961 M117 ETA is 06:29:36 Tomorrow*76
| Recv: Error:No Checksum with line number, Last Line: 14960
| Recv: Resend: 14961
| Recv: ok
| Send: N14961 M117 ETA is 06:29:36 Tomorrow*76
| Recv: Error:No Checksum with line number, Last Line: 14960
| Recv: Resend: 14961
| Recv: ok
| Send: N14961 M117 ETA is 06:29:36 Tomorrow*76
| Recv: Error:No Checksum with line number, Last Line: 14960
| Recv: Resend: 14961
| Recv: ok
| Send: N14961 M117 ETA is 06:29:36 Tomorrow*76
| Recv: Error:No Checksum with line number, Last Line: 14960
| Recv: Resend: 14961
| Recv: ok
| Send: N14961 M117 ETA is 06:29:36 Tomorrow*76
| Recv: Error:No Checksum with line number, Last Line: 14960
| Recv: Resend: 14961
2020-05-25 17:33:22,249 - octoprint.util.comm - WARNING - Printer keeps requesting line 14961 again and again, communication stuck
2020-05-25 17:33:22,250 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Error: Printer keeps requesting line 14961 again and again, communication stuck"

It would be nice if an option existed to remove any : from M117 commands. Alternatively, a warning in the readme could prevent future issues.

@AlexVerrico AlexVerrico added the bug Something isn't working label May 26, 2020
@Dalewn
Copy link

Dalewn commented May 28, 2020

I've also received this error after installing the plugin. I had the old Version of this plugin running without problems on a previous installation, but switched to this with the new installation because it wasn't available anymore.

My printer is a heavily modified Tevo Tarantula running stock firmware.
Also see the octoprint.log:

2020-05-27 20:03:58,055 - octoprint.util.comm - WARNING - Printer keeps requesting line 4229 again and again, communication stuck
2020-05-27 20:03:58,057 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Error: Printer keeps requesting line 4229 again and again, communication stuck"
2020-05-27 20:03:58,068 - octoprint.util.comm - INFO - Force-sending M112 to the printer
2020-05-27 20:03:58,081 - octoprint.plugins.filamentmanager - INFO - Filament used: 298.55127 mm (tool0)
2020-05-27 20:03:58,100 - octoprint.plugins.filamentmanager - WARNING - No selected spool for tool0
2020-05-27 20:03:58,161 - octoprint.util.comm - INFO - Changing monitoring state from "Error: Printer keeps requesting line 4229 again and again, communication stuck" to "Offline (Error: Printer keeps requesting line 4229 again and again, communication stuck)"
2020-05-27 20:03:58,795 - octoprint.util.comm - INFO - Firmware didn't send an 'ok' with their resend request. That's a known bug with some firmware variants out there. Simulating an ok to continue...
2020-05-27 20:03:59,675 - octoprint.plugins.tracking - INFO - Sent tracking event commerror_resend_loop, payload: {u'throttled_now': True, u'throttled_past': True, 'commerror_text': u'Printer keeps requesting line 4229 again and again, communication stuck', u'throttled_mask': 327685}
2020-05-27 20:03:59,898 - octoprint.plugins.detailedprogress - INFO - Printing stopped. Detailed progress stopped.
2020-05-27 20:03:59,937 - octoprint.plugins.telegram - INFO - An Exception in get final time : unsupported type for timedelta seconds component: unicode
2020-05-27 20:04:00,263 - octoprint.plugins.tracking - INFO - Sent tracking event print_failed, payload: {'origin': u'local', u'throttled_mask': 327685, u'commerror_text': u'Printer keeps requesting line 4229 again and again, communication stuck', u'elapsed': 453, u'reason': u'error', 'file': '373f115a0bdf4769e39a71dce732797fdf7ff0ed', u'throttled_now': True, u'throttled_past': True}
2020-05-27 20:04:00,640 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.178.71) 16.65ms

@AlexVerrico
Copy link
Owner

Hi @bwise and @Dalewn
I'm currently working on making the time format user configurable, for now please install this baranch manually, which has periods(.) instead of colons(:) https://github.com/AlexVerrico/Octoprint-Display-ETA/archive/NoColonTempFix.zip
Cheers,
Alex.

@Dalewn
Copy link

Dalewn commented May 28, 2020

Hi @AlexVerrico,
thanks for your quick reply!
Looking closer at the log, I was wondering why the plugin was even sending an M117 to the printer.
self._printer.commands("M117 ETA is {}".format(self.eta_string))
Maybe you can just make it configurable whether the ETA is output to the printer display?

I for instance also use another plugin (Display Progress to do exactly that.

@alexandrawise
Copy link
Author

Hi @AlexVerrico, thanks for working on a fix so quickly. I'd like to echo @Dalewn's comment, I also use Display Progress to send M117's to the printer since it has extended functionality (ETA, ETL, Current Layer, % done), a toggle to turn off the M117's from this code would solve my issues with no loss of functionality (for me).

@joshuacant
Copy link

I would also like to request a setting to disable the M117 commands entirely. Love the plugin otherwise!

@AlexVerrico AlexVerrico mentioned this issue Jun 18, 2020
@AlexVerrico
Copy link
Owner

Hi everyone.
As of version 1.1.0 you can now either disable the M117 command entirely, or just remove the colons from it.
Cheers,
Alex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants