<p>I have a 3D printer Ender 3 V2. I bought a BLTouch sensor for it and compiled my own Marlin firmware.</p>
<p>Now, my print run of the part is like this:</p>
<ol>
<li>I heat up the table</li>
<li>Starting table calibration</li>
<li>After the calibration is completed, I click save to the EEPROM.</li>
<li>I start printing by selecting a file.</li>
</ol>
<p>At this point, all printing is fine, but I would like to reduce the number of steps. Selected the print file and left. The printer heats itself, calibrates itself and then starts printing.
I tried turning on <code>RESTORE_LEVELING_AFTER_G28</code> and <code>ENABLE_LEVELING_AFTER_G28</code> separately in the firmware. The compiler won't let me turn them on together.</p>
<p>And to use such a G-code:</p>
<pre><code>G92 E0 ; Reset Extruder
G28 ; Home all axes
G29 ; Bed Leveling
G28 ; Home all axes
M420 S1 : Load Saved Mesh
G1 Z2.0 F3000 ; Move Z Axis up a little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up a little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
</code></pre>
<p>The printer simply ignores the <code>G29</code> command and <strong>starts printing without calibration</strong>. What can be the problem?</p>

CC BY-SA 4.0
2023-01-17T12:54:00.373Z
@0scar I still do not understand the difference between RESTORE_LEVELING_AFTER_G28 and ENABLE_LEVELING_AFTER_G28. I have read many websites, but I don't get it. Can you explain it briefly? Thank you!
gfd2
CC BY-SA 4.0
2023-01-17T13:15:45.140Z
`RESTORE_...` restores the prior state before `G28` (this can be enabled or disabled!), `ENABLE_...` will enable the leveling no matter what the previous state before `G28` was. Personally I use `ENABLE_...`. You need to fix your start G-code and use it accordingly to the firmware settings. E.g. is `ENABLE_...` is set, you don't need `M420...`
0scar
CC BY-SA 4.0
2023-01-18T06:51:51.037Z
@0scar it didn't work
gfd2
CC BY-SA 4.0
2023-01-18T07:11:10.320Z
If you "print" a file only containing `G29` does that work?
0scar
CC BY-SA 4.0
2023-01-18T10:01:00.080Z
@0scar I tried it, it doesn't work
gfd2
CC BY-SA 4.0
2023-01-18T10:29:16.293Z
Then you have a configuration error and as such not using leveling.
0scar
<creality-ender-3><marlin><bed-leveling><firmware>
Printer ignores G29 command
gfd2
# Printer ignores G29 command

(Asked by: username_0 on 2023-01-17)

I have a 3D printer Ender 3 V2. I bought a BLTouch sensor for it and compiled my own Marlin firmware.

Now, my print run of the part is like this:

1. I heat up the table
2. Starting table calibration
3. After the calibration is completed, I click save to the EEPROM.
4. I start printing by selecting a file.

At this point, all printing is fine, but I would like to reduce the number of steps. Selected the print file and left. The printer heats itself, calibrates itself and then starts printing.
I tried turning on `RESTORE_LEVELING_AFTER_G28` and `ENABLE_LEVELING_AFTER_G28` separately in the firmware. The compiler won't let me turn them on together.

And to use such a G-code:

```
G92 E0 ; Reset Extruder
G28 ; Home all axes
G29 ; Bed Leveling
G28 ; Home all axes
M420 S1 : Load Saved Mesh
G1 Z2.0 F3000 ; Move Z Axis up a little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up a little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

```

The printer simply ignores the `G29` command and **starts printing without calibration**. What can be the problem?

**Tags:** creality-ender-3, marlin, bed-leveling, firmware

> **Comments:**
> **username_0**: @username_1 I still do not understand the difference between RESTORE_LEVELING_AFTER_G28 and ENABLE_LEVELING_AFTER_G28. I have read many websites, but I don't get it. Can you explain it briefly? Thank you!  
> **username_1**: `RESTORE_...` restores the prior state before `G28` (this can be enabled or disabled!), `ENABLE_...` will enable the leveling no matter what the previous state before `G28` was. Personally I use `ENABLE_...`. You need to fix your start G-code and use it accordingly to the firmware settings. E.g. is `ENABLE_...` is set, you don't need `M420...`  
> **username_0**: @username_1 it didn't work  
> **username_1**: If you "print" a file only containing `G29` does that work?  
> **username_0**: @username_1 I tried it, it doesn't work  
> **username_1**: Then you have a configuration error and as such not using leveling.  

---

## 0 answers

