Solved BLTouch and : Pin 'zprobe.in' is not free
-
I installed a BLTouch on a Duet 2 Wi-Fi board. It was working fine. Then I turned on the machine and tried to home it. It homed X and Y and then stopped because it did find the Z probe. M280 command work fine, M401 and 402 do not work. So it is communicating fine with the BLTouch but somehow the zprobe.in pin is being seen as in use by something else. I have attached all he relevant configuration files (I hope) and an M122 report. anyone have any suggestions? Thanks
Duet Web Control 3.4.4
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.3 (2021-06-15)
Duet WiFi Server Version: 1.26Error Messages M98 P"config.g"
m98 p"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Error: Pin 'zprobe.in' is not free
Error: Invalid Z probe indexConfig G
; General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates
M83 ; but relative extruder moves
M550 P"Jim's Ender 3" ; set printer name
M918 P1 E4 F2000000 ; configure direct-connect display; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S0 ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z410.00 E690 ; set steps per mm
M566 X1200.00 Y1200.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X9000.00 Y9000.00 Z180.00 E7200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2)
M566 E300 ;Instantaneous Speed Change (mm/s^2)
M201 E3000 ;Accelleration (mm/s^2)
M906 X800 Y800 Z800 E1200 I10 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X235 Y235 Z250 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (S1 = microswitch) endstop for low end (X1) on X via pin xstop (P"xstop")
M574 Y1 S1 P"ystop" ; configure switch-type (S1 = microswitch) endstop for low end on (Y1) Y via pin ystop (P"ystop")
M574 Z1 S1 P"zstop" ; configure switch-type (S1 = microswitch) endstop for low end on Z (Z1) via pin zstop (P"zstop")
M574 Z1 S1 P"^zprobe.in"; BLTouch
M950 S0 C"exp.heater3" ; Assign BLtouch to pin "exp.heater3"
M558 P9 C"^zprobe.in" H5 F120 T6000 ; Set the probe parameters
G31 X-49 Y0 Z-4 P25 ; set the probe’s offset, status & trigger height
M557 X10:235 Y10:235 S40 ; Define mesh grid;M558 P9 C"^zprobe.in" H5 F100 T2000 ; BLtouch P9 Type of Probe C=Pin Name H=Dive Height in mm F= Speed T= Travel Speed to next probe location
;M950 S0 C"exp.heater3" ; Map BLtouch to pin exp.heater3 and S sets servo pin index to 0
;G31 X-49 Y0 Z4 P25 ; Set Offsets from Nozzle BLTouch offset: Z = 4, x = -49mm, Y= 0mm; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 (S0) on pin bedtemp (P"bedtemp") as thermistor Y"thermistor" with values T100000 and B4092
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat (H0) with name bedheat (C"bedheat") and map it to sensor 0 (T0)
M307 H1 B0 R3.835 C121.0 D2.45 S1.00 V25.0 ; Config heater 0 (H0), DISABLE BANG-BANG (B0), heating rate (R.322), cooling time constant (C573.0), dead time (D3.30), max PWM (S1), calibration voltage (V23.7)
M140 H0 ; map heated bed to heater 0 (H0)
M143 H0 S120 ; set temperature limit for heater 0 (H0) to 120C (S120)
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 (S1) as thermistor (Y"thermistor") on pin e0temp (P"e0temp") with values T100000 B4725 C7.06e-8
M950 H1 C"e0heat" T1 ; create hot end heater (H1) on pin e0heat C(e0heat")and map it to sensor 1 (T1)
M307 H1 B0 R2.230 C226.6 D6.69 S1.00 V24.0 ; config heater 1 (H1), DISABLE BANG-BANG (B0), heating rate (R2.23), cooling time constant (C226.6), dead time (D6.69), max PWM (S1.00), calibration voltage (V24.0)
M143 H1 S300 ; set temperature limit for heater 1 to 300C; Fans
M950 F0 C"Fan0" Q500 ; create Parts Cooling fan 0 (F0) on pin fan0 (CFan0) and set its frequency (Q500)
M106 P0 C"Parts Cooling Fan" S0 H-1 ; Config fan 0 Parts Cooling Fan. Set Start Speed to 100% (S1) Thermostatic control is turned off (H-1)
M950 F1 C"Fan1" Q500 ; create Hot End fan 1 (F1) on pin fan1 (CFan1) and set its frequency (Q500)
M106 P1 C"Hot End" S1.0 L1 H1 T45 ; Config fan 1 Hot End values. Set Start Speed to 100% (S1) Set Thermostatic control to on (H1) Set on Temp to 45C (T45)
M950 F2 C"Fan2" Q500 ; create CPU Case Fan fan 2 (F2) on pin fan2 (CFan2) and set its frequency (Q500)
M106 P2 C"CPU Case Fan Fan 2" S1 H-1 ; Config fan 2 CPU Case Fan values. Set Start Speed to 100% (S1) Set Thermostatic control to off (H-1)
;M106 P2 C"CPU Case Fan Fan 2" H-1; Tools
M563 P0 S"Hot End" D0 H1 F0 ; define tool 0 Hot End Set Extruder Drive to 0 (D0) Set Heater to Heater 1 (H1) Set Fan to Fan 0 (F0)
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Miscellaneous
M207 S1.5 F7200 Z0.2 ;Firmware Retraction
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
T0 ; select first toolHome All
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Mar 31 2022 20:55:29 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
M280 P0 S160
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-240 Y-240 F6000 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-240 Y-240 F240 ; move slowly to X and Y axis endstops once more (second pass)
G1 X117.5 Y117.5 F3000 ; move to bed center
G30 ; move Z down stopping at the endstop
G1 Z5 F3000 ; raise z up 5
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
M280 P0 S160homez.g
G1 X117.5 Y117.5
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 Z-255 F6000 ; move Z down until the endstop is triggered
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
M280 P0 S160
M280 P0 S10
G30
G90
G1 Z20 F4000
M280 P0 S160M122 Report
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 0
MCU temperature: min 17.8, current 22.1, max 22.4
Supply voltage: min 24.9, current 25.1, max 25.4, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, SG min/max not available
Driver 1: position 0, standstill, SG min/max not available
Driver 2: position 0, standstill, SG min/max not available
Driver 3: position 0, standstill, SG min/max not available
Driver 4: position 0, standstill, SG min/max not available
Driver 5: position 0
Driver 6: position 0
Driver 7: position 0
Driver 8: position 0
Driver 9: position 0
Driver 10: position 0
Driver 11: position 0
Date/time: 2022-12-04 12:42:26
Cache data hit count 4294967295
Slowest loop: 5.51ms; fastest: 0.17ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 15.59ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.26
WiFi MAC address f4:cf:a2:e2:e1:d1
WiFi Vcc 3.43, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 21968
WiFi IP address 192.168.110.3
WiFi signal strength -40dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
Bed G
; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Mar 31 2022 20:55:29 GMT-0400 (Eastern Daylight Time)
M561 ; clear any bed transform
M557 X50:220 Y20:220 P3
G29 ; probe the bed and enable compensation - WiFi -
-
@JADoglio do you have deployprobe.g and retractprobe.g in your sys folder?
-
@jay_s_uk Good question. Yes and I should have included that. And using M98 they both work as expected. Thanks
-
@JADoglio what M98 are you using to call them?
-
@jay_s_uk M98 P"deployprobe.g" M98 P"retractprobe.g"
-
@JADoglio said in BLTouch and : Pin 'zprobe.in' is not free:
M574 Z1 S1 P"^zprobe.in"
oh, remove this line from your config.g
-
@JADoglio that should allow M401 and M402 to work then as they appear to be in the correct place
-
@jay_s_uk If I remove that what will define my Z endstop?
-
@JADoglio you can't define a pin more than once for anything. you don't need any M574 line for Z to use a probe. none of my printers have a z endstop defined
-
@jay_s_uk OK thanks. I didn't realize that. I will give it a try. I am doing a PID Autotune on the bed right now as I just replaced that as well. Once it is done I will try your suggestion.
-
@JADoglio Thanks You very much. I don't care how many hours I spend printing, building printers, and upgrading there is always something new to learn and thankfully someone out there to teach it.
-
-