Example using DISCO L4R9I BSP driver files from ST Cube delivery

Dependencies:   BSP_DISCO_L4R9I

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "stm32l4r9i_discovery_lcd.h"
00003 #include "stlogo.h"
00004 
00005 int main()
00006 {
00007     char desc[50];
00008 
00009     printf("\nSTART DISCO-L4R9I LCD EXAMPLE\n");
00010 
00011     /* Avoid deepsleep */
00012     sleep_manager_lock_deep_sleep();
00013 
00014     if (BSP_LCD_Init() != LCD_OK) {
00015         error("BSP_LCD_Init");
00016     }
00017 
00018     while (BSP_LCD_IsFrameBufferAvailable() != LCD_OK);
00019 
00020     /* Set LCD Foreground Layer  */
00021     BSP_LCD_SelectLayer(LTDC_DEFAULT_ACTIVE_LAYER);
00022 
00023     BSP_LCD_SetFont(&LCD_DEFAULT_FONT);
00024 
00025     /* Clear the LCD */
00026     BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
00027     BSP_LCD_Clear(LCD_COLOR_WHITE);
00028 
00029     /* Set the LCD Text Color */
00030     BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE);
00031 
00032     /* Display LCD messages */
00033     BSP_LCD_DisplayStringAt(0, 50, (uint8_t *)"DISCO_L4R9I BSP", CENTER_MODE);
00034     BSP_LCD_DisplayStringAt(0, 75, (uint8_t *)"Drivers examples", CENTER_MODE);
00035 
00036     /* Draw Bitmap */
00037     BSP_LCD_DrawBitmap((BSP_LCD_GetXSize() - 80) / 2, 105, (uint8_t *)stlogo);
00038 
00039     BSP_LCD_SetFont(&Font16);
00040     BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() - 70, (uint8_t *)"Thank you", CENTER_MODE);
00041 
00042     BSP_LCD_SetFont(&Font16);
00043     BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
00044     BSP_LCD_FillRect(0, BSP_LCD_GetYSize() / 2, BSP_LCD_GetXSize(), 80);
00045     BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
00046     BSP_LCD_SetBackColor(LCD_COLOR_BLUE);
00047     BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 10, (uint8_t *)"Check API in", CENTER_MODE);
00048     BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 25, (uint8_t *)"BSP_DISCO_L4R9I/Drivers/BSP/", CENTER_MODE);
00049     BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 40, (uint8_t *)"STM32L4R9I-Discovery/", CENTER_MODE);
00050     BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 55, (uint8_t *)"stm32l4r9i_discovery_lcd.h", CENTER_MODE);
00051 
00052     /* Refresh display */
00053     BSP_LCD_Refresh();
00054 }