Cura 2.6 + Octoprint Integration

I setup Cura 2.6 to connect to Octoprint – very cool, and (mostly) works great. But I am having a HUGE problem with the manual jog controls when executed from Cura (they work perfectly in Octoprint’s web interface).

When clicking the right-arrow control in Cura to jog the carriage right 1mm, the following sequence is usually seen by the printer:
G91
G0 X1 Y0 Z0 F3000
G90

However… Sometimes (particularly if the arrow button is pressed several times successively) the G91 is omitted from the sequence or a G90 is sent instead. Without the switch to relative mode, that ends up sending the nozzle to absolute X1 Y0 Z0, rather than just a relative move of X +1mm.
Has anyone else here set up Octoprint integration in 2.6? I’d like to know if anyone else is seeing the same issue with the jog controls. Everything else seems to work well, not sure why this particular item intermittently fails.

– Edited —
I captured logs from Cura and Octoprint. The following represents (4) pushes of the right-arrow jog control in Cura.

Each time, Cura says it sent a G91 before the G0 command and a G90 after. But on the 3rd sequence, Octoprint says it got G90 before and G91 after (i.e., G91 and G90 reversed). Not sure whether to point finger at the plugin or at Octoprint, but I generally trust Octoprint to do what it is told.

WHAT CURA PLUGIN *SAYS* IT SENT
-------------------------------
2017-11-27 10:41:23,793 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G91
2017-11-27 10:41:23,793 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G0 X1 Y0 Z0 F3000
2017-11-27 10:41:23,793 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G90

2017-11-27 10:41:26,844 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G91
2017-11-27 10:41:26,844 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G0 X1 Y0 Z0 F3000
2017-11-27 10:41:26,844 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G90

2017-11-27 10:41:29,460 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G91
2017-11-27 10:41:29,460 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G0 X1 Y0 Z0 F3000
2017-11-27 10:41:29,461 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G90

2017-11-27 10:41:29,654 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G91
2017-11-27 10:41:29,655 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G0 X1 Y0 Z0 F3000
2017-11-27 10:41:29,655 - DEBUG - OctoPrintPlugin.OctoPrintOutputDevice._sendCommand [412]: Sent gcode command to OctoPrint instance: G90

WHAT OCTOPRINT *SAYS* IT RECEIVED (and what was sent to printer)
----------------------------------------------------------------
Send: G91
Recv: ok
Send: G0 X1 Y0 Z0 F3000
Recv: ok
Send: G90
Recv: ok

Send: G91
Recv: ok
Send: G0 X1 Y0 Z0 F3000
Recv: ok
Send: G90
Recv: ok

Send: G90
Recv: ok
Send: G0 X1 Y0 Z0 F3000
Recv: ok
Send: G91
Recv: ok

Send: G91
Recv: ok
Send: G0 X1 Y0 Z0 F3000
Recv: ok
Send: G90
Recv: ok

I do not use the jog controls normally in Cura, but have not really had a reason to yet. :blush:

Me neither – but this is my first time seeing/using the “integration” of Octoprint in Cura, so I’m pressing all the shiny buttons. :smiley:

It was pretty disconcerting to hit the “jog right 1” Octoprint button in Cura, and suddenly hear the print head start travelling downward. Luckily, it was starting from the top, the bed was empty, and I was only about 10ft away from the power switch!