STM32H7 code for virtual analog synthesiser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

133 lines
4.4 KiB

/**
******************************************************************************
* @file lcd.h
* @author MCD Application Team
* @brief This file contains all the functions prototypes for the LCD driver.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef LCD_H
#define LCD_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include <stdint.h>
/** @addtogroup BSP
* @{
*/
/** @addtogroup Components
* @{
*/
/** @addtogroup LCD
* @{
*/
/** @defgroup LCD_Exported_Constants LCD Exported Constants
* @{
*/
#define LCD_PIXEL_FORMAT_ARGB8888 0x00000000U /*!< ARGB8888 LTDC pixel format */
#define LCD_PIXEL_FORMAT_RGB888 0x00000001U /*!< RGB888 LTDC pixel format */
#define LCD_PIXEL_FORMAT_RGB565 0x00000002U /*!< RGB565 LTDC pixel format */
#define LCD_PIXEL_FORMAT_ARGB1555 0x00000003U /*!< ARGB1555 LTDC pixel format */
#define LCD_PIXEL_FORMAT_ARGB4444 0x00000004U /*!< ARGB4444 LTDC pixel format */
#define LCD_PIXEL_FORMAT_L8 0x00000005U /*!< L8 LTDC pixel format */
#define LCD_PIXEL_FORMAT_AL44 0x00000006U /*!< AL44 LTDC pixel format */
#define LCD_PIXEL_FORMAT_AL88 0x00000007U /*!< AL88 LTDC pixel format */
/**
* @}
*/
/** @defgroup LCD_Exported_Types
* @{
*/
/** @defgroup LCD_Driver_structure LCD Driver structure
* @{
*/
typedef struct
{
int32_t ( *DrawBitmap ) (uint32_t, uint32_t, uint32_t, uint8_t *);
int32_t ( *FillRGBRect ) (uint32_t, uint32_t, uint32_t, uint8_t*, uint32_t, uint32_t);
int32_t ( *DrawHLine ) (uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *DrawVLine ) (uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *FillRect ) (uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *GetPixel ) (uint32_t, uint32_t, uint32_t, uint32_t*);
int32_t ( *SetPixel ) (uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *GetXSize ) (uint32_t, uint32_t *);
int32_t ( *GetYSize ) (uint32_t, uint32_t *);
int32_t ( *SetLayer ) (uint32_t, uint32_t);
int32_t ( *GetFormat ) (uint32_t, uint32_t *);
} LCD_UTILS_Drv_t;
typedef struct
{
/* Control functions */
int32_t (*Init )(void*, uint32_t, uint32_t);
int32_t (*DeInit )(void*);
int32_t (*ReadID )(void*, uint32_t*);
int32_t (*DisplayOn )(void*);
int32_t (*DisplayOff )(void*);
int32_t (*SetBrightness )(void*, uint32_t);
int32_t (*GetBrightness )(void*, uint32_t*);
int32_t (*SetOrientation )(void*, uint32_t);
int32_t (*GetOrientation )(void*, uint32_t*);
/* Drawing functions*/
int32_t ( *SetCursor ) (void*, uint32_t, uint32_t);
int32_t ( *DrawBitmap ) (void*, uint32_t, uint32_t, uint8_t *);
int32_t ( *FillRGBRect ) (void*, uint32_t, uint32_t, uint8_t*, uint32_t, uint32_t);
int32_t ( *DrawHLine ) (void*, uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *DrawVLine ) (void*, uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *FillRect ) (void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
int32_t ( *GetPixel ) (void*, uint32_t, uint32_t, uint32_t*);
int32_t ( *SetPixel ) (void*, uint32_t, uint32_t, uint32_t);
int32_t ( *GetXSize ) (void*, uint32_t *);
int32_t ( *GetYSize ) (void*, uint32_t *);
}LCD_Drv_t;
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* LCD_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/