Incorrect object model / status when multiple drivers on Z



  • Board: Duet 3 MB6HC (MB6HC)
    DSF Version: 1.2.4.0
    Firmware: RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 3.01-beta3 (2020-01-29b1)

    ; Axis to driver mapping
    M584 X0 Y1 U2 Z3:4:5        ; X and Y for CoreXY.  U for toolchanger lock. Z has three drivers for kinematic bed suspension. 
    M584 E1.0:1.1:2.0:2.1       ; Extruders for four tools. 
    
    M569 P0 S0                  ; Drive 0 direction | X stepper
    M569 P1 S0                  ; Drive 1 direction | Y Stepper
    M569 P2 S0                  ; Drive 2 direction | U Tool Changer Lock
    M569 P3 S0                  ; Drive 3 direction | Front Left Z
    M569 P4 S0                  ; Drive 4 direction | Front Right Z
    M569 P5 S0                  ; Drive 5 direction | Back Z
    ; End of main board drivers.  Expansion boards have three each.
    ; Expansion 0
    M569 P6 S0                  ; Drive 6 direction | Extruder T0
    M569 P7 S0                  ; Drive 7 direction | Extruder T1
    ; Expansion 1
    M569 P8 S0                  ; Drive 8 direction | Extruder T2
    M569 P9 S0                  ; Drive 9 direction | Extruder T3
    

    When requesting a http://ipofprinter/machine/status, it incorrectly shows drivers from 4 upward as being part of extruders, where 4 and 5 are actually part of Z. Here is a tree view of part of that response:

    aa4c692d-2924-4f0e-9edd-e472b212e56e-image.png

    Here is the full response:

    machine-status.json



  • I noticed this while trying to reverse the first extruder.

    M569 P6 S0

    and

    M569 P6 S1

    Show no difference on the extruder itself.


  • administrators

    @Danal said in Incorrect object model / status when multiple drivers on Z:

    ; Axis to driver mapping
    M584 X0 Y1 U2 Z3:4:5 ; X and Y for CoreXY. U for toolchanger lock. Z has three drivers for kinematic bed suspension.
    M584 E1.0:1.1:2.0:2.1 ; Extruders for four tools.

    M569 P0 S0 ; Drive 0 direction | X stepper
    M569 P1 S0 ; Drive 1 direction | Y Stepper
    M569 P2 S0 ; Drive 2 direction | U Tool Changer Lock
    M569 P3 S0 ; Drive 3 direction | Front Left Z
    M569 P4 S0 ; Drive 4 direction | Front Right Z
    M569 P5 S0 ; Drive 5 direction | Back Z
    ; End of main board drivers. Expansion boards have three each.
    ; Expansion 0
    M569 P6 S0 ; Drive 6 direction | Extruder T0
    M569 P7 S0 ; Drive 7 direction | Extruder T1
    ; Expansion 1
    M569 P8 S0 ; Drive 8 direction | Extruder T2
    M569 P9 S0 ; Drive 9 direction | Extruder T3

    Your M569 commands for expansion boards are wrong. They should be e.g.:

    ; Expansion 0
    M569 P1.0 S0 ; Drive 0 direction | Extruder T0
    M569 P1.1 S0 ; Drive 1 direction | Extruder T1
    ; Expansion 1
    M569 P2.0 S0 ; Drive 0 direction | Extruder T2
    M569 P2.1 S0 ; Drive 1 direction | Extruder T3

    I will look into the M409 report.


  • administrators

    I just started a system using your M584 commands in config.g. This was the result:

    06/02/2020, 14:05:34 	m409 k"move.extruders"
    {"key":"move.extruders","flags":"","result":[{"driver":"1.0","factor":100.0,"nonlinear":{"a":0,"b":0,"upperLimit":0.20},"pressureAdvance":0},{"driver":"1.1","factor":100.0,"nonlinear":{"a":0,"b":0,"upperLimit":0.20},"pressureAdvance":0},{"driver":"2.0","factor":100.0,"nonlinear":{"a":0,"b":0,"upperLimit":0.20},"pressureAdvance":0},{"driver":"2.1","factor":100.0,"nonlinear":{"a":0,"b":0,"upperLimit":0.20},"pressureAdvance":0}]}
    
    06/02/2020, 14:05:24 	m409 k"move.axes"
    {"key":"move.axes","flags":"","result":[{"acceleration":500.0,"drivers":["0.0"],"homed":false,"jerk":900.0,"letter":"X","machinePosition":0,"max":200.0,"min":0,"speed":6000.0,"userPosition":0,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]},{"acceleration":500.0,"drivers":["0.1"],"homed":false,"jerk":900.0,"letter":"Y","machinePosition":0,"max":200.0,"min":0,"speed":6000.0,"userPosition":0,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]},{"acceleration":20.0,"drivers":["0.3","0.4","0.5"],"homed":false,"jerk":12.0,"letter":"Z","machinePosition":0,"max":200.0,"min":0,"speed":300.0,"userPosition":0,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]},{"acceleration":500.0,"drivers":["0.2"],"homed":false,"jerk":900.0,"letter":"U","machinePosition":0,"max":200.0,"min":0,"speed":6000.0,"userPosition":0,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]}]}
    

    These look correct to me. I am using the internal build of RRF at https://www.dropbox.com/sh/3azy1njy3ayjsbp/AACquxr2m00eV568RZg5QG5wa?dl=0 running in standalone mode.



  • Thank you for the M569, that explains that...! I will update.

    I will also try the internal build and report back, that will be this evening Central US timezone (about 10 hours from this post)


Log in to reply