Solved HeightMap Bug
-
RRF 3.4Beta3
Duet 3 Mini 5+
Toolboard V1.1 with BL Touch
Paneldue
RatRig V-Core 3 500I'm having a really odd issue happening consistently. I've tried two different Duet Mini 5+'s, different SD cards, checked a couple firmware revisions and it's happening on them all. (3.4 betas, and 3.3 stable)
When a G29 is done and a heightmap is saved, everything is fine. The mesh is saved to the system directory and there are no issues printing or viewing it. But if the printer is power cycled my Paneldue will no longer connect to the board, and Z Leveling will no longer function.
9/13/2021, 10:49:13 PM Error: in file macro line 17: G30: Z probe 0 not found Error: G0/G1: insufficient axes homed 9/13/2021, 10:49:11 PM G28 Error: in file macro line 17: G30: Z probe 0 not found
(I originally thought it was an error with the InputShaping plugin that's in testing but after fully deleting it, it is still happening. See https://forum.duet3d.com/topic/24859/inputshaping-plugin-0-1-0-rc7-released-repacked/21?_=1632808845077 for that post)
When deleting the heightmap and power cycling the system everything works fine. It only happens when a heightmap is currently in the system directly and the printer is power cycled.
I've double checked that everything is fully updated to whatever firmware revision I'm using at the time for testing. Any ideas?
-
@nightlonk42 Please share your config.g and config-override.g if it is present in /sys.
-
@chrishamm said in HeightMap Bug:
@nightlonk42 Please share your config.g and config-override.g if it is present in /sys.
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"V-Core 3" ; set printer name M669 K1 ; CoreXY G29 S1 ; Set Units to Millimeters ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Wait for the Tool Board G4 S1 ;wait for expansion boards to start ;; Drives M569 P0.0 S0 D3 ; physical drive 0.0 goes backwards M569 P0.1 S0 D3 ; physical drive 0.1 goes backwards M569 P0.2 S0 D3 ; physical drive 0.2 goes backwards M569 P0.3 S1 D3 ; physical drive 0.3 goes backwards M569 P0.4 S1 D3 ; physical drive 0.4 goes forwards M569 P121.0 S0 D3 ; physical drive 0.5 goes backwards M584 X0.4 Y0.3 Z0.0:0.1:0.2 E121.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z1600.00 E412 ; set steps per mm M906 X1300 Y1300 Z1300 E650 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M566 X400.00 Y400.00 Z6.00 E3600 P1 ; set maximum instantaneous speed changes (mm/min) M203 X10800.00 Y10800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) M201 X4000.00 Y4000.00 Z100.00 E300.00 ; set accelerations (mm/s^2) ;; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X510 Y500 Z500 S0 ; set axis maxima ;; Endstops M574 X1 S1 P"121.io3.in" ; configure active high endstops M574 Y2 S1 P"io1.in" ; configure active high endstops M574 Z1 S2 ; configure Z-probe endstop for low end on Z M671 X-4.5:250:304.5 Y-4.52:505:-4.52 S15 ; define positions of Z leadscrews or bed leveling screws M557 X10:480 Y20:480 P5 ; define 5x5 mesh grid ;; Heaters ; Motherboard CPU M308 S3 Y"mcu-temp" A"CPU Temp" ; configure sensor 3 as on-chip MCU temperature sensor ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out5 and map it to sensor 0 M307 H0 B0 R0.365 C1124.6 D9.30 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S130 ; set temperature limit for heater 0 to 130C ;; HotEnd M308 S1 P"121.temp0" Y"pt1000" ; T1000 sensor 1 (toolboard) M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1 M307 H1 B0 R2.998 C108.1 D5.56 S1.00 V24.0 ; disable bang-bang mode for Nozzle Heater and set PWM limit M143 H1 S350 ; set temperature limit for heater 1 ;; Fans M950 F0 C"121.out2" ; create fan 1 on pin out6 and set its frequency M106 P0 C"Heatsink Fan" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on M950 F1 C"121.out1" ; create fan 0 on pin out3 and set its frequency M106 P1 C"Print Fan" S0 H-1 Q500 ; set fan 0 name and value. Thermostatic control is turned off M950 F2 C"out5" ; create fan 2 on pin out5 and set its frequency M106 P2 C"Back Fan" H-1 S255 ; set fan 2 value M106 P1 I1 F25000 ;; Tools M563 P0 D0 H1 F1 ; 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 T0 ; Select tool 0 ;; Z-Probe ; BLTouch M950 S0 C"121.io0.out" ; Create a servo pin on io0.out M558 P9 C"121.io0.in" H10 F240 T10800 A5 ; set Z probe type to unmodulated and the dive height + speeds G31 P25 X-28.00 Y-13.00 Z2.80 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed ;Accelerometer M955 I10 P121.0 ; Accelerometer 121:0 with orientation 10 ;; Misc ;M207 S.6 R0 F13300 ;set firmware retraction M572 D0 S0.1 ; Pressure Advance M575 P1 S1 B57600 ; enable support for PanelDue
-
Bump
I've gone through my config file a couple times and can't figure out anything that could be causing it.
-
Please post your homing files and bed.g and/or mesh.g if you have them.
The error message is referencing a G30 on line 17 of some file.
Thanks.
Frederick
-
I do not have a mesh.g but here are all the files I have.
The weirdest thing is this all happens before anything is even homed. Paneldue right away won't connect, and the Z probe is uncontrollable
bed.g
; this script compensates for what the Z offset is ; so if G31 P500 X-30 Y-15 Z1.7 then first probe will be at ; X30 Y20 (when G30 P0 X0 Y5) M561 ; clear any bed transform G30 P0 X8 Y20 Z-99999 ; probe near a leadscrew G30 P1 X263 Y485 Z-99999 ; probe near a leadscrew G30 P2 X485 Y15 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
deployprobe.g
; deployprobe.g ; Called to deploy a physical Z probe ; M280 P0 S10 ; Deploy the BLTouch pin
homeall.g
; BLTouch M280 P0 S160 ; Precautionary alarm release M280 P0 S90 ; Ensure the pin is raised G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-625 Y605 F3600 ; move quickly to X and U axis endstops and stop there (first pass) G1 H1 X-625 F1800 ; move quickly to X and U axis endstops and stop there (first pass) G1 H1 Y605 F1800 ; move quickly to X and U axis endstops and stop there (first pass) G1 H2 Y3 X3 F360 ; go back a few mm G1 H1 X-625 Y605 F360 ; move slowly to X and U axis endstops once more (second pass) G1 H1 X-625 F360 ; move slowly to X and U axis endstops once more (second pass) G1 H1 Y605 F360 ; move slowly to X and U axis endstops once more (second pass) G90 ; absolute positioning G1 X250 Y250 F10000 ; go to first probe point G30 ; home Z by probing the bed G91 ; relative positioning G1 Z5 F100 ; lift Z relative to current position G90 ; absolute positioning
homex.g
G91 ; relative positioning ;G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-625 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X2 Y2 F6000 ; go back a few mm G1 H1 X-625 F360 ; move slowly to X axis endstop once more (second pass) ;G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homey.g
G91 ; relative positioning ;G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y605 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F6000 ; go back a few mm G1 H1 Y605 F360 ; move slowly to Y axis endstop once more (second pass) ;G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homez.g
; BLTouch M280 P0 S160 ; Precautionary alarm release M280 P0 S90 ; Ensure the pin is raised G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X250 Y250 F10000 ; go to first probe point G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
pause.g
; pause.g ; called when a print from SD card is paused ; ; generated by RepRapFirmware Configuration Tool v3.3.2 on Sun Sep 19 2021 18:36:33 GMT-0400 (Eastern Daylight Time) M83 ; relative extruder moves G1 E-10 F3600 ; retract 10mm of filament G91 ; relative positioning G1 Z5 F360 ; lift Z by 5mm G90 ; absolute positioning G1 X0 Y0 F6000 ; go to X=0 Y=0
resume.g
; resume.g ; called before a print from SD card is resumed ; ; generated by RepRapFirmware Configuration Tool v3.3.2 on Sun Sep 19 2021 18:36:33 GMT-0400 (Eastern Daylight Time) G1 R1 X0 Y0 Z5 F6000 ; go to 5mm above position of the last print move G1 R1 X0 Y0 ; go back to the last print move M83 ; relative extruder moves G1 E10 F3600 ; extrude 10mm of filament
retractprobe.g
; retractprobe.g ; Called to retract a physical Z probe ; M280 P0 S90 ; Retract the BLTouch pin
-
Thanks for the files.
If I was having those issues for testing I would remove all of the non-typical things like the:
- the MCU temp sensing setup
- the accelerometer setup
- the M280 commands other than the ones in deploy/retract
The error message seems to be coming from homeall.g.
And the only thing I see out of the ordinary, at least in my experience, are the two M280 commands.
Since they are related to the probe and the probe seems to be causing an error I would wonder if they are somehow part of the problem.
I would also move the PanelDue config command to near the start of config.g
My thinking is that if there is an error in config.g it may be preventing the M575 at the end of config.g from being executed.
So if you move it near the start of config.g perhaps the PanelDue will be connected regardless of any error later on.
Just really trial-and-error at this point, trying to find things that give clues as to what is happening.
Frederick
-
I use firmware 3.3 just as a reference.
And I forgot to mention that when using the G30 P# Xaaa Ybbb Z-99999 syntax the X and Y values are the positions to be probed.
The firmware is taking into account the probe X and Y offsets and doing the math for you.
Frederick
-
You have a G29 S1 at the start of your config.g file that has a comment "Set units to Millimetres", but G29 S1 does not do that, I'm not sure it is a good idea to be loading a heightmap so early on before you have homed. Did you intend that G29 S1 to be a G21? You might also want to increase the length of the delay in the G4 that waits for the toolboard to be ready as it seems that your probe is not being detected and it is attached to the toolboard.
-
Oh and when you have been testing have you checked that you have the same version of the firmware on the mainboard and the toolboard?
-
@gloomyandy is today's big winner!
G29 S1 ; Set Units to Millimeters
When this is commented out it works fine.
RatRig's RepRap firmware page here has this listed. It's the cause of all the issues I've been having. I've contacted them and it should hopefully be fixed soon.
Thank you all soo much for the help! I seriously love this community