BSP files for STM32H747I-Discovery Copy from ST Cube delivery

Dependents:   DISCO_H747I_LCD_demo DISCO_H747I_AUDIO_demo

Embed: (wiki syntax)

« Back to documentation index

Exported Functions

Exported Functions
[STM32H747I_DISCOVERY_LCD]

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)
 Initializes the DSI for HDMI monitor.
void BSP_LCD_Reset (void)
 BSP LCD Reset Hw reset the LCD DSI activating its XRES signal (active low for some time) and deactivating 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_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_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_SetLayerWindow (uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
 Sets display window.
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_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_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_DisplayChar (uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
 Displays one character in currently active layer.
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_DisplayStringAtLine (uint16_t Line, uint8_t *ptr)
 Displays a maximum of 60 characters on the LCD.
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.
void DSI_IO_WriteCmd (uint32_t NbrParams, uint8_t *pParams)
 DCS or Generic short/long write command.
__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_DrawPixel (uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code)
 Draws a pixel on LCD.
static uint16_t LCD_IO_GetID (void)
 Returns the ID of connected screen by checking the HDMI (adv7533 component) ID or LCD DSI (via TS ID) ID.

Function Documentation

void BSP_LCD_Clear ( uint32_t  Color )

Clears the whole currently active layer of LTDC.

Parameters:
Color,:Color of the background
Return values:
None

Definition at line 959 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_ClearStringLine ( uint32_t  Line )

Clears the selected line in currently active layer.

Parameters:
Line,:Line to be cleared
Return values:
None

Definition at line 970 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DisplayChar ( uint16_t  Xpos,
uint16_t  Ypos,
uint8_t  Ascii 
)

Displays one character in currently active layer.

Parameters:
Xpos,:Start column address
Ypos,:Line where to display the character shape.
Ascii,:Character ascii code This parameter must be a number between Min_Data = 0x20 and Max_Data = 0x7E
Return values:
None

Definition at line 990 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DisplayOff ( void   )

Switch Off the display.

Enter DSI ULPM mode if was allowed and configured in Dsi Configuration.

Return values:
None

Definition at line 1576 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DisplayOn ( void   )

Switch back on the display if was switched off by previous call of BSP_LCD_DisplayOff().

Exit DSI ULPM mode if was allowed and configured in Dsi Configuration.

Return values:
None

Definition at line 1550 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DisplayStringAt ( uint16_t  Xpos,
uint16_t  Ypos,
uint8_t *  Text,
Text_AlignModeTypdef  Mode 
)

Displays characters in currently active layer.

Parameters:
Xpos,:X position (in pixel)
Ypos,:Y position (in pixel)
Text,:Pointer to string to display on LCD
Mode,:Display mode This parameter can be one of the following values:

  • CENTER_MODE
  • RIGHT_MODE
  • LEFT_MODE
Return values:
None

Definition at line 1008 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DisplayStringAtLine ( uint16_t  Line,
uint8_t *  ptr 
)

Displays a maximum of 60 characters on the LCD.

Parameters:
Line,:Line where to display the character shape
ptr,:Pointer to string to display on LCD
Return values:
None

Definition at line 1071 of file stm32h747i_discovery_lcd.c.

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.

Parameters:
Xpos,:Bmp X position in the LCD
Ypos,:Bmp Y position in the LCD
pbmp,:Pointer to Bmp picture address in the internal Flash
Return values:
None

Definition at line 1321 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawCircle ( uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Radius 
)

Draws a circle in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
Radius,:Circle radius
Return values:
None

Definition at line 1213 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawEllipse ( int  Xpos,
int  Ypos,
int  XRadius,
int  YRadius 
)

Draws an ellipse on LCD in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
XRadius,:Ellipse X radius
YRadius,:Ellipse Y radius
Return values:
None

Definition at line 1288 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawHLine ( uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Length 
)

Draws an horizontal line in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
Length,:Line length
Return values:
None

Definition at line 1083 of file stm32h747i_discovery_lcd.c.

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.

Parameters:
x1,:Point 1 X position
y1,:Point 1 Y position
x2,:Point 2 X position
y2,:Point 2 Y position
Return values:
None

Definition at line 1120 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawPixel ( uint16_t  Xpos,
uint16_t  Ypos,
uint32_t  RGB_Code 
)

Draws a pixel on LCD.

Parameters:
Xpos,:X position
Ypos,:Y position
RGB_Code,:Pixel color in ARGB mode (8-8-8-8)
Return values:
None

Definition at line 1748 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawPolygon ( pPoint  Points,
uint16_t  PointCount 
)

Draws an poly-line (between many points) in currently active layer.

Parameters:
Points,:Pointer to the points array
PointCount,:Number of points
Return values:
None

Definition at line 1260 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawRect ( uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Width,
uint16_t  Height 
)

Draws a rectangle in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
Width,:Rectangle width
Height,:Rectangle height
Return values:
None

Definition at line 1195 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_DrawVLine ( uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Length 
)

Draws a vertical line in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
Length,:Line length
Return values:
None

Definition at line 1101 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_FillCircle ( uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Radius 
)

Draws a full circle in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
Radius,:Circle radius
Return values:
None

Definition at line 1403 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_FillEllipse ( int  Xpos,
int  Ypos,
int  XRadius,
int  YRadius 
)

Draws a full ellipse in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
XRadius,:Ellipse X radius
YRadius,:Ellipse Y radius
Return values:
None

Definition at line 1519 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_FillPolygon ( pPoint  Points,
uint16_t  PointCount 
)

Draws a full poly-line (between many points) in currently active layer.

Parameters:
Points,:Pointer to the points array
PointCount,:Number of points
Return values:
None

Definition at line 1451 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_FillRect ( uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Width,
uint16_t  Height 
)

Draws a full rectangle in currently active layer.

Parameters:
Xpos,:X position
Ypos,:Y position
Width,:Rectangle width
Height,:Rectangle height
Return values:
None

Definition at line 1382 of file stm32h747i_discovery_lcd.c.

uint32_t BSP_LCD_GetBackColor ( void   )

Gets the LCD background color.

Return values:
Usedbackground color

Definition at line 895 of file stm32h747i_discovery_lcd.c.

sFONT* BSP_LCD_GetFont ( void   )

Gets the LCD text font.

Return values:
Usedlayer font

Definition at line 913 of file stm32h747i_discovery_lcd.c.

uint32_t BSP_LCD_GetTextColor ( void   )

Gets the LCD text color.

Return values:
Usedtext color.

Definition at line 877 of file stm32h747i_discovery_lcd.c.

uint32_t BSP_LCD_GetXSize ( void   )

Gets the LCD X size.

Return values:
UsedLCD X size

Definition at line 699 of file stm32h747i_discovery_lcd.c.

uint32_t BSP_LCD_GetYSize ( void   )

Gets the LCD Y size.

Return values:
UsedLCD Y size

Definition at line 708 of file stm32h747i_discovery_lcd.c.

uint8_t BSP_LCD_HDMIInitEx ( uint8_t  format )

Initializes the DSI for HDMI monitor.

The ititialization is done as below:

  • DSI PLL ititialization
  • DSI ititialization
  • LTDC ititialization
  • DSI-HDMI ADV7533 adapter device ititialization
    Parameters:
    format: HDMI format could be HDMI_FORMAT_720_480 or HDMI_FORMAT_720_576
    Return values:
    LCDstate

Definition at line 480 of file stm32h747i_discovery_lcd.c.

uint8_t BSP_LCD_Init ( void   )

Initializes the DSI LCD.

Return values:
LCDstate

Definition at line 239 of file stm32h747i_discovery_lcd.c.

uint8_t BSP_LCD_InitEx ( LCD_OrientationTypeDef  orientation )

Initializes the DSI LCD.

The ititialization is done as below:

  • DSI PLL ititialization
  • DSI ititialization
  • LTDC ititialization
  • OTM8009A LCD Display IC Driver ititialization
    Parameters:
    orientationDisplay orientation
    Return values:
    LCDstate

< LcdClk = 26400 kHz

< Vertical start active time in units of lines

< Vertical Back Porch time in units of lines

< Vertical Front Porch time in units of lines

< Vertical Active time in units of lines = imageSize Y in pixels to display

< Horizontal start active time in units of lcdClk

< Horizontal Back Porch time in units of lcdClk

< Horizontal Front Porch time in units of lcdClk

< Horizontal Active time in units of lcdClk = imageSize X in pixels to display

Definition at line 254 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_LayerDefaultInit ( uint16_t  LayerIndex,
uint32_t  FB_Address 
)

Initializes the LCD layers.

Parameters:
LayerIndex,:Layer foreground or background
FB_Address,:Layer frame buffer
Return values:
None

Definition at line 739 of file stm32h747i_discovery_lcd.c.

__weak void BSP_LCD_MspDeInit ( void   )

De-Initializes the BSP LCD Msp Application can surcharge if needed this function implementation.

Return values:
None

Disable IRQ of LTDC IP

Disable IRQ of DMA2D IP

Disable IRQ of DSI IP

Force and let in reset state LTDC, DMA2D and DSI Host + Wrapper IPs

Disable the LTDC, DMA2D and DSI Host and Wrapper clocks

Definition at line 1678 of file stm32h747i_discovery_lcd.c.

__weak void BSP_LCD_MspInit ( void   )

Initialize the BSP LCD Msp.

Application can surcharge if needed this function implementation

Return values:
None

Enable the LTDC clock

Toggle Sw reset of LTDC IP

Enable the DMA2D clock

Toggle Sw reset of DMA2D IP

Enable DSI Host and wrapper clocks

Soft Reset the DSI Host and wrapper

NVIC configuration for LTDC interrupt that is now enabled

NVIC configuration for DMA2D interrupt that is now enabled

NVIC configuration for DSI interrupt that is now enabled

Definition at line 1705 of file stm32h747i_discovery_lcd.c.

uint32_t BSP_LCD_ReadPixel ( uint16_t  Xpos,
uint16_t  Ypos 
)

Reads an LCD pixel.

Parameters:
Xpos,:X position
Ypos,:Y position
Return values:
RGBpixel color

Definition at line 924 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_Reset ( void   )

BSP LCD Reset Hw reset the LCD DSI activating its XRES signal (active low for some time) and deactivating it later.

Return values:
None

Definition at line 669 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_ResetColorKeying ( uint32_t  LayerIndex )

Disables the color keying.

Parameters:
LayerIndex,:Layer foreground or background

Definition at line 858 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SelectLayer ( uint32_t  LayerIndex )

Selects the LCD Layer.

Parameters:
LayerIndex,:Layer foreground or background

Definition at line 772 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetBackColor ( uint32_t  Color )

Sets the LCD background color.

Parameters:
Color,:Layer background color code ARGB(8-8-8-8)

Definition at line 886 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetBrightness ( uint8_t  BrightnessValue )

Set the brightness value.

Parameters:
BrightnessValue,:[00: Min (black), 100 Max]
Return values:
None

Definition at line 1601 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetColorKeying ( uint32_t  LayerIndex,
uint32_t  RGBValue 
)

Configures and sets the color keying.

Parameters:
LayerIndex,:Layer foreground or background
RGBValue,:Color reference

Definition at line 847 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetFont ( sFONT *  fonts )

Sets the LCD text font.

Parameters:
fonts,:Layer font to be used

Definition at line 904 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetLayerAddress ( uint32_t  LayerIndex,
uint32_t  Address 
)

Sets an LCD layer frame buffer address.

Parameters:
LayerIndex,:Layer foreground or background
Address,:New LCD frame buffer value

Definition at line 817 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetLayerVisible ( uint32_t  LayerIndex,
FunctionalState  State 
)

Sets an LCD Layer visible.

Parameters:
LayerIndex,:Visible Layer
State,:New state of the specified layer This parameter can be one of the following values:

  • ENABLE
  • DISABLE

Definition at line 785 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetLayerWindow ( uint16_t  LayerIndex,
uint16_t  Xpos,
uint16_t  Ypos,
uint16_t  Width,
uint16_t  Height 
)

Sets display window.

Parameters:
LayerIndex,:Layer index
Xpos,:LCD X position
Ypos,:LCD Y position
Width,:LCD window width
Height,:LCD window height

Definition at line 832 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetTextColor ( uint32_t  Color )

Sets the LCD text color.

Parameters:
Color,:Text color code ARGB(8-8-8-8)

Definition at line 868 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetTransparency ( uint32_t  LayerIndex,
uint8_t  Transparency 
)

Configures the transparency.

Parameters:
LayerIndex,:Layer foreground or background.
Transparency,:Transparency This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF

Definition at line 805 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetXSize ( uint32_t  imageWidthPixels )

Set the LCD X size.

Parameters:
imageWidthPixels: uint32_t image width in pixels unit
Return values:
None

Definition at line 718 of file stm32h747i_discovery_lcd.c.

void BSP_LCD_SetYSize ( uint32_t  imageHeightPixels )

Set the LCD Y size.

Parameters:
imageHeightPixels: uint32_t image height in lines unit

Definition at line 727 of file stm32h747i_discovery_lcd.c.

void DSI_IO_WriteCmd ( uint32_t  NbrParams,
uint8_t *  pParams 
)

DCS or Generic short/long write command.

Parameters:
NbrParams,:Number of parameters. It indicates the write command mode: If inferior to 2, a long write command is performed else short.
pParams,:Pointer to parameter values table.
Return values:
None

Definition at line 1627 of file stm32h747i_discovery_lcd.c.

static uint16_t LCD_IO_GetID ( void   ) [static]

Returns the ID of connected screen by checking the HDMI (adv7533 component) ID or LCD DSI (via TS ID) ID.

Return values:
LCDID

Definition at line 1644 of file stm32h747i_discovery_lcd.c.