WebRadioApp  0.1
ew_bsp_graphics.c File Reference

This file is part of the interface (glue layer) between an Embedded Wizard generated UI application and the board support package (BSP) of a dedicated target. Please note: The implementation of this module is partially based on examples that are provided within the STM32 cube firmware. In case you want to adapt this module to your custom specific hardware, please adapt the hardware initialization code according your needs or integrate the generated initialization code created by using the tool CubeMX. This file contains an interface to the DMA2D hardware of the STM32 target in order to provide graphics acceleration for the Embedded Wizard generated UI applications. This interface is intended to be used only by the Graphics Engine of Embedded Wizard. More...

#include "ewconfig.h"
#include <string.h>
#include "ew_bsp_graphics.h"
#include "ew_bsp_clock.h"
Include dependency graph for ew_bsp_graphics.c:

Functions

void HAL_DMA2D_MspInit (DMA2D_HandleTypeDef *hdma2d)
 DMA2D MSP Initialization This function configures the hardware resources used in this example: More...
 
void HAL_DMA2D_MspDeInit (DMA2D_HandleTypeDef *hdma2d)
 DMA2D MSP De-Initialization This function frees the hardware resources used in this example: More...
 
int EwBspGraphicsInit (uint32_t aDstColorMode)
 Initialize the DMA2D graphics accelerator. More...
 
void EwBspGraphicsDone (void)
 Deinitialize the DMA2D graphics accelerator. More...
 
void EwBspGraphicsWaitForCompletion ()
 The function EwBspGraphicsWaitForCompletion returns as soon as the DMA2D has completed a pending graphics instruction. If the DMA2D is in idle mode, the function returns immediately. More...
 
void EwBspGraphicsConcurrentOperation (int aEnable)
 The function EwBspGraphicsConcurrentOperation configures the operation mode of DMA2D and CPU. If concurrent operation is enabled, the CPU will work in parallel while the DMA2D is transferring data. If concurrent operation is disabled, the CPU will wait everytime the DMA2D is active. This feature is intended to limit the memory bandwidth, e.g. during display update or other bandwidth consuming activities. More...
 
void EwBspGraphicsFill (uint32_t aDstAddr, uint32_t aDstOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColor)
 The function EwBspGraphicsFill is used by the Graphics Engine, when a rectangular area should be filled with a constant color by using the DMA2D functionality. More...
 
void EwBspGraphicsFillBlend (uint32_t aDstAddr, uint32_t aDstOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColor)
 The function EwBspGraphicsFillBlend is used by the Graphics Engine, when a rectangular area should be blended with a constant color by using the DMA2D functionality. More...
 
void EwBspGraphicsCopy (uint32_t aDstAddr, uint32_t aSrcAddr, uint32_t aDstOffset, uint32_t aSrcOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColorMode, uint32_t aSrcColor)
 The function EwBspGraphicsCopy is used by the Graphics Engine, when a source bitmap should be copied into a destination bitmap by using the DMA2D functionality. More...
 
void EwBspGraphicsCopyBlend (uint32_t aDstAddr, uint32_t aSrcAddr, uint32_t aDstOffset, uint32_t aSrcOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColorMode, uint32_t aSrcColor)
 The function EwBspGraphicsCopyBlend is used by the Graphics Engine, when a source bitmap should be blended over a destination bitmap by using the DMA2D functionality. More...
 
void EwBspGraphicsLoadClut (uint32_t aClutAddr, uint32_t aClutSize)
 The function EwBspGraphicsLoadClut is used by the Graphics Engine, when a Index8 source bitmap should be copied into a destination bitmap by using the DMA2D functionality. In this case, the CLUT of the DMA2D has to be loaded with the given CLUT. More...
 
void DMA2D_IRQHandler (void)
 DMA2D Interrupt Handler. More...
 

Variables

static volatile char TransferInProgress = 0
 
static char ConcurrentOperation = 1
 
static DMA2D_HandleTypeDef Accelerator
 

Detailed Description

This file is part of the interface (glue layer) between an Embedded Wizard generated UI application and the board support package (BSP) of a dedicated target. Please note: The implementation of this module is partially based on examples that are provided within the STM32 cube firmware. In case you want to adapt this module to your custom specific hardware, please adapt the hardware initialization code according your needs or integrate the generated initialization code created by using the tool CubeMX. This file contains an interface to the DMA2D hardware of the STM32 target in order to provide graphics acceleration for the Embedded Wizard generated UI applications. This interface is intended to be used only by the Graphics Engine of Embedded Wizard.

Author
Kevin Bello (k.bel.nosp@m.lo@t.nosp@m.um.de)
Version
0.1
Date
2021-04-17