Set position for U axis, "G92 U0" does not work

  • How to set position for U axis ? even in the Gcode documentation the parameters are only for X Y Z and E axis, but not U (or other axis if you have more)

    I used M114 to get position (let's say currently U = 50), then I send "G92 U0", then I check again with M114, and it shows me the same (U = 50) value.

    BUT... If I issue a command like "G1 U0", the axis does not move! it acts as if it is already at 0 (zero)

    Then, if I say "G1 U10", it moves 10 mm, and I check with M114, it returns U = 60 !!!

    So it kid of works! but the problem is that I need to know what is the actual value with M114

    Before you ask, I am using G90 - Absolute Positioning

  • administrators

    Is this with firmware 2.02, or an earlier firmware version?

  • Thanks for helping me on this.

    The Firmware Version: 2.02RC5(RTOS) (2018-11-28b1)

    Yesterday when I was trying this out, I was convinced it was the G92 U0 was not working, but today I noticed it only happens after I home with "G1 S1 U405 F500 H3"

    See this (from console):
    18:50:09: M114: X:50.000 Y:200.000 Z:0.000 U:29.606
    18:49:58: G92 U0
    18:49:43: M114: X:50.000 Y:200.000 Z:0.000 U:29.606
    18:49:36: G1 S1 U405 F500 H3
    18:49:11: M584 X4 Y5:6 Z8:9 U7 E0 P4
    18:49:05: M114: X:50.000 Y:200.000 Z:0.000

    Note the newest command is at the top, also, I removed unnecessary text from M114

    So, after G92 U0, M114 shows the same position, but it acts as if it's 0 (zero)

    If you wondering why I have G1 with H3 parameter, it's because I need to read the U position with M114 after it triggers the endstop

  • @cvmichael The full release of 2.02 is now available. To make trouble shooting easier, please update to the latest by uploading this zip file (don't unzip it) to the settings>general page of the DWC. That will get you all up to date. The test again.

  • I installed the latest version: Firmware Version: 2.02(RTOS) (2018-12-24b1)

    But I have the same problem:
    02:02:13: M114: X:140.000 Y:193.000 Z:0.000 U:33.611
    02:02:08: G92 U0
    02:01:59: G1 U10 F2000
    02:01:47: M114: X:140.000 Y:193.000 Z:0.000 U:0.000
    02:01:41: G1 U0 F2000
    02:01:21: M114: X:140.000 Y:193.000 Z:0.000 U:33.611
    02:01:16: G1 S1 U405 F500 H3
    02:00:46: M114: X:140.000 Y:193.000 Z:0.000 U:100.000
    02:00:17: M584 X4 Y5:6 Z8:9 U7 E0 P4
    02:00:07: M114: X:140.000 Y:193.000 Z:0.000

    Note this time, I moved to zero, then moved to 10, reset to 0, and it shows me the endstop value

    I managed to write the code without sending "G92 U0", and I got my code to work, check this:

    But it would be nice if you can fix the problem, because I am pretty sure I will need this when my code gets more complicated

  • administrators

    When you send G92, the position you pass is constrained by the M208 limits for that axis. Is your minimum U position 33.611? Send M208 without parameters to check.

  • M208 - Axis limits X0.0:400.0, Y0.0:400.0, Z0.0:400.0, U0.0:200.0

    I guess 200 is the default when you create a new axis...

  • administrators

    You ran this:

    02:01:16: G1 S1 U405 F500 H3

    You've used both S1 and H3 in this command, which I don't think you intended. The H3 will take precedence over the S1. So it will move the U axis until the endstop triggers, and then set the axis limit to the current U axis position. Is that what you intended, or was the H3 a typo?

  • I don't want to set the axis limit at the trigger, I just want to read the value at the trigger, without modifying the axis limit

  • I figured it out, after the trigger, if I send command:
    M208 U0:400 S0

    Then the G92 U0 works!

    I didn't realize before, I was using "M564 S0 H0" to move the axis without homing to prepare the printer, and this made the "G1 U0" work after homing (trigger) on U axis, but "G92 U0" not work because it was changing the minimum limit.

    Now everything makes sense!

    Thanks for your help


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.