Bug:Object model discrepancies

  • Board: Duet 2 WiFi (2WiFi)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2-beta1 (2020-09-15b1)
    Duet WiFi Server Version: 1.23

    Config.g - https://github.com/dandancheeseandham/cheeseandham-railcore/blob/master/RRF3.1/sys/config.g

    Steps to reproduce bug:

    1. Go to any larger non-zero XY position. e.g.
      G1 X100 Y100
      G1 X150 Y200
      G1 X300 Y300

    2. Confirm position with M114 and DWC

    3. Compare against output of

    echo "current machine position",{move.axes[0].machinePosition},{move.axes[1].machinePosition},{move.axes[2].machinePosition}

    Object model is out on my machine by 0.27 every 100mm (so at position 300 on X or Y the position is reported as 300.810)

    Additional: Axis limits via M208 seem to adhere to object model, so if I set max Y to 300 I can only go to 299.2 according to DWC/M114.
    However if I set Y limit to 300.810 such as

    M208 X-10:305 Y0:300.810 Z0:610

    then I can go to Y300 (as read by DWC/M114) and the object model reads 300.810

  • Out of pure curiosity, I just checked on my printer (Duet3, standalone, 3.2-b1), and seems to be just fine.f312ed8b-a23f-4428-a58e-d5fb710a1d74-obraz.png

  • Moderator


    From config:

    M579 X1.0027 Y1.0027 Z1.0011

    Something to do with axis scaling, I’d guess.


  • Hey @droftarts!
    On a personal note, nice to see you back around the RRF community! I remember you well, from the Reprap forums and back when I had to come to RepRapPro shed twice with my Ormerod2 🙂

    Aha! Interesting! I'll happily get rid of my axes scaling for now as it doesn't really affect me that much.
    However as I'd like the script I'm developing to be applied across other printers in my printers community, my questions are:

    i) Is there an object model model reading of M114? Or do I have to "process" it with my axis scaling?
    ii) Is the application of the scaled value to M208 (thereby in my case, not allowing you to reach the value stated) intentional/wanted behaviour?

  • Moderator

    @cheeseandham Haha, the old days! I saw your handle, and wondered if you were still running a mirror of the old RRP instructions!

    Looking at the Gcode dictionary for M579 it doesn’t look like scaling is only applied during printing, it’s applied all the time. So looks like the OM variable you’re using does not have scaling applied to it. I’m not sure if there is a scaled OM variable. @dc42 and/or @chrishamm will need to have a look.


  • Moderator

    @cheeseandham the word from above is; try using userPosition rather than machinePosition.


  • @droftarts said in Bug:Object model discrepancies:

    wondered if you were still running a mirror of the old RRP instructions!

    Adrian did eventually host a copy on RepRapLtd, so my mirror was not so important (Although photos do not "expand" on his copy) The domain expired, although the website is still "live" on my hosting, but I was thinking the other day whether to buy the domain again (it's a uk domain so pretty cheap)

    @droftarts said in Bug:Object model discrepancies:

    try using userPosition rather than machinePosition.

    I didn't notice that object, and that's fixed the problem.
    Apologies for reporting as a "bug" prematurely. I'll be more careful about that in future! 😊
    I guess I just need to scale my M208 to compensate for axis scaling, and everything is fine.

Log in to reply