Example using DISCO L4R9I BSP driver files from ST Cube delivery

Dependencies:   BSP_DISCO_L4R9I

Committer:
Jerome Coutant
Date:
Tue Nov 26 14:53:03 2019 +0100
Revision:
0:d369fd9b2db2
LCD demo creation for DISCO_L4R9I

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jerome Coutant 0:d369fd9b2db2 1 #include "mbed.h"
Jerome Coutant 0:d369fd9b2db2 2 #include "stm32l4r9i_discovery_lcd.h"
Jerome Coutant 0:d369fd9b2db2 3 #include "stlogo.h"
Jerome Coutant 0:d369fd9b2db2 4
Jerome Coutant 0:d369fd9b2db2 5 int main()
Jerome Coutant 0:d369fd9b2db2 6 {
Jerome Coutant 0:d369fd9b2db2 7 char desc[50];
Jerome Coutant 0:d369fd9b2db2 8
Jerome Coutant 0:d369fd9b2db2 9 printf("\nSTART DISCO-L4R9I LCD EXAMPLE\n");
Jerome Coutant 0:d369fd9b2db2 10
Jerome Coutant 0:d369fd9b2db2 11 /* Avoid deepsleep */
Jerome Coutant 0:d369fd9b2db2 12 sleep_manager_lock_deep_sleep();
Jerome Coutant 0:d369fd9b2db2 13
Jerome Coutant 0:d369fd9b2db2 14 if (BSP_LCD_Init() != LCD_OK) {
Jerome Coutant 0:d369fd9b2db2 15 error("BSP_LCD_Init");
Jerome Coutant 0:d369fd9b2db2 16 }
Jerome Coutant 0:d369fd9b2db2 17
Jerome Coutant 0:d369fd9b2db2 18 while (BSP_LCD_IsFrameBufferAvailable() != LCD_OK);
Jerome Coutant 0:d369fd9b2db2 19
Jerome Coutant 0:d369fd9b2db2 20 /* Set LCD Foreground Layer */
Jerome Coutant 0:d369fd9b2db2 21 BSP_LCD_SelectLayer(LTDC_DEFAULT_ACTIVE_LAYER);
Jerome Coutant 0:d369fd9b2db2 22
Jerome Coutant 0:d369fd9b2db2 23 BSP_LCD_SetFont(&LCD_DEFAULT_FONT);
Jerome Coutant 0:d369fd9b2db2 24
Jerome Coutant 0:d369fd9b2db2 25 /* Clear the LCD */
Jerome Coutant 0:d369fd9b2db2 26 BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
Jerome Coutant 0:d369fd9b2db2 27 BSP_LCD_Clear(LCD_COLOR_WHITE);
Jerome Coutant 0:d369fd9b2db2 28
Jerome Coutant 0:d369fd9b2db2 29 /* Set the LCD Text Color */
Jerome Coutant 0:d369fd9b2db2 30 BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE);
Jerome Coutant 0:d369fd9b2db2 31
Jerome Coutant 0:d369fd9b2db2 32 /* Display LCD messages */
Jerome Coutant 0:d369fd9b2db2 33 BSP_LCD_DisplayStringAt(0, 50, (uint8_t *)"DISCO_L4R9I BSP", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 34 BSP_LCD_DisplayStringAt(0, 75, (uint8_t *)"Drivers examples", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 35
Jerome Coutant 0:d369fd9b2db2 36 /* Draw Bitmap */
Jerome Coutant 0:d369fd9b2db2 37 BSP_LCD_DrawBitmap((BSP_LCD_GetXSize() - 80) / 2, 105, (uint8_t *)stlogo);
Jerome Coutant 0:d369fd9b2db2 38
Jerome Coutant 0:d369fd9b2db2 39 BSP_LCD_SetFont(&Font16);
Jerome Coutant 0:d369fd9b2db2 40 BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() - 70, (uint8_t *)"Thank you", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 41
Jerome Coutant 0:d369fd9b2db2 42 BSP_LCD_SetFont(&Font16);
Jerome Coutant 0:d369fd9b2db2 43 BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
Jerome Coutant 0:d369fd9b2db2 44 BSP_LCD_FillRect(0, BSP_LCD_GetYSize() / 2, BSP_LCD_GetXSize(), 80);
Jerome Coutant 0:d369fd9b2db2 45 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
Jerome Coutant 0:d369fd9b2db2 46 BSP_LCD_SetBackColor(LCD_COLOR_BLUE);
Jerome Coutant 0:d369fd9b2db2 47 BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 10, (uint8_t *)"Check API in", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 48 BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 25, (uint8_t *)"BSP_DISCO_L4R9I/Drivers/BSP/", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 49 BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 40, (uint8_t *)"STM32L4R9I-Discovery/", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 50 BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize() / 2 + 55, (uint8_t *)"stm32l4r9i_discovery_lcd.h", CENTER_MODE);
Jerome Coutant 0:d369fd9b2db2 51
Jerome Coutant 0:d369fd9b2db2 52 /* Refresh display */
Jerome Coutant 0:d369fd9b2db2 53 BSP_LCD_Refresh();
Jerome Coutant 0:d369fd9b2db2 54 }