9

I added a custom boot screen to marlin by adding _Bootscreen.h to the project root folder and it works fine. The problem is that the custom screen shows quickly and disappear then the marlin boot screen is then displayed for a longer time. I want to remove the marlin boot screen.

I dug around in the source code and found a void lcd_bootscreen function in the ultralcd_impl_HD44780.h header. This seems to be the function that is loading the marlin's boot screen due to the comments in the code. I added return; to the first line of code in this function but the marlin's boot screen is still loading.

How can I remove the marlin boot screen. How can make my custom boot screen wait for more time?

The marlin version is 1.1.8.

Programmer
  • 411
  • 3
  • 6
  • 14

3 Answers3

4

You can add return; command in the ultralcd_impl_DOGM.h file.

  void lcd_bootscreen() { 
    #if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
      lcd_custom_bootscreen();
    #endif
    return;  // Add this line  
agarza
  • 1,714
  • 2
  • 16
  • 33
ParadoX
  • 41
  • 1
2

I was able to remove the Marlin bootscreen and still retain the custom one by commenting out the following line in marlinui_DOGM.cpp (Marlin/Marlin/src/lcd/dogm/marlinui_DOGM.cpp):

void MarlinUI::show_bootscreen() {
    TERN_(SHOW_CUSTOM_BOOTSCREEN, show_custom_bootscreen());
    // show_marlin_bootscreen();
  }

Tested and working as of Marlin 2.0.x.

agarza
  • 1,714
  • 2
  • 16
  • 33
2

So after some search:

  1. You can't (at least should not) remove the Marlin bootscreen according to this issue SHOW_CUSTOM_BOOTSCREEN hides Marlin logo, quote:

    We wanted an additional logo - not a replacement of the Marlin logo.

  2. According to the code here there's a constant CUSTOM_BOOTSCREEN_TIMEOUT taking the default value of 2500 which is 2.5 seconds but you can redefine it in your _Boostrap.h file.

This constant is only available for DOGM lcd screens which is chosen by the code here in ultralcd.cpp and without more details on your machine it's hard to tell from Conditionals_LCD.h which will be used.

agarza
  • 1,714
  • 2
  • 16
  • 33
Tensibai
  • 123
  • 6