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] Display will turn black when increasing BAUDRATE for Ender 3 v2 #19897

Closed foxylion closed 3 years ago

foxylion commented 3 years ago

Bug Description

When I increase the BAUDRATE from the default 115200 to 250000 the screen of the printer will stay black after powering on the printer. but it is still fully usable via USB (OctoPrint in my case).

I would expect that changing the BAUDRATE property should not have any effects on the display.

My Configurations

See attached the used configurations (based on the Ender 3 v2 example configurations. Only thing modified is #define BAUDRATE 250000.

Ender-3 V2.zip

Steps to Reproduce

  1. Buy an Ender 3 v2 ;-)
  2. Copy the configuration files from here into the Marin project to ./Marlin.
  3. Build the project
  4. Flash the firmware
    - Copy the firmware onto the SD card
    - Plug-in the SD card into the printer, power it on
    - Wait for firmware to be flashed
    - Turn of the power of the printer
    - Flash the screen with the `DWIN_SET` files (see here: https://marlin.crc.id.au/faq/Ender%203%20V2/#dwin_screen)
  5. Check that everything works as expected ✔️
  6. Change the BAUDRATE property in Configuration.h to 250000.
  7. Build the project again
  8. Repeat the flashing-process (used another filename for the firmware file)
  9. Screen does no longer turn on after flashing :x:

When rolling back the the firmware built in step 3 everything works fine again.

Expected behavior: The screen should turn on, even when using #define BAUDRATE 250000

Actual behavior: The screen doesn't turn on.

Additional Information

I also tried to flash the printer/screen multiple times, because that was mentioned in some Facebook group, but did not help.

ellensp commented 3 years ago

The DWIN_CREALITY_LCD is a serial device! Marlin by default uses a global baudrate. So yes, changing the baudrate breaks your lcd, as expected. NOT A BUG

sjasonsmith commented 3 years ago

You may find a workaround documented here: https://github.com/MarlinFirmware/Marlin/issues/18231

ellensp commented 3 years ago

Or customize the code a little Find MYSERIAL1.begin(BAUDRATE); in Marlin/src/MarlinCore.cpp Change to MYSERIAL1.begin(115200); makes your display always 115200 independent of BAUDRATE

foxylion commented 3 years ago

Thank you @ellensp and @sjasonsmith. Sorry for reporting this as a bug. But thank you for your help!

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.