[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 W9Endstops
M574 Z2 S0 C6 ; Set active high endstops
M574 U2 S0 C7
M574 V2 S0 C8
M574 W2 S0 C9M915 X1 Y1 S3 R0 ; S3, Threshold
M671 X302.5:-302.5:-302.5:302.5 Y-248:-248:248:248 S2 P40When 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 nameM552 S1 ; Enable network
;*** Access point is configured manually via M587
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable TelnetM584 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 ; moteur1M667 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 timeoutM671 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 C9M915 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 R4700M305 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 memoryT0
-
@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.
-
@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.
-
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?
-
@tech-raton said in Problem with M574:
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.