STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_gfxmmu.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32L4xx_HAL_GFXMMU_H
22 #define STM32L4xx_HAL_GFXMMU_H
23 
24 #ifdef __cplusplus
25  extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32l4xx_hal_def.h"
30 
31 #if defined(GFXMMU)
32 
41 /* Exported types ------------------------------------------------------------*/
49 typedef enum
50 {
51  HAL_GFXMMU_STATE_RESET = 0x00U,
52  HAL_GFXMMU_STATE_READY = 0x01U,
53 }HAL_GFXMMU_StateTypeDef;
54 
58 typedef struct
59 {
60  uint32_t Buf0Address;
61  uint32_t Buf1Address;
62  uint32_t Buf2Address;
63  uint32_t Buf3Address;
65 
69 typedef struct
70 {
71  FunctionalState Activation;
72  uint32_t UsedInterrupts;
76 
80 typedef struct
81 {
82  uint32_t BlocksPerLine;
84  uint32_t DefaultValue;
88 
92 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1)
93 typedef struct __GFXMMU_HandleTypeDef
94 #else
95 typedef struct
96 #endif
97 {
98  GFXMMU_TypeDef *Instance;
100  HAL_GFXMMU_StateTypeDef State;
101  __IO uint32_t ErrorCode;
102 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1)
103  void (*ErrorCallback) (struct __GFXMMU_HandleTypeDef *hgfxmmu);
104  void (*MspInitCallback) (struct __GFXMMU_HandleTypeDef *hgfxmmu);
105  void (*MspDeInitCallback) (struct __GFXMMU_HandleTypeDef *hgfxmmu);
106 #endif
108 
112 typedef struct
113 {
114  uint32_t LineNumber;
116  uint32_t LineStatus;
118  uint32_t FirstVisibleBlock;
120  uint32_t LastVisibleBlock;
122  int32_t LineOffset;
127 
128 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1)
129 
132 typedef enum
133 {
138 
143 #endif
144 
148 /* End of exported types -----------------------------------------------------*/
149 
150 /* Exported constants --------------------------------------------------------*/
158 #define GFXMMU_256BLOCKS 0x00000000U
159 #define GFXMMU_192BLOCKS GFXMMU_CR_192BM
167 #define GFXMMU_AHB_MASTER_ERROR_IT GFXMMU_CR_AMEIE
168 #define GFXMMU_BUFFER0_OVERFLOW_IT GFXMMU_CR_B0OIE
169 #define GFXMMU_BUFFER1_OVERFLOW_IT GFXMMU_CR_B1OIE
170 #define GFXMMU_BUFFER2_OVERFLOW_IT GFXMMU_CR_B2OIE
171 #define GFXMMU_BUFFER3_OVERFLOW_IT GFXMMU_CR_B3OIE
179 #define GFXMMU_ERROR_NONE 0x00000000U
180 #define GFXMMU_ERROR_BUFFER0_OVERFLOW GFXMMU_SR_B0OF
181 #define GFXMMU_ERROR_BUFFER1_OVERFLOW GFXMMU_SR_B1OF
182 #define GFXMMU_ERROR_BUFFER2_OVERFLOW GFXMMU_SR_B2OF
183 #define GFXMMU_ERROR_BUFFER3_OVERFLOW GFXMMU_SR_B3OF
184 #define GFXMMU_ERROR_AHB_MASTER GFXMMU_SR_AMEF
185 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1)
186 #define GFXMMU_ERROR_INVALID_CALLBACK 0x00000100U
187 #endif
188 
195 #define GFXMMU_LUT_LINE_DISABLE 0x00000000U
196 #define GFXMMU_LUT_LINE_ENABLE GFXMMU_LUTxL_EN
204 /* End of exported constants -------------------------------------------------*/
205 
206 /* Exported macros -----------------------------------------------------------*/
215 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1)
216 #define __HAL_GFXMMU_RESET_HANDLE_STATE(__HANDLE__) do{ \
217  (__HANDLE__)->State = HAL_GFXMMU_STATE_RESET; \
218  (__HANDLE__)->MspInitCallback = NULL; \
219  (__HANDLE__)->MspDeInitCallback = NULL; \
220  } while(0)
221 #else
222 #define __HAL_GFXMMU_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_GFXMMU_STATE_RESET)
223 #endif
224 
228 /* End of exported macros ----------------------------------------------------*/
229 
230 /* Exported functions --------------------------------------------------------*/
238 /* Initialization and de-initialization functions *****************************/
239 HAL_StatusTypeDef HAL_GFXMMU_Init(GFXMMU_HandleTypeDef *hgfxmmu);
240 HAL_StatusTypeDef HAL_GFXMMU_DeInit(GFXMMU_HandleTypeDef *hgfxmmu);
243 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1)
244 /* GFXMMU callbacks register/unregister functions *****************************/
245 HAL_StatusTypeDef HAL_GFXMMU_RegisterCallback(GFXMMU_HandleTypeDef *hgfxmmu,
246  HAL_GFXMMU_CallbackIDTypeDef CallbackID,
247  pGFXMMU_CallbackTypeDef pCallback);
248 HAL_StatusTypeDef HAL_GFXMMU_UnRegisterCallback(GFXMMU_HandleTypeDef *hgfxmmu,
249  HAL_GFXMMU_CallbackIDTypeDef CallbackID);
250 #endif
251 
258 /* Operation functions ********************************************************/
259 HAL_StatusTypeDef HAL_GFXMMU_ConfigLut(GFXMMU_HandleTypeDef *hgfxmmu,
260  uint32_t FirstLine,
261  uint32_t LinesNumber,
262  uint32_t Address);
263 
264 HAL_StatusTypeDef HAL_GFXMMU_DisableLutLines(GFXMMU_HandleTypeDef *hgfxmmu,
265  uint32_t FirstLine,
266  uint32_t LinesNumber);
267 
268 HAL_StatusTypeDef HAL_GFXMMU_ConfigLutLine(GFXMMU_HandleTypeDef *hgfxmmu, GFXMMU_LutLineTypeDef *lutLine);
269 
270 HAL_StatusTypeDef HAL_GFXMMU_ModifyBuffers(GFXMMU_HandleTypeDef *hgfxmmu, GFXMMU_BuffersTypeDef *Buffers);
271 
273 
282 /* State function *************************************************************/
283 HAL_GFXMMU_StateTypeDef HAL_GFXMMU_GetState(GFXMMU_HandleTypeDef *hgfxmmu);
284 
285 uint32_t HAL_GFXMMU_GetError(GFXMMU_HandleTypeDef *hgfxmmu);
293 /* End of exported functions -------------------------------------------------*/
294 
295 /* Private macros ------------------------------------------------------------*/
299 #define IS_GFXMMU_BLOCKS_PER_LINE(VALUE) (((VALUE) == GFXMMU_256BLOCKS) || \
300  ((VALUE) == GFXMMU_192BLOCKS))
301 
302 #define IS_GFXMMU_BUFFER_ADDRESS(VALUE) (((VALUE) & 0xFU) == 0U)
303 
304 #define IS_GFXMMU_INTERRUPTS(VALUE) (((VALUE) & 0x1FU) != 0U)
305 
306 #define IS_GFXMMU_LUT_LINE(VALUE) ((VALUE) < 1024U)
307 
308 #define IS_GFXMMU_LUT_LINES_NUMBER(VALUE) (((VALUE) > 0U) && ((VALUE) <= 1024U))
309 
310 #define IS_GFXMMU_LUT_LINE_STATUS(VALUE) (((VALUE) == GFXMMU_LUT_LINE_DISABLE) || \
311  ((VALUE) == GFXMMU_LUT_LINE_ENABLE))
312 
313 #define IS_GFXMMU_LUT_BLOCK(VALUE) ((VALUE) < 256U)
314 
315 #define IS_GFXMMU_LUT_LINE_OFFSET(VALUE) (((VALUE) >= -4080) && ((VALUE) <= 4190208))
316 
319 /* End of private macros -----------------------------------------------------*/
320 
328 #endif /* GFXMMU */
329 #ifdef __cplusplus
330 }
331 #endif
332 
333 #endif /* STM32L4xx_HAL_GFXMMU_H */
334 
335 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_StatusTypeDef HAL_GFXMMU_ConfigLutLine(GFXMMU_HandleTypeDef *hgfxmmu, GFXMMU_LutLineTypeDef *lutLine)
This function allows to configure one line of LUT.
void HAL_GFXMMU_MspInit(GFXMMU_HandleTypeDef *hgfxmmu)
Initialize the GFXMMU MSP.
GFXMMU_InitTypeDef Init
GFXMMU LUT line structure definition.
void(* pGFXMMU_CallbackTypeDef)(GFXMMU_HandleTypeDef *hgfxmmu)
GFXMMU callback pointer definition.
void HAL_GFXMMU_IRQHandler(GFXMMU_HandleTypeDef *hgfxmmu)
This function handles the GFXMMU interrupts.
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef HAL_GFXMMU_ModifyBuffers(GFXMMU_HandleTypeDef *hgfxmmu, GFXMMU_BuffersTypeDef *Buffers)
This function allows to modify physical buffer addresses.
HAL_StatusTypeDef HAL_GFXMMU_DisableLutLines(GFXMMU_HandleTypeDef *hgfxmmu, uint32_t FirstLine, uint32_t LinesNumber)
This function allows to disable a range of LUT lines.
HAL_StatusTypeDef HAL_GFXMMU_ConfigLut(GFXMMU_HandleTypeDef *hgfxmmu, uint32_t FirstLine, uint32_t LinesNumber, uint32_t Address)
This function allows to copy LUT from flash to look up RAM.
HAL_StatusTypeDef HAL_GFXMMU_UnRegisterCallback(GFXMMU_HandleTypeDef *hgfxmmu, HAL_GFXMMU_CallbackIDTypeDef CallbackID)
Unregister a user GFXMMU callback. GFXMMU callback is redirected to the weak predefined callback...
HAL_GFXMMU_StateTypeDef HAL_GFXMMU_GetState(GFXMMU_HandleTypeDef *hgfxmmu)
This function allows to get the current GFXMMU handle state.
GFXMMU interrupts structure definition.
GFXMMU_InterruptsTypeDef Interrupts
HAL_GFXMMU_StateTypeDef State
uint32_t HAL_GFXMMU_GetError(GFXMMU_HandleTypeDef *hgfxmmu)
This function allows to get the current GFXMMU error code.
HAL_StatusTypeDef HAL_GFXMMU_RegisterCallback(GFXMMU_HandleTypeDef *hgfxmmu, HAL_GFXMMU_CallbackIDTypeDef CallbackID, pGFXMMU_CallbackTypeDef pCallback)
Register a user GFXMMU callback to be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_GFXMMU_DeInit(GFXMMU_HandleTypeDef *hgfxmmu)
De-initialize the GFXMMU.
HAL_GFXMMU_CallbackIDTypeDef
GFXMMU callback ID enumeration definition.
HAL_StatusTypeDef HAL_GFXMMU_Init(GFXMMU_HandleTypeDef *hgfxmmu)
Initialize the GFXMMU according to the specified parameters in the GFXMMU_InitTypeDef structure and i...
void HAL_GFXMMU_ErrorCallback(GFXMMU_HandleTypeDef *hgfxmmu)
Error callback.
GFXMMU init structure definition.
struct __GFXMMU_HandleTypeDef else typedef struct endif GFXMMU_HandleTypeDef
GFXMMU handle structure definition.
void HAL_GFXMMU_MspDeInit(GFXMMU_HandleTypeDef *hgfxmmu)
De-initialize the GFXMMU MSP.
ADC handle Structure definition.
GFXMMU_TypeDef * Instance
GFXMMU buffers structure definition.
GFXMMU_BuffersTypeDef Buffers