STM32L4R9I_EVAL BSP User Manual: stm32l4r9i_eval_dsi_lcd.c File Reference

STM32L4R9I_EVAL BSP

stm32l4r9i_eval_dsi_lcd.c File Reference

This file includes the driver for DSI Liquid Crystal Display (LCD) module mounted on STM32L4R9I_EVAL evaluation board. More...

#include "stm32l4r9i_eval_lcd.h" #include "stm32l4r9i_eval_dsi_lcd.h"
#include "stm32l4r9i_eval_gfxmmu_lut.h"
#include "stm32l4r9i_eval_io.h"
#include "../../../Utilities/Fonts/fonts.h"
#include "../../../Utilities/Fonts/font24.c"
#include "../../../Utilities/Fonts/font20.c"
#include "../../../Utilities/Fonts/font16.c"
#include "../../../Utilities/Fonts/font12.c"
#include "../../../Utilities/Fonts/font8.c"

Go to the source code of this file.

Defines

#define ABS(X)   ((X) > 0 ? (X) : -(X))
#define POLY_X(Z)   ((int32_t)((Points + (Z))->X))
#define POLY_Y(Z)   ((int32_t)((Points + (Z))->Y))

Functions

uint8_t BSP_DSI_LCD_DeInit (void)
 De-initialize the DSI LCD.
uint32_t BSP_DSI_LCD_GetXSize (void)
 Gets the LCD X size.
uint32_t BSP_DSI_LCD_GetYSize (void)
 Gets the LCD Y size.
uint8_t BSP_DSI_LCD_SelectLayer (uint32_t LayerIndex)
 Selects the LCD Layer.
uint8_t BSP_DSI_LCD_SetLayerVisible (uint32_t LayerIndex, FunctionalState State)
 Sets an LCD Layer visible.
uint8_t BSP_DSI_LCD_SetTransparency (uint32_t LayerIndex, uint8_t Transparency)
 Configures the transparency.
uint8_t BSP_DSI_LCD_SetColorKeying (uint32_t LayerIndex, uint32_t RGBValue)
 Configures and sets the color keying.
uint8_t BSP_DSI_LCD_ResetColorKeying (uint32_t LayerIndex)
 Disables the color keying.
void BSP_DSI_LCD_SetTextColor (uint32_t Color)
 Sets the LCD text color.
uint32_t BSP_DSI_LCD_GetTextColor (void)
 Gets the LCD text color.
void BSP_DSI_LCD_SetBackColor (uint32_t Color)
 Sets the LCD background color.
uint32_t BSP_DSI_LCD_GetBackColor (void)
 Gets the LCD background color.
void BSP_DSI_LCD_SetFont (sFONT *fonts)
 Sets the LCD text font.
sFONT * BSP_DSI_LCD_GetFont (void)
 Gets the LCD text font.
uint32_t BSP_DSI_LCD_ReadPixel (uint16_t Xpos, uint16_t Ypos)
 Reads an LCD pixel.
void BSP_DSI_LCD_Clear (uint32_t Color)
 Clears the whole currently active layer of LTDC.
void BSP_DSI_LCD_ClearStringLine (uint32_t Line)
 Clears the selected line in currently active layer.
