7
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ Not working with marlin, but I'd better set #undef SHOW_BOOTSCREEN in Configure.h per documentation to disable the marlin boot screen than messing with any other header. $\endgroup$ – Tensibai Jan 3 '18 at 15:18
  • $\begingroup$ @Tensibai SHOW_BOOTSCREEN is also used to control the custom bootscreen. If I do this, my custom bootscreen will not display. $\endgroup$ – Programmer Jan 3 '18 at 16:57
  • $\begingroup$ I'd have to dig in the header more to see which part loads the custom boots screen and which replace it with the marlin one then. The file in dot h are headers (declarations) so modifying the function return is not very likely to help, there's probably a better approach to drive that $\endgroup$ – Tensibai Jan 3 '18 at 17:15
  • $\begingroup$ I know it is a header file and mentioned that in my question. There is no corresponding .cpp file for the ultralcd_impl_HD44780.h file. They put the code in the .h file. Check it out when you have time $\endgroup$ – Programmer Jan 3 '18 at 17:38
  • $\begingroup$ It doesn't need a corresponding cpp file, just that the various headers are defined, there's various code in this header called somewhere in the code 'main' function to really do something... I feel there's something not properly overridden in your custom file, but I can just guess without it and the documentation you follow $\endgroup$ – Tensibai Jan 3 '18 at 17:51
4
$\begingroup$

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  
| improve this answer | |
$\endgroup$
  • $\begingroup$ This worked!! Thank you!! $\endgroup$ – vidya Oct 22 '19 at 9:47
2
$\begingroup$

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 whitout more details on your machine it's hard to tell from Conditionals_LCD.h which will be used.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.