0

I am working on a filament unload script. My current problem is that the script always does an auto bed leveling.

I have two scripts to test this issue:

LevelBed.gcode:

G28             ; Auto home
G29             ; Level bed
M500            ; Save to EEPROM

Move.gcode:

M501            ; Restore from EEPROM (try to eliminate bed leveling)
G21             ; Metric values
G90             ; Absolute positioning
G28             ; Auto home
M420 S1         ; Enable bed leveling
G1 X100 Y100 Z100 F1000 ; Move
M400            ; Finish moves

Move.gcode does bed leveling (LevelBed.gcode was executed before).

How is it possible to do a movement from G-code without doing automatic bed leveling?


My intention with Move.gcode:

  • Do an auto home
  • Do a move to (100, 100, 100)

The problem:

  • Bed leveling happens between the Auto Home and the Move. (It probes the bed at 9 points)

I think G28 Auto Home is not required for filament load/unload scripts. My donor scripts for this purpose just contained them. I made an example script to just rotate the feeder gear and it seems to be working.

ColdExtrude.gcode

G21           ; Metric values
M83           ; Extruder relative mode
M302 S5       ; Allow extrusion above 5C
G1 E-10 F200  ; Pull back filament a bit
M400

So I cannot eliminate doing an Auto Bed Leveling sequence after G28, but maybe I even won't need to do it :)


This question remains relevant. I'll need a good print startup code for the Cura slicer. It should do something like:

  • Heat the bed
  • Auto Home
  • Auto Bed Level
  • Auto Home again
  • Lift up the hot-end a bit and heat it up
  • Draw a prime line

I am afraid if this problem is not solved, an other Auto Bed Level sequence will be executed between the 2nd Auto Home and the hot-end lift up.


I have recently noticed that the my load/unload scripts based on ColdExtrude.gcode are not always working. Sometimes the printer starts Auto Bed Leveling without knowing the origin position and badly hits the X/Y movement limits. So I have to do G28 in my filament load/unload scripts, which involves an implicit Auto Bed Leveling sequence, which is time wasting.

So my question is still active:

How to do extrusion from .gcode without implicit execution of an Auto Bed Leveling sequence?

Endre
  • 131
  • 1
  • 6

1 Answers1

0

A second G28 should not be necessary as it can be replaced by a G0 or G1 command, but in the end it should work when RESTORE_LEVELING_AFTER_G28 has been set in firmware weren't it for a bug present in the Marlin 2.0.7.2 and 2.0.x bug-fix release.

0scar
  • 37,708
  • 12
  • 68
  • 156