Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    G92 doesn't set position on 1.21 firmware

    Scheduled Pinned Locked Moved
    General Discussion
    3
    10
    1.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dragonnundefined
      dragonn
      last edited by

      I update to 1.21 and now G92 doesn't change postion. For example my homey.g:

      [[g-code]]
      G91                     ; relative positioning
      G1 S2 Z5 F6000             ; lift Z relative to current position
      
      ; home y
      G1 S1 Y315 F1800 ; move quickly to Y axis endstop and stop there (first pass)
      G1 Y-5 F6000       ; go back a few mm
      G1 S1 Y315 F360  ; move slowly to Y axis endstop once more (second pass)
      G1 Y-13 F6000
      G92 Y290
      
      G1 Y-157 F6000
      
      G1 S2 Z-5 F6000      ; lower Z again
      G90               ; absolute positioning
      
      ```Doesn't work now like expected :/.
      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        It works for me, provided that I have my M208 Y limit set to 290 or greater, otherwise the G1 Y-13 command moves a greater amount to bring the Y position within bed limits.

        What M208 Y settings are you using, and what is the reason for using the G92 command in that file anyway?

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • dragonnundefined
          dragonn
          last edited by

          I use G92 because my bed is slightly offset by 13mm from the y-max endstop. So I move to y-max, move back 13mm and set the the position to y-max. My M208 is M208 X297 Y290 Z350 S0.

          On 1.21 when I set the G92 it doesn't seems to do anything, head position stays like it was. On 1.20 it changes the head position (in web control).

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            I've tried setting my M208 Y parameter to 290 and running your homey.g, and it's working for me. The final Y position shown is 133, which is 290-157. It would be 13mm lower if the G92 command was not working. This is on a Cartesian printer running firmware 1.21.

            What happens if you send the commands in homey.g individually from the console?

            Why not set your M208 Y parameter to 303?

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • dragonnundefined
              dragonn
              last edited by

              Hmmm strange. I update to 1.21 again and now it seems to working but I find something strange:
              1. Power up printer - works fine homing.
              2. Turn off motors, axes not homed
              3. Move axes with for example G91\n G1 S3 Y10 (I want to move axes without homing sometimes)
              4. Run home again, y axes shits by 50% (I have y=157 wher y=290 should be.
              Can you try to run this:

              [[language]]
              ; test.g
              ; called to home all axes
              ;
              ; generated by RepRapFirmware Configuration Tool on Fri Feb 16 2018 16:52:18 GMT+0100 (CET)
              
              G91                     ; relative positioning
              G1 S3 Y10 ;this brakes y position at end of the macro. 
              
              G1 S2 Z5 F6000             ; lift Z relative to current position
              
              ; home y
              G1 S1 Y315 F1800 ; move quickly to Y axis endstop and stop there (first pass)
              G1 Y-5 F6000       ; go back a few mm
              G1 S1 Y315 F360  ; move slowly to Y axis endstop once more (second pass)
              G1 Y-13 F6000
              G92 Y290
              
              G1 Y-157 F6000
              
              ; home x
              G1 S1 X315 F1800 ; move quickly to X axis endstop and stop there (first pass)
              G1 X-5 F6000       ; go back a few mm
              G1 S1 X315 F360  ; move slowly to X axis endstop once more (second pass)
              G1 X-3 F1800
              G92 X297
              G1 X-157 F6000
              
              ; home z
              G1 S2 Z5 F200 	   ; raise head 4mm to ensure it is above the Z probe trigger height
              G90 		   ; back to absolute mode
              G30 S-1		   ; lower head, stop when probe triggered and set Z to trigger height
              G92 Z3             ; set Z position to trigger height
              G90;
              G1 Z0 F200
              G91 
              ;G1 Z-1 F200
              G90
              ; retract bltouch
              G1 Z10 F200
              G1 Y4 F3600
              G1 Z4.2 F200
              G1 Z10 F200
              G1 Y157 F6000
              
              ```This confused me and I had think G92 is not working. And well after running this code G92 doesn't work like expected for the Y axis. Can you explain what the S3 parameter is? My printer is an CoreXY so when I run a move with S2 it moves only with one motor.
              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                G1 S3 changes the M208 axis limit to where the endstop stops motion. If you just meant to move the Y axis without homing it first, I suggest you use G1 S1 not G1 S3. However, the G3 behaviour is arguably incorrect, because if the endstop is not triggered during the G1 S3 move, the M208 axis limit gets set to the current Y position anyway. It would be better if the firmware did not change the M208 limit, and perhaps it should report an error too.

                In a future release I may add S4, meaning behave like S1 but ignore endstops.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • dragonnundefined
                  dragonn
                  last edited by

                  Oh ok, now I understand. And about S4 I like that idea. And I think a checkbox or something like that in GUI to allow movement from panel/web without homing would be fine. Thank you for you help!

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by

                    @dragonn:

                    … And I think a checkbox or something like that in GUI to allow movement from panel/web without homing would be fine.

                    Not quite a checkbox, but you can create a macro to send M564 H0.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • whosrdaddyundefined
                      whosrdaddy
                      last edited by

                      @dc42:

                      @dragonn:

                      … And I think a checkbox or something like that in GUI to allow movement from panel/web without homing would be fine.

                      Not quite a checkbox, but you can create a macro to send M564 H0.

                      Or add it to your config.g to get the pre 1.21 behavior back 😉

                      1 Reply Last reply Reply Quote 0
                      • dragonnundefined
                        dragonn
                        last edited by

                        But then it would allow me move outside print area when printing as far I know. I find other solution - I edited dwc.js and made btn-move add M564 H0 before move and M564 H1 after move. Fair enough.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA