[solved] Problem with M574



  • Hello,
    I'm building a printer with 4 Z belts.
    I'm using a DuetWifi with DUEX5.
    I'm using the 2.03 release.
    I want 4 microswitch on the high end of the printer, to home.
    I am not able to set up the right endstop number.

    In my config.g file, there is:
    M584 X0 Y1 E3 Z6:7:8:9 U7 V8 W9

    Endstops
    M574 Z2 S0 C6 ; Set active high endstops
    M574 U2 S0 C7
    M574 V2 S0 C8
    M574 W2 S0 C9

    M915 X1 Y1 S3 R0 ; S3, Threshold
    M671 X302.5:-302.5:-302.5:302.5 Y-248:-248:248:248 S2 P40

    When I check on the Machine Properties, the endstop are not on the right stepper.
    I tried to change the number and nothing changes.
    The Z physical pin is still linked to the Z logical drive. It should be the C6 pin (M574 Z2 S0 C6)
    the same problem remain on the other drives.

    There's probably something that i'm missing, but I could use some help...

    Thank you.

    My complete config.g is here.

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 P"COREXY" ; Set machine name

    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    M584 X0 Y1 E3 Z6:7:8:9 U7 V8 W9 ; Apply custom drive mapping

    ; Drives
    M569 P0 S1 ; moteur A vers l'avant
    M569 P1 S1 ; moteur B vers l'avant
    M569 P3 S1 ; EXTRUDEUR
    M569 P4 S1 ; rien de branche
    M569 P5 S1 ; rien de branche
    M569 P6 S0 ; moteur4
    M569 P7 S1 ; moteur3
    M569 P8 S0 ; moteur2
    M569 P9 S1 ; moteur1

    M667 S1 ; Select CoreXY mode

    M584 X0 Y1 E3 Z6:7:8:9 U7 V8 W9 ; Apply custom drive mapping
    M350 X16 Y16 Z16:16:16:16 U16 V16 W16 E16 I1 ; Configure microstepping with interpolation
    M92 X160.00 Y160.00 Z160.00:160.00:160.00:160.00 U160.00 V160.00 W160.00 E2700.00 ; Set steps per mm
    M566 X900.00 Y900.00 Z900:900:900:900 U900 V900 W900 E120.00 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z6000.00:6000.00:6000.00:6000.00 U6000.00 V6000.00 W6000.00 E1200.00 ; Set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z500.00:500.00:500.00:500.00 U500.00 V500.00 W500.00 E250.00 ; Set accelerations (mm/s^2)
    M906 X800.00 Y800.00 Z1400.00:1400.00:1400.00:1400.00 U1400.00 V1400.00 W1400.00 E500.00 I50 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    M671 X-50:-50:550:550 Y-40:440:-40:440

    ; Axis Limits
    M208 X-232.5 Y-178 Z0 S1 ; Set axis minima
    M208 X232.5 Y178 Z300 S0 ; Set axis maxima

    ; Endstops
    M574 Z2 S0 C6 ; Set active high endstops
    M574 U2 S0 C7
    M574 V2 S0 C8
    M574 W2 S0 C9

    M915 X1 Y1 S3 R0 ; S3, Threshold
    M671 X302.5:-302.5:-302.5:302.5 Y-248:-248:248:248 S2 P40

    ; Z-Probe
    ;M574 Z1 S2 ; Set endstops controlled by probe
    M558 P5 R0.4 H5 F1200 T6000 ; Set Z probe type to effector and the dive height + speeds
    G31 P500 X0 Y0 Z0.1 ; Set Z probe trigger value, offset and trigger height
    M557 X0:400 Y0:350 S20 ; Define mesh grid

    ; Heaters
    M305 P0 S"bed" T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S100 ; Set temperature limit for heater 0 to 120C
    M305 P1 s"buse" T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; capteurs de température
    M305 P103 X2 S"radiateur" T100000 B4138 R4700
    M305 P104 X5 S"bed2" T100000 B4138 R4700
    M305 P105 X4 S"heatsink" T100000 B4138 R4700

    M305 P100 S"MCU"
    M305 P101 S"Duet"
    M305 P102 S"Duex"

    ; Fans 24V
    M106 P0 C"pompe" S0 I0 F12000 H-1 ; Berdair 24v a l'arret pour commencer

    ; Fans 12v
    M106 P3 C"pompe_a_eau" S0.8 I0 F500 H-1 ; pompe à eau au max (valider la réduction possible du PWM)
    M106 P4 C"ventil" S0.05 I0 F500 H-1 ; ventilateur derriere le SSR
    ; Leds 12v
    M106 P5 C"Rouge" S1 I0 F500 H-1 ; led rouge
    M106 P6 C"Vert" S1 I0 F500 H-1 ; led rouge
    M106 P7 C"Bleu" S1 I0 F500 H-1 ; led rouge

    ; Tools
    M563 P0 D0 F0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; choses à ajouter
    ;firmware retract
    ; filament diameter
    ; pressure advance
    ;

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory

    T0



  • @tech-raton It's because M574 has been withdrawn (yes, I was pretty miffed about it too). It was only introduced in a beta version but it had some impact on another command which upset some CNC users. So your choices are to go back to an earlier RRF 2 beta that did support M574 or try one of the RRF3 betas that (I think) support M574.


  • administrators

    @deckingman said in Problem with M574:

    @tech-raton It's because M574 has been withdrawn (yes, I was pretty miffed about it too). It was only introduced in a beta version but it had some impact on another command which upset some CNC users. So your choices are to go back to an earlier RRF 2 beta that did support M574 or try one of the RRF3 betas that (I think) support M574.

    To expand on Ian's answer, it's the M574 C parameter that was introduced in one of the RRF 2.03 beta versions and later withdrawn. It's available in a different form in RRF 3, see https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_M574. RRF 3 also supports multiple axis motors + endstop switches without having to create additional axes.



  • @dc42

    I tried without the c parameter, and my z endstop is not the endstop number 6 even with m584 z6.

    Is that a normal behaviour?


  • administrators

    @tech-raton said in Problem with M574:

    @dc42

    I tried without the c parameter, and my z endstop is not the endstop number 6 even with m584 z6.

    Is that a normal behaviour?

    Yes. In RRF2 endstop inputs are allocated to X Y Z E0 E1 E2 etc. in the order that axes are created. Use of M584 to remap axes to different drivers does not remap endstop inputs.



  • @dc42
    Ok i understand.
    I'll switch to rrf3 so, to be able to have this multiple endstop working...

    Thank tou for your patience and this wonderful piece of hadware (and software)

    It's great to keep it opensource with a really strong support.

    Keep up the good work!



  • With rrf3, it worked nicely

    Thank you very much.


Log in to reply