void BSP_DSI_LCD_DisplayChar (uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
 Displays one character in currently active layer.
void BSP_DSI_LCD_DisplayStringAt (uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode)
 Displays characters in currently active layer.
void BSP_DSI_LCD_DisplayStringAtLine (uint16_t Line, uint8_t *ptr)
 Displays string on specified line of the LCD.
void BSP_DSI_LCD_DrawHLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Draws an horizontal line in currently active layer.
void BSP_DSI_LCD_DrawVLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Draws a vertical line in currently active layer.
void BSP_DSI_LCD_DrawLine (uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2)
 Draws an uni-line (between two points) in currently active layer.
void BSP_DSI_LCD_DrawRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Draws a rectangle in currently active layer.
void BSP_DSI_LCD_DrawCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Draws a circle in currently active layer.
void BSP_DSI_LCD_DrawPolygon (pPoint Points, uint16_t PointCount)
 Draws an poly-line (between many points) in currently active layer.
void BSP_DSI_LCD_DrawEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draws an ellipse on LCD in currently active layer.
void BSP_DSI_LCD_DrawBitmap (uint32_t Xpos, uint32_t Ypos, uint8_t *pbmp)
 Draws a bitmap picture loaded in the internal Flash (32 bpp) in currently active layer.
void BSP_DSI_LCD_FillRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Draws a full rectangle in currently active layer.
void BSP_DSI_LCD_FillCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Draws a full circle in currently active layer.
void BSP_DSI_LCD_FillPolygon (pPoint Points, uint16_t PointCount)
 Draws a full poly-line (between many points) in currently active layer.
void BSP_DSI_LCD_FillEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draws a full ellipse in currently active layer.
void BSP_DSI_LCD_DrawPixel (uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code)
 Draws a pixel on LCD.
void BSP_DSI_LCD_DisplayOn (void)
 Switch back on the display if was switched off by previous call of BSP_DSI_LCD_DisplayOff().
void BSP_DSI_LCD_DisplayOff (void)
 Switch Off the display.
void BSP_DSI_LCD_Refresh (void)
 Refresh the display.
uint8_t BSP_DSI_LCD_IsFrameBufferAvailable (void)
 Check if frame buffer is available.
void BSP_DSI_LCD_SetBrightness (uint8_t BrightnessValue)
 Set the brightness value.
__weak void BSP_DSI_LCD_DMA2D_IRQHandler (void)
 Handles DMA2D interrupt request.
__weak void BSP_DSI_LCD_DSI_IRQHandler (void)
 Handles DSI interrupt request.
__weak void BSP_DSI_LCD_LTDC_IRQHandler (void)
 Handles LTDC interrupt request.
__weak void BSP_DSI_LCD_LTDC_ER_IRQHandler (void)
 This function handles LTDC Error interrupt Handler.
__weak void BSP_DSI_LCD_MspDeInit (void)
 De-Initializes the BSP LCD Msp.
__weak void BSP_DSI_LCD_MspInit (void)
 Initialize the BSP LCD Msp.
void HAL_DSI_EndOfRefreshCallback (DSI_HandleTypeDef *hdsi)
 End of Refresh DSI callback.
static void LCD_Reset (void)
 LCD Reset Hw reset the LCD DSI activating its XRES signal (active low for some time) and desactivating it later.
static void DrawChar (uint16_t Xpos, uint16_t Ypos, const uint8_t *c)
 Draws a character on LCD.
static void FillTriangle (uint16_t x1, uint16_t x2, uint16_t x3, uint16_t y1, uint16_t y2, uint16_t y3)
 Fills a triangle (between 3 points).
static void LL_FillBuffer (uint32_t LayerIndex, void *pDst, uint32_t xSize, uint32_t ySize, uint32_t OffLine, uint32_t ColorIndex)
 Fills a buffer.
static void LL_ConvertLineToARGB8888 (void *pSrc, void *pDst, uint32_t xSize, uint32_t ColorMode)
 Converts a line to an ARGB8888 pixel format.

Variables

DMA2D_HandleTypeDef hdma2d_eval
static uint32_t bsp_lcd_initialized = 0
static uint32_t bsp_lcd_hse_to_disable = 0
static uint32_t ActiveLayer = LTDC_ACTIVE_LAYER_BACKGROUND
static LCD_DrawPropTypeDef DrawProp [LTDC_MAX_LAYER_NUMBER]

Detailed Description

This file includes the driver for DSI Liquid Crystal Display (LCD) module mounted on STM32L4R9I_EVAL evaluation board.

Author:
MCD Application Team
Attention:

© COPYRIGHT(c) 2017 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32l4r9i_eval_dsi_lcd.c.

Generated on Thu Oct 12 2017 10:53:59 for STM32L4R9I_EVAL BSP User Manual by   doxygen 1.7.6.1