MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.18k stars 19.21k forks source link

[BUG] Typo in lcd/dwin/e3v2/dwin.cpp PSTR("G28O\nG29") #21377

Closed enderextender closed 3 years ago

enderextender commented 3 years ago

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

I think this is a bug. dwin.cpp in lcd/dwin/e3v2

#if HAS_ONESTEP_LEVELING

  /* Leveling */
  void HMI_Leveling() {
    Popup_Window_Leveling();
    DWIN_UpdateLCD();
    queue.inject_P(PSTR("G28O\nG29"));
  }

#endif

the PSTR says G280 but it should be G28

Bug Timeline

No response

Expected behavior

Auto level menu should issue G28 followed by G29, however, the G28 string has a typo preventing homing and thus will crash the printer if user has not homed first.

Actual behavior

On ender 3 v2 LCD screen, go to Auto Level. It starts auto level process without homing.

Steps to Reproduce

On ender 3 v2 LCD screen, go to Auto Level. It starts auto level process without homing.

Version of Marlin Firmware

2.0.x-bugfix

Printer model

Ender 3 V2

Electronics

Creality 4.2.2 board

Add-ons

No response

Your Slicer

No response

Host Software

No response

/ Leveling / void HMI_Leveling(void) { Popup_Window_Leveling(); DWIN_UpdateLCD(); queue.inject_P(PSTR("G28O\nG29")); }

GMagician commented 3 years ago

G28 O exists, it homes only if home has not been done

ellensp commented 3 years ago

That is not a bug The command is G28 O (capital O) G28 - Auto Home, [O] Optional. If the position is known then exit without homing.

enderextender commented 3 years ago

So G28O with no spaces is acceptable? Then why does it not work? When I use the auto level button with the printer at a non-home position it crashes.

ellensp commented 3 years ago

yip, spaces are purely for human readability, they are not required. Some new serial protocols, for eg meatpack, remove spaces where it can, to stop wasting time sending them to the controller.

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.