bitraf / bitraf-cnc

CNC-related research and projects at Bitraf
2 stars 1 forks source link

Octoprint GRBL plugin is unstable #11

Open JensDyvik opened 5 years ago

JensDyvik commented 5 years ago

I have successfully tested the Octopi image on a raspberry pi controlling GRBL on an Arduino Nano. I followed the instructions on the fabricatable machines repository to install and set up.

I am able to load and run jobs. But octoprint with the grbl support plugin behaves unstable and freezes often. After a freeze the octoprint servers needs to be restarted. We need to find a way to improve the plugin. It could be great if our fixed could be sent as a pull request to the plugin repo

Issues to fix

Tweaks I have made to make Ocoprint work on GRBL

octoconfig-checksum Turn off "Send a checksum with a command" (This is also mentioned in the GRBL plugin repo)

octoconfig-error-handling Set the error Handling to "Cancel any ongoing prints". I think ignoring them entirely might be risky.

octoconfig-query-intervals Set the temperature query interval to daily. If this one is to frequent it impacts the streaming of coordinates and creates an error response. This solution is mentioned in this issue in the plugin repo.

JensDyvik commented 5 years ago

Update:

It seems like the the communication timeout can be disabled with the following settings. Testing so far is promising. (Not sure if there is ant risk involved in disabling the communication timeout):

disable-timeout

synman commented 5 years ago

I'm working through this myself with an Eleksmaker A3. I am periodically getting grbl error 9, 11, and 24.

I'll check my intervals tonight (they are currently set to 2 seconds) and see what I have for consecutive timeouts ( I think I already have them at zero)..

I did create a plug-in of my own for handling soft reset 0x18 and eating the hardcoded M115 Gina sends in comms.py. I'm not sure why she didn't bundle it within the printer safety plug-in itself.

JensDyvik commented 5 years ago

Great to hear that there are more minds working on this. Thank you for sharing and please keep us posted on your progress!

synman commented 5 years ago

killing the temperature polling solved my problems. I do find it a little annoying that I can't (inherently) get position updates / etc while executing, but all other benefits (I have been using Octoprint on my 3d printer for years) far outweigh that and I can probably figure some way around it.

I've disabled the temperature and gcode tabs completely and am considering doing the same for the Control tab. I'm currently undecided on whether I should work with the exiting control tab or create my own.

A couple other items I'm looking into: