STM3210E_EVAL BSP User Manual: stm3210e_eval_lcd.c File Reference

STM3210E_EVAL BSP

stm3210e_eval_lcd.c File Reference

This file includes the driver for Liquid Crystal Display (LCD) module mounted on STM3210E-EVAL evaluation board. More...

#include "stm3210e_eval_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)((pPoints + (Z))->X))
#define POLY_Y(Z)   ((int32_t)((pPoints + (Z))->Y))
#define MAX_HEIGHT_FONT   17
#define MAX_WIDTH_FONT   24
#define OFFSET_BITMAP   54
#define ABS(X)   ((X) > 0 ? (X) : -(X))

Functions

static void LCD_DrawPixel (uint16_t Xpos, uint16_t Ypos, uint16_t RGBCode)
 Draws a pixel on LCD.
static void LCD_DrawChar (uint16_t Xpos, uint16_t Ypos, const uint8_t *pChar)
 Draws a character on LCD.
static void LCD_SetDisplayWindow (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Sets display window.
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.
uint16_t BSP_LCD_GetTextColor (void)
 Gets the LCD text color.
uint16_t BSP_LCD_GetBackColor (void)
 Gets the LCD background color.
void BSP_LCD_SetTextColor (uint16_t Color)
 Sets the LCD text color.
void BSP_LCD_SetBackColor (uint16_t Color)
 Sets the LCD background color.
void BSP_LCD_SetFont (sFONT *pFonts)
 Sets the LCD text font.
sFONT * BSP_LCD_GetFont (void)
 Gets the LCD text font.
void BSP_LCD_Clear (uint16_t Color)
 Clears the hole LCD.
void BSP_LCD_ClearStringLine (uint16_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 Xpos, uint16_t Ypos, uint8_t *pText, Line_ModeTypdef Mode)
 Displays characters on the LCD.
void BSP_LCD_DisplayStringAtLine (uint16_t Line, uint8_t *pText)
 Displays a character on the LCD.
uint16_t BSP_LCD_ReadPixel (uint16_t Xpos, uint16_t Ypos)
 Reads an LCD pixel.
void BSP_LCD_DrawHLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Draws an horizontal line.
void BSP_LCD_DrawVLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Draws a vertical line.
void BSP_LCD_DrawLine (uint16_t X1, uint16_t Y1, uint16_t X2, uint16_t Y2)
 Draws an uni-line (between two points).
void BSP_LCD_DrawRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Draws a rectangle.
void BSP_LCD_DrawCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Draws a circle.
void BSP_LCD_DrawPolygon (pPoint pPoints, uint16_t PointCount)
 Draws an poly-line (between many points).
void BSP_LCD_DrawEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draws an ellipse on LCD.
void BSP_LCD_DrawBitmap (uint16_t Xpos, uint16_t Ypos, uint8_t *pBmp)
 Draws 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)
 Draws a full rectangle.
void BSP_LCD_FillCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Draws 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 pPoints, uint16_t PointCount)
 Displays a full poly-line (between many points).
void BSP_LCD_FillEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draws a full ellipse.
void BSP_LCD_DisplayOn (void)
 Enables the display.
void BSP_LCD_DisplayOff (void)
 Disables the display.

Variables

LCD_DrawPropTypeDef DrawProp
static LCD_DrvTypeDef * lcd_drv
static uint8_t bitmap [MAX_HEIGHT_FONT *MAX_WIDTH_FONT *2+OFFSET_BITMAP] = {0}
static uint32_t LCD_SwapXY = 0

Detailed Description

This file includes the driver for Liquid Crystal Display (LCD) module mounted on STM3210E-EVAL evaluation board.

Author:
MCD Application Team
Version:
V6.0.2
Date:
29-April-2016
  ==============================================================================
                     ##### How to use this driver #####
  ==============================================================================  
  [..] 
   (#) This driver is used to drive indirectly an LCD TFT.
   
   (#) This driver supports the AM-240320L8TNQW00H (ILI9320), AM-240320LDTNQW-05H (ILI9325)
       AM-240320LDTNQW-02H (SPFD5408B) and AM240320LGTNQW-01H (HX8347D) LCD
       mounted on MB895 daughter board 
       
   (#) The ILI9320, ILI9325, SPFD5408B and HX8347D components driver MUST be included with this driver.

   (#) Initialization steps:
       (++) Initialize the LCD using the BSP_LCD_Init() function.
  
   (#) Display on LCD
       (++) Clear the hole LCD using yhe BSP_LCD_Clear() function or only one specified 
            string line using the BSP_LCD_ClearStringLine() function.
       (++) Display a character on the specified line and column using the BSP_LCD_DisplayChar()
            function or a complete string line using the BSP_LCD_DisplayStringAtLine() function.
       (++) Display a string line on the specified position (x,y in pixel) and align mode
            using the BSP_LCD_DisplayStringAtLine() function.          
       (++) Draw and fill a basic shapes (dot, line, rectangle, circle, ellipse, .. bitmap, raw picture) 
            on LCD using a set of functions.    
  
Attention:

© COPYRIGHT(c) 2016 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 stm3210e_eval_lcd.c.

Generated on Fri Feb 24 2017 17:15:11 for STM3210E_EVAL BSP User Manual by   doxygen 1.7.6.1