Optimize LVGL with HAL TFT IO (SPI and FSMC) (#18974)

This commit is contained in:
Victor Oliveira
2020-08-13 20:31:59 -03:00
committed by GitHub
parent 3b9e0c3dde
commit ff5c8d3570
16 changed files with 181 additions and 775 deletions

View File

@@ -21,13 +21,13 @@
*/
#pragma once
#include <stdint.h>
#include "../../inc/MarlinConfigPre.h"
#define SPI_TFT_CS_H OUT_WRITE(SPI_TFT_CS_PIN, HIGH)
#define SPI_TFT_CS_L OUT_WRITE(SPI_TFT_CS_PIN, LOW)
#define SPI_TFT_DC_H OUT_WRITE(SPI_TFT_DC_PIN, HIGH)
#define SPI_TFT_DC_L OUT_WRITE(SPI_TFT_DC_PIN, LOW)
#if ENABLED(TFT_LVGL_UI_SPI)
#include HAL_PATH(../../HAL, tft/tft_spi.h)
#elif ENABLED(TFT_LVGL_UI_FSMC)
#include HAL_PATH(../../HAL, tft/tft_fsmc.h)
#endif
#define SPI_TFT_RST_H OUT_WRITE(SPI_TFT_RST_PIN, HIGH)
#define SPI_TFT_RST_L OUT_WRITE(SPI_TFT_RST_PIN, LOW)
@@ -37,20 +37,14 @@
class TFT {
public:
TFT_IO tftio;
void spi_init(uint8_t spiRate);
uint8_t spi_Rec();
uint8_t spi_read_write_byte(uint8_t data);
void spi_Read(uint8_t* buf, uint16_t nbyte);
void spi_Send(uint8_t b);
void spi_SendBlock(uint8_t token, const uint8_t* buf);
void LCD_WR_REG(uint8_t cmd);
void LCD_WR_DATA(uint8_t data);
void SetCursor(uint16_t x, uint16_t y);
void SetPoint(uint16_t x, uint16_t y, uint16_t point);
void SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height);
void LCD_init();
void LCD_clear(uint16_t color);
void LCD_WriteRAM_Prepare();
void LCD_Draw_Logo();
};