Skip to content

Conversation

@seokhun-eom24
Copy link
Contributor

This update modifies lcd_init_put_image to handle splash image rendering during boot.

  • Normal boot: Renders splash_normal.bmp.
  • Silent boot: Renders splash_silent.bmp.
  • No splash image: Turns LCD off.

The existing LCD logo rendering code is replaced with splash image handling.
A new sample splash_normal.bmp is added for 800x480 LCD.

Implementation builds on PR #6990 (lcd_render_bmp function).

@sunghan-chang
Copy link
Contributor

@anjana348 @namanjain7 @abhinav-s235 Could you review this PR to change initial screen output?

fclose(test_file);

ASSERT(dev->setpower);
ret = dev->setpower(dev, CONFIG_LCD_MAXPOWER);
Copy link
Contributor

@anjana348 anjana348 Oct 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Earlier we were keeping LCD off in silent reboot case, now We are powering on LCD in both cases and setting different bmp image for silent reboot case.
And if bmp file is not present, driver registration will not be done
has the requirement changed like above?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are powering on LCD in both cases and setting different bmp image for silent reboot case
-> Right.

And if bmp file is not present, driver registration will not be done
-> Only LCD OFF. l'll fix it in this commit.

Thank you for Checking.

@seokhun-eom24 seokhun-eom24 force-pushed the 251002-lcd-splash-image branch 3 times, most recently from b4886bf to 33f4306 Compare October 13, 2025 01:42
}

/* Check if BMP file exists before rendering */
FILE *test_file = fopen(bmp_file_path, "rb");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. There is double checking of file which is not needed , here and also in lcd_render_bmp(). Can be removed from one place.
  2. You have added an extra file "app1" in commit. Is it needed?

Copy link
Contributor Author

@seokhun-eom24 seokhun-eom24 Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. There is double checking of file which is not needed , here and also in lcd_render_bmp(). Can be removed from one place.
  2. You have added an extra file "app1" in commit. Is it needed?
  1. I know this is double check, but we need to check file here for not turn on the LCD when file is not exist.
    If this check is removed, LCD on -> lcd_render_bmp return error for no bmp file -> LCD off. I think this can make backlight blinking.
    Do you have any good idea for about this?

  2. Of course not. I'll remove it. Thank you.

Copy link
Contributor Author

@seokhun-eom24 seokhun-eom24 Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additionally, I also think we should avoid double checking.
However, due to the current LCD driver structure, the setpower function performs both LCD initialization and PWM ON. So the backlight must be turned on to draw the screen.
If there is no BMP file, the backlight should not turn on, so I think this method is currently the best approach.
In the future, by improving the LCD driver to separate PWM and LCD control, it might be possible to control them separately.
What are your thoughts on the current best approach and the improvements needed in the future?
And please let me know if there's anything incorrect in what I said.

Copy link
Contributor

@anjana348 anjana348 Oct 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can seperate setpower into small functions
power_off
Power_on
backlight(power)

and use them in lcd_init_put_image() (not call setpower ) like

power on ()
ret = lcd_render_bmp(dev, bmp_file_path); // Displaying BMP image on LCD
if (ret != OK) {
power_off();
return;
}
backlight(CONFIG_LCD_MAXPOWER)

Then we don't need to do double checking.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your advice.
I add new small functions, lcd_power_off and lcd_power_on for reuse.
And also removed double checking.

@seokhun-eom24 seokhun-eom24 force-pushed the 251002-lcd-splash-image branch 4 times, most recently from 6d8b104 to 5e41510 Compare October 15, 2025 08:28
This update modifies lcd_init_put_image to handle splash image rendering during boot.

- Normal boot: Renders splash_normal.bmp.
- Silent boot: Renders splash_silent.bmp.
- No splash image: Turns LCD off.

The existing LCD logo rendering code is replaced with splash image handling.
A new sample splash_normal.bmp is added for 800x480 LCD.

Signed-off-by: seokhun-eom <[email protected]>
@seokhun-eom24 seokhun-eom24 force-pushed the 251002-lcd-splash-image branch from 5e41510 to 05302a8 Compare October 15, 2025 10:56
Copy link
Contributor

@anjana348 anjana348 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

We replace logo with splash image. So we don't need to use LCD logo anymore.
Remove LCD logo configuration options from Kconfig and defconfig and related code.
Delete lcd_logo_52_340.c file.

Signed-off-by: seokhun-eom <[email protected]>
@seokhun-eom24 seokhun-eom24 force-pushed the 251002-lcd-splash-image branch from 05302a8 to 3641fa9 Compare October 15, 2025 11:26
@sunghan-chang sunghan-chang merged commit 538725e into Samsung:master Oct 15, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants