STM32F429I-Discovery BSP User Manual: stm32f429i_discovery_lcd.c File Reference

STM32F429I-Discovery BSP Driver

stm32f429i_discovery_lcd.c File Reference

This file includes the LCD driver for ILI9341 Liquid Crystal Display Modules of STM32F429I-Discovery kit (MB1075). More...

#include "stm32f429i_discovery_lcd.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 POLY_X(Z)   ((int32_t)((Points + Z)->X))
#define POLY_Y(Z)   ((int32_t)((Points + Z)->Y))
#define ABS(X)   ((X) > 0 ? (X) : -(X))

Functions

static void DrawChar (uint16_t Xpos, uint16_t Ypos, const uint8_t *c)
 Draws a character on LCD.
static void FillBuffer (uint32_t LayerIndex, void *pDst, uint32_t xSize, uint32_t ySize, uint32_t OffLine, uint32_t ColorIndex)
 Fills buffer.
static void ConvertLineToARGB8888 (void *pSrc, void *pDst, uint32_t xSize, uint32_t ColorMode)
 Converts Line to ARGB8888 pixel format.
uint8_t BSP_LCD_Init (void)
 Initializes the LCD.
uint32_t BSP_LCD_GetXSize (void)
 Gets the LCD X size.
uint32_t BSP_LCD_GetYSize (void)
 Gets the LCD Y size.
void BSP_LCD_LayerDefaultInit (uint16_t LayerIndex, uint32_t FB_Address)
 Initializes the LCD layers.
void BSP_LCD_SelectLayer (uint32_t LayerIndex)
 Selects the LCD Layer.
void BSP_LCD_SetLayerVisible (uint32_t LayerIndex, FunctionalState state)
 Sets a LCD Layer visible.
void BSP_LCD_SetLayerVisible_NoReload (uint32_t LayerIndex, FunctionalState State)
 Sets an LCD Layer visible without reloading.
void BSP_LCD_SetTransparency (uint32_t LayerIndex, uint8_t Transparency)
 Configures the Transparency.
void BSP_LCD_SetTransparency_NoReload (uint32_t LayerIndex, uint8_t Transparency)
 Configures the transparency without reloading.
void BSP_LCD_SetLayerAddress (uint32_t LayerIndex, uint32_t Address)
 Sets a LCD layer frame buffer address.
void BSP_LCD_SetLayerAddress_NoReload (uint32_t LayerIndex, uint32_t Address)
 Sets an LCD layer frame buffer address without reloading.
void BSP_LCD_SetLayerWindow (uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Sets the Display window.
void BSP_LCD_SetLayerWindow_NoReload (uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Sets display window without reloading.
void BSP_LCD_SetColorKeying (uint32_t LayerIndex, uint32_t RGBValue)
 Configures and sets the color Keying.
void BSP_LCD_SetColorKeying_NoReload (uint32_t LayerIndex, uint32_t RGBValue)
 Configures and sets the color keying without reloading.
void BSP_LCD_ResetColorKeying (uint32_t LayerIndex)
 Disables the color Keying.
void BSP_LCD_ResetColorKeying_NoReload (uint32_t LayerIndex)
 Disables the color keying without reloading.
void BSP_LCD_Relaod (uint32_t ReloadType)
 Disables the color keying without reloading.
uint32_t BSP_LCD_GetTextColor (void)
 Gets the LCD Text color.
uint32_t BSP_LCD_GetBackColor (void)
 Gets the LCD Background color.
void BSP_LCD_SetTextColor (uint32_t Color)
 Sets the Text color.
void BSP_LCD_SetBackColor (uint32_t Color)
 Sets the Background color.
void BSP_LCD_SetFont (sFONT *pFonts)
 Sets the Text Font.
sFONT * BSP_LCD_GetFont (void)
 Gets the Text Font.
uint32_t BSP_LCD_ReadPixel (uint16_t Xpos, uint16_t Ypos)
 Reads Pixel.
void BSP_LCD_Clear (uint32_t Color)
 Clears the hole LCD.
void BSP_LCD_ClearStringLine (uint32_t Line)
 Clears the selected line.
void BSP_LCD_DisplayChar (uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
 Displays one character.
void BSP_LCD_DisplayStringAt (uint16_t X, uint16_t Y, uint8_t *pText, Text_AlignModeTypdef mode)
 Displays a maximum of 60 char on the LCD.
void BSP_LCD_DisplayStringAtLine (uint16_t Line, uint8_t *ptr)
 Displays a maximum of 20 char on the LCD.
void BSP_LCD_DrawHLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Displays an horizontal line.
void BSP_LCD_DrawVLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Displays a vertical line.
void BSP_LCD_DrawLine (uint16_t X1, uint16_t Y1, uint16_t X2, uint16_t Y2)
 Displays an uni-line (between two points).
void BSP_LCD_DrawRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Displays a rectangle.
void BSP_LCD_DrawCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Displays a circle.
void BSP_LCD_DrawPolygon (pPoint Points, uint16_t PointCount)
 Displays an poly-line (between many points).
void BSP_LCD_DrawEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Displays an Ellipse.
void BSP_LCD_DrawBitmap (uint32_t X, uint32_t Y, uint8_t *pBmp)
 Displays a bitmap picture loaded in the internal Flash (32 bpp).
void BSP_LCD_FillRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Displays a full rectangle.
void BSP_LCD_FillCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Displays a full circle.
void BSP_LCD_FillTriangle (uint16_t X1, uint16_t X2, uint16_t X3, uint16_t Y1, uint16_t Y2, uint16_t Y3)
 Fill triangle.
void BSP_LCD_FillPolygon (pPoint Points, uint16_t PointCount)
 Displays a full poly-line (between many points).
void BSP_LCD_FillEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draw a full ellipse.
void BSP_LCD_DisplayOn (void)
 Enables the Display.
void BSP_LCD_DisplayOff (void)
 Disables the Display.
__weak void BSP_LCD_MspInit (void)
 Initializes the LTDC MSP.
void BSP_LCD_DrawPixel (uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code)
 Writes Pixel.

Variables

LTDC_HandleTypeDef LtdcHandler
static DMA2D_HandleTypeDef Dma2dHandler
static RCC_PeriphCLKInitTypeDef PeriphClkInitStruct
static uint32_t ActiveLayer = 0
static LCD_DrawPropTypeDef DrawProp [MAX_LAYER_NUMBER]
LCD_DrvTypeDef * LcdDrv

Detailed Description

This file includes the LCD driver for ILI9341 Liquid Crystal Display Modules of STM32F429I-Discovery kit (MB1075).

Author:
MCD Application Team
Version:
V2.1.5
Date:
27-January-2017
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 stm32f429i_discovery_lcd.c.

Generated on Fri Feb 17 2017 12:10:38 for STM32F429I-Discovery BSP User Manual by   doxygen 1.7.6.1