Duet 3 beta 3.4.0 b3 | Unable to setup Endstop on toolboard.
-
I have a toolboard configured as board 2 with three endstops in series, X, Y & Z. I have the Z probe set to use the same endstop. The z-probe can be seen to trigger in DWC when a switch is pressed.
However, when issuing M574 X1 P"2.io0.in" S1 i get an error telling me the pin isn't free.
Error: M574: Pin 2.io0.in is not free
This happens even when the z-probe is not setup with M558 P8 C"2.io0.in" H3 F360 I0 T20000
I have been unable to find out why. I have a similar setup using X & Y endstops on a single toolboard, and that seems to run just fine on a different machine.
What am I doing wrong?
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Vogue" ; set printer name M667 S1 ; Set CoreXY ; Drives M569 P0.0 S0 ; X M569 P0.1 S0 ; Y M569 P0.2 S0 ; T1 M569 P0.3 S0 ; B M569 P0.4 S0 ; T0 M569 P0.5 S1 ; Z M569 P1.0 S1 ; T3 M569 P1.1 S0 ; T2 M569 P1.2 S0 ; M569 P2.0 S0 ; C M584 X0.0 Y0.1 Z0.5 E0.4:0.2:1.1:1.0 B0.3 C2.0 ; Drive mapping M350 E16:16:16 C16 I0 ; Configure microstepping without interpolation M350 X16 Y16 Z16 B16 I1 ; Configure microstepping with interpolation M92 X100 Y100 Z800 B1600 C91.022 E396:396:396:396 ; Set steps per mm M566 X100 Y100 Z50 C2 B200 E10:10:10:10 ; Set maximum instantaneous speed changes (mm/min) M203 X35000 Y35000 Z4000 B3500 C5000 E5000:5000:5000:5000 ; Set maximum speeds (mm/min) M201 X2000 Y2000 Z125 B500 C500 E1000:1000:1000:1000 ; Set accelerations (mm/s^2) M906 X1800 Y1800 Z1330 B750 I30 ; Idle motion motors to 30% M906 E1330:1330:1330 C500 I10 ; Idle extruder motors to 10% ; Axis Limits M208 X0:350 Y0:300 Z0:300 B0:50 C0:360 S0 ; Set axis maxima & minima ; Endstops M574 B1 C1 S3 ; Set B C endstops to stall detection M574 X0 P"nil" M574 Y0 P"nil" M574 Z0 P"nil" ; Setup Z-Probe M558 P8 C"2.io0.in" H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height M557 X10:290 Y20:180 S40 ; Define mesh grid ; Heaters M308 S0 A"Bed" P"temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out3" T0 ; create bed heater output on out2 and map it to sensor 0 M143 H0 S250 ; set temperature limit for heater 0 to 250C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 A"T0" ; define E0 temperature sensor M950 H1 C"out1" T1 ; Extruder 0 heater M143 H1 S305 ; Set temperature limit for heater 1 to 300C M308 S2 P"1.temp1" Y"thermistor" T100000 B4725 C7.06e-8 A"T1" ; define E1 temperature sensor M950 H2 C"1.out1" T2 ; Extruder 1 heater M143 H2 S305 ; Set temperature limit for heater 2 to 300C M308 S3 P"1.temp0" Y"thermistor" T100000 B4725 C7.06e-8 A"T2" ; define E2 temperature sensor M950 H3 C"1.out2" T3 ; Extruder 2 heater M143 H3 S305 ; Set temperature limit for heater 3 to 300C M308 S4 P"temp2" Y"thermistor" T100000 B4725 C7.06e-8 A"T3" ; define E3 temperature sensor M950 H4 C"out2" T4 ; Extruder 4 heater M143 H4 S305 ; Set temperature limit for heater 4 to 300C ; Fans M950 F0 C"out7" ; T0 Hotend Fan M950 F1 C"1.out7" ; T1 Hotend Fan M950 F2 C"out8" ; T3 Hotend Fan M950 F3 C"1.out8" ; T4 Hotend Fan M950 F4 C"out4" ; T0 Part Cooling Fan M950 F5 C"1.out4" ; T1 Part Cooling Fan M950 F6 C"out5" ; T3 Part Cooling Fan M950 F7 C"1.out5" ; T4 Part Cooling Fan M106 P0 T65 S255 H1 ; T0 HotEnd Fan M106 P1 T65 S255 H2 ; T2 HotEnd Fan M106 P2 T65 S255 H3 ; T3 HotEnd Fan M106 P3 T65 S255 H4 ; T4 HotEnd Fan M106 P4 S0 ; T0 Part Cooling Fan M106 P5 S0 ; T1 Part Cooling Fan M106 P6 S0 ; T2 Part Cooling Fan M106 P7 S0 ; T3 Part Cooling Fan ; Tools M563 P0 S"T0" D0 H1 F0 F4 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C M563 P1 S"T1" D1 H2 F1 F5 ; Define tool 1 G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C M563 P2 S"T2" D2 H3 F2 F6 ; Define tool 2 G10 P2 X0 Y0 Z0 ; Reset tool 2 axis offsets G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C M563 P3 S"T3" D3 H4 F3 F7 ; Define tool 3 G10 P3 X0 Y0 Z0 ; Reset tool 3 axis offsets G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C ;Set Hotends to Standby T0 P0 T1 P0 T2 P0 T3 P0 T-1 P0 ; Machine settings M501 ; Load config-overide.g M575 P1 S1 B57600 ; Enable LCD
; homex.g ; called to home the x axis ;Set Endstops M574 Y0 P"nil" M574 Z0 P"nil" M574 X1 P"2.io0.in" S1 T-1 ; deselect tool G91 ; Relative mode G1 H2 Z5 F5000 ; Lower the bed G4 P50 ; wait 50msec G1 H1 X-350 F5000 ; Move X until the switch triggers (first pass) G4 P250 ; wait 250msec G1 X5 F5000 ; go back a few mm G4 P250 ; wait 250msec G1 H1 X-10 F300 ; Move X until the switch triggers (second pass) G1 X1 F5000 ; go back a few mm G90 ; Back to absolute positioning ;Release Endstops M574 X0 P"nil" M574 Y0 P"nil" M574 Z0 P"nil"
-
@greg_the_maker is this happening even if you have the M558 line commented out in config.g and restart the machine? What happens when you send M558 with no parameters?
-
yes, even with M558 commented out.
-
@greg_the_maker add a G4 S2 before any CAN-FD connected board is referenced in your config.
This error is probably connected to this https://forum.duet3d.com/topic/24984/trouble-assigning-filament-sensor-after-using-pin-for-gpio/5?_=1631544376470
-
I think something very odd is going on.
Even with no M558, and nothing being assigned to use the pin, I can't assign anything to that pin.
-
@greg_the_maker which version of RRF are you running?
-
@greg_the_maker you can't assign a pin to be both a Z probe and an endstop. If you are using the Z probe in lieu of a Z endstop, then you don't need to configure a Z endstop, and your Z homing file should use a G30 command.
-