STM32F769I-Discovery BSP User Manual: stm32f769i_discovery_lcd.h File Reference

STM32F769I-Discovery BSP Drivers

stm32f769i_discovery_lcd.h File Reference

This file contains the common defines and functions prototypes for the stm32469i_discovery_lcd.c driver. More...

#include "../Components/otm8009a/otm8009a.h" #include "../Components/adv7533/adv7533.h"
#include "stm32f769i_discovery_sdram.h"
#include "stm32f769i_discovery.h"
#include "../../../Utilities/Fonts/fonts.h"
#include <string.h>

Go to the source code of this file.

Data Structures

struct  LCD_DrawPropTypeDef
 LCD Drawing main properties. More...
struct  Point
 LCD Drawing point (pixel) geometric definition. More...

Defines

#define BSP_LCD_DMA2D_IRQHandler   DMA2D_IRQHandler
#define BSP_LCD_DSI_IRQHandler   DSI_IRQHandler
#define BSP_LCD_LTDC_IRQHandler   LTDC_IRQHandler
#define BSP_LCD_LTDC_ER_IRQHandler   LTDC_ER_IRQHandler
#define LCD_LayerCfgTypeDef   LTDC_LayerCfgTypeDef
#define LCD_FB_START_ADDRESS   ((uint32_t)0xC0000000)
 LCD FB_StartAddress.
#define LTDC_MAX_LAYER_NUMBER   ((uint32_t) 2)
 Maximum number of LTDC layers.
#define LTDC_ACTIVE_LAYER_BACKGROUND   ((uint32_t) 0)
 LTDC Background layer index.
#define LTDC_ACTIVE_LAYER_FOREGROUND   ((uint32_t) 1)
 LTDC Foreground layer index.
#define LTDC_NB_OF_LAYERS   ((uint32_t) 2)
 Number of LTDC layers.
#define LTDC_DEFAULT_ACTIVE_LAYER   LTDC_ACTIVE_LAYER_FOREGROUND
 LTDC Default used layer index.
#define LCD_OK   0x00
 LCD status structure definition.
#define LCD_ERROR   0x01
#define LCD_TIMEOUT   0x02
#define LCD_OTM8009A_ID   ((uint32_t) 0)
 LCD Display OTM8009A DSI Virtual Channel ID.
#define HDMI_ADV7533_ID   ((uint32_t) 0)
 HDMI ADV7533 DSI Virtual Channel ID.
#define HDMI_FORMAT_720_480   ((uint8_t) 0x00) /*720_480 format choice of HDMI display */
 HDMI Foramt.
#define HDMI_FORMAT_720_576   ((uint8_t) 0x01) /*720_576 format choice of HDMI display*/
#define LCD_COLOR_BLUE   ((uint32_t) 0xFF0000FF)
 LCD color definitions values in ARGB8888 format.
#define LCD_COLOR_GREEN   ((uint32_t) 0xFF00FF00)
 Green value in ARGB8888 format.
#define LCD_COLOR_RED   ((uint32_t) 0xFFFF0000)
 Red value in ARGB8888 format.
#define LCD_COLOR_CYAN   ((uint32_t) 0xFF00FFFF)
 Cyan value in ARGB8888 format.
#define LCD_COLOR_MAGENTA   ((uint32_t) 0xFFFF00FF)
 Magenta value in ARGB8888 format.
#define LCD_COLOR_YELLOW   ((uint32_t) 0xFFFFFF00)
 Yellow value in ARGB8888 format.
#define LCD_COLOR_LIGHTBLUE   ((uint32_t) 0xFF8080FF)
 Light Blue value in ARGB8888 format.
#define LCD_COLOR_LIGHTGREEN   ((uint32_t) 0xFF80FF80)
 Light Green value in ARGB8888 format.
#define LCD_COLOR_LIGHTRED   ((uint32_t) 0xFFFF8080)
 Light Red value in ARGB8888 format.
#define LCD_COLOR_LIGHTCYAN   ((uint32_t) 0xFF80FFFF)
 Light Cyan value in ARGB8888 format.
#define LCD_COLOR_LIGHTMAGENTA   ((uint32_t) 0xFFFF80FF)
 Light Magenta value in ARGB8888 format.
#define LCD_COLOR_LIGHTYELLOW   ((uint32_t) 0xFFFFFF80)
 Light Yellow value in ARGB8888 format.
#define LCD_COLOR_DARKBLUE   ((uint32_t) 0xFF000080)
 Dark Blue value in ARGB8888 format.
#define LCD_COLOR_DARKGREEN   ((uint32_t) 0xFF008000)
 Light Dark Green value in ARGB8888 format.
#define LCD_COLOR_DARKRED   ((uint32_t) 0xFF800000)
 Light Dark Red value in ARGB8888 format.
#define LCD_COLOR_DARKCYAN   ((uint32_t) 0xFF008080)
 Dark Cyan value in ARGB8888 format.
#define LCD_COLOR_DARKMAGENTA   ((uint32_t) 0xFF800080)
 Dark Magenta value in ARGB8888 format.
#define LCD_COLOR_DARKYELLOW   ((uint32_t) 0xFF808000)
 Dark Yellow value in ARGB8888 format.
#define LCD_COLOR_WHITE   ((uint32_t) 0xFFFFFFFF)
 White value in ARGB8888 format.
#define LCD_COLOR_LIGHTGRAY   ((uint32_t) 0xFFD3D3D3)
 Light Gray value in ARGB8888 format.
#define LCD_COLOR_GRAY   ((uint32_t) 0xFF808080)
 Gray value in ARGB8888 format.
#define LCD_COLOR_DARKGRAY   ((uint32_t) 0xFF404040)
 Dark Gray value in ARGB8888 format.
#define LCD_COLOR_BLACK   ((uint32_t) 0xFF000000)
 Black value in ARGB8888 format.
#define LCD_COLOR_BROWN   ((uint32_t) 0xFFA52A2A)
 Brown value in ARGB8888 format.
#define LCD_COLOR_ORANGE   ((uint32_t) 0xFFFFA500)
 Orange value in ARGB8888 format.
#define LCD_COLOR_TRANSPARENT   ((uint32_t) 0xFF000000)
 Transparent value in ARGB8888 format.
#define LCD_DEFAULT_FONT   Font24
 LCD default font.
#define LCD_DSI_PIXEL_DATA_FMT_RBG888   DSI_RGB888
 Possible values of pixel data format (ie color coding) transmitted on DSI Data lane in DSI packets.
#define LCD_DSI_PIXEL_DATA_FMT_RBG565   DSI_RGB565

Typedefs

typedef PointpPoint
 Pointer on LCD Drawing point (pixel) geometric definition.

Enumerations

enum  Text_AlignModeTypdef { CENTER_MODE = 0x01, RIGHT_MODE = 0x02, LEFT_MODE = 0x03 }
 LCD drawing Line alignment mode definitions. More...
enum  LCD_OrientationTypeDef { LCD_ORIENTATION_PORTRAIT = 0x00, LCD_ORIENTATION_LANDSCAPE = 0x01, LCD_ORIENTATION_INVALID = 0x02 }
 LCD_OrientationTypeDef Possible values of Display Orientation. More...

Functions

uint8_t BSP_LCD_Init (void)
 Initializes the DSI LCD.
uint8_t BSP_LCD_InitEx (LCD_OrientationTypeDef orientation)
 Initializes the DSI LCD.
uint8_t BSP_LCD_HDMIInitEx (uint8_t format)
__weak void BSP_LCD_MspDeInit (void)
 De-Initializes the BSP LCD Msp Application can surcharge if needed this function implementation.
__weak void BSP_LCD_MspInit (void)
 Initialize the BSP LCD Msp.
void BSP_LCD_Reset (void)
 BSP LCD Reset Hw reset the LCD DSI activating its XRES signal (active low for some time) and desactivating it later.
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_SetXSize (uint32_t imageWidthPixels)
 Set the LCD X size.
void BSP_LCD_SetYSize (uint32_t imageHeightPixels)
 Set the LCD Y size.
void BSP_LCD_LayerDefaultInit (uint16_t LayerIndex, uint32_t FB_Address)
 Initializes the LCD layers.
void BSP_LCD_SetTransparency (uint32_t LayerIndex, uint8_t Transparency)
 Configures the transparency.
void BSP_LCD_SetLayerAddress (uint32_t LayerIndex, uint32_t Address)
 Sets an LCD layer frame buffer address.
void BSP_LCD_SetColorKeying (uint32_t LayerIndex, uint32_t RGBValue)
 Configures and sets the color keying.
void BSP_LCD_ResetColorKeying (uint32_t LayerIndex)
 Disables the color keying.
void BSP_LCD_SetLayerWindow (uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Sets display window.
void BSP_LCD_SelectLayer (uint32_t LayerIndex)
 Selects the LCD Layer.
void BSP_LCD_SetLayerVisible (uint32_t LayerIndex, FunctionalState State)
 Sets an LCD Layer visible.
void BSP_LCD_SetTextColor (uint32_t Color)
 Sets the LCD text color.
uint32_t BSP_LCD_GetTextColor (void)
 Gets the LCD text color.
void BSP_LCD_SetBackColor (uint32_t Color)
 Sets the LCD background color.
uint32_t BSP_LCD_GetBackColor (void)
 Gets the LCD background color.
void BSP_LCD_SetFont (sFONT *fonts)
 Sets the LCD text font.
sFONT * BSP_LCD_GetFont (void)
 Gets the LCD text font.
uint32_t BSP_LCD_ReadPixel (uint16_t Xpos, uint16_t Ypos)
 Reads an LCD pixel.
void BSP_LCD_DrawPixel (uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code)
 Draws a pixel on LCD.
void BSP_LCD_Clear (uint32_t Color)
 Clears the whole currently active layer of LTDC.
void BSP_LCD_ClearStringLine (uint32_t Line)
 Clears the selected line in currently active layer.
void BSP_LCD_DisplayStringAtLine (uint16_t Line, uint8_t *ptr)
 Displays a maximum of 60 characters on the LCD.
void BSP_LCD_DisplayStringAt (uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode)
 Displays characters in currently active layer.
void BSP_LCD_DisplayChar (uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
 Displays one character in currently active layer.
void BSP_LCD_DrawHLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Draws an horizontal line in currently active layer.
void BSP_LCD_DrawVLine (uint16_t Xpos, uint16_t Ypos, uint16_t Length)
 Draws a vertical line in currently active layer.
void BSP_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_LCD_DrawRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Draws a rectangle in currently active layer.
void BSP_LCD_DrawCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Draws a circle in currently active layer.
void BSP_LCD_DrawPolygon (pPoint Points, uint16_t PointCount)
 Draws an poly-line (between many points) in currently active layer.
void BSP_LCD_DrawEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draws an ellipse on LCD in currently active layer.
void BSP_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_LCD_FillRect (uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Draws a full rectangle in currently active layer.
void BSP_LCD_FillCircle (uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
 Draws a full circle in currently active layer.
void BSP_LCD_FillPolygon (pPoint Points, uint16_t PointCount)
 Draws a full poly-line (between many points) in currently active layer.
void BSP_LCD_FillEllipse (int Xpos, int Ypos, int XRadius, int YRadius)
 Draws a full ellipse in currently active layer.
void BSP_LCD_DisplayOn (void)
 Switch back on the display if was switched off by previous call of BSP_LCD_DisplayOff().
void BSP_LCD_DisplayOff (void)
 Switch Off the display.
void BSP_LCD_SetBrightness (uint8_t BrightnessValue)
 Set the brightness value.

Variables

DMA2D_HandleTypeDef hdma2d_discovery

Detailed Description

This file contains the common defines and functions prototypes for the stm32469i_discovery_lcd.c driver.

Author:
MCD Application Team
Version:
V2.0.0
Date:
30-December-2016
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 stm32f769i_discovery_lcd.h.

Generated on Fri Dec 30 2016 18:30:07 for STM32F769I-Discovery BSP User Manual by   doxygen 1.7.6.1