M584 Syntax Question

  • I am new to the duet world and in the process of setting up my new machine. It has a dual X-Motor and I am reading up on the documentation for M584. However the syntax described in the docs is not the same syntax in the config file from the generator.
    The generator came up with this:

    M584 X0.0 Y0.1 Z0.2            ; set drive mapping

    The docs describe a syntax like this:

    M584 X0 Y1 Z2:3 E4:5:6 

    specifically, the generated gcode uses a dot (.) as a separator, and the docs use a colon (:) as a separator, and I am not at all certain that the separators do the same in those examples ... 😕

    Since this is a potentially machine-breaking config section I found it's best to ask in hear to clear up the situation, before I just go in and try hoping for the best ...

    More specifically, how do I correctly set up the x-motor on driver 0 and 1? M584 X0.1 Y0.2 Z0.3 or M584 X0:1:2 Y0.1:2 Z:0.2:3 or M584 X0:1 Y2 Z3?

    thank you!

  • 0 and 0.0 is a drive number (depends on firmware version).
    : is used todefine an array

    X0:1 or X0.0:0.1 maps drive 0 and 1 to X

  • Hi,

    From the documentation:

    In RRF_3, M584 works the same way as in RRF_2, with exception that on Duet 3 the driver on expansion boards are assigned with <board address>.<driver number>. Example:

    M584 X0 Y1 Z2 E3:4:1.0:1.1

    The "0" index for the main board is implicit, this is equivalent to the previous example:

    M584 X0.0 Y0.1 Z0.2 E0.3:0.4:1.0:1.1


  • You guys are extremely fast! Thank you very mch!

  • @0xde4dbeef said in M584 Syntax Question:

    You guys are extremely fast! Thank you very mch!

    Yep, we are fast and sometimes we even get the answer right. 😉


Log in to reply