G91 as prefix



  • Question, G91 can prefix G0 as from what I gather RRF don't require \n to split G-Code.

    How long G91 last in that situation, only that single G0 or like it was a separate line, till changed with G90? I assume it behaves identically as it was in separate line, just checking.

    Most importantly, how does G91 work trough "channels"

    There's

    • printing a file
    • sending code trough on-board usb
    • sending code trough on-board uart (paneldue for e.g.)
    • sending code trough /rr_gcode (or whatever new stuff comes with duet3 and sbc)
    • sending code trough telnet

    These 5 can all happen in the same time what is the scope of G91/90? If I'm doing something trough telnet, sending bunch of absolute moves and then insert a G91 from serial port? Will my printer go crazy and start executing those absolute moves from telnet stream as relative ones or?



  • given RRF doesn't differentiate between

    G91
    G0 X10
    G0 Y10
    G90
    G0 X0Y0
    

    and

    G91 G0 X10 G0 Y10 G90 G0 X0Y0
    

    G91 will have to be in effect until G90.

    looking forward to seeing how the possible concurrency affects this though.


  • administrators

    As @bearer says. The only command that lasts only until the end of the current line is G53.



  • @dc42 yes, tested and that's how it behaves but the concurrency is more important for me

    Most importantly, how does G91 work trough "channels"

    There's

    • printing a file
    • sending code trough on-board usb
    • sending code trough on-board uart (paneldue for e.g.)
    • sending code trough /rr_gcode (or whatever new stuff comes with duet3 and sbc)
    • sending code trough telnet

    These 5 can all happen in the same time what is the scope of G91/90? If I'm doing something trough telnet, sending bunch of absolute moves and then insert a G91 from serial port? Will my printer go crazy and start executing those absolute moves from telnet stream as relative ones or?

    namely, there's code going trough usb for e.g. and I trough telnet in the middle of it shoot G91, what will happen? that G91 is valid only in telnet "channel" or now rest of the stuff going trough usb channel is going wild?


  • administrators

    The relative/absolute status set by G90/G91 is held per input channel. Same for M82/M83, current feed rate, inches/mm selection, and volumetric extrusion on/off. So no concurrency issues.

    All these settings are also restored to their previous values when a macro completes.



  • @dc42 said in G91 as prefix:

    The relative/absolute status set by G90/G91 is held per input channel. Same for M82/M83, current feed rate, inches/mm selection, and volumetric extrusion on/off. So no concurrency issues.

    super cool, thanks

    All these settings are also restored to their previous values when a macro completes.

    This one I found out already, was pleasently surprised 😄


Log in to reply