ADD FLASH(flash.h flash.cpp flash_def.h flash_cfg.h flash_sfdp.cpp)

ADD RunTimer(log.h ticks.h ticks.cpp)
ADD sim_key form sdl
This commit is contained in:
JiXieShi
2024-11-27 13:49:34 +08:00
parent 8f7f72712c
commit a1176112ce
29 changed files with 3993 additions and 179 deletions

View File

@@ -118,7 +118,6 @@ extern "C" {
/**
* @brief LCD_Type_Define
*/
#define ST7735_1_8_inch_screen 0x00U
#define ST7735_0_9_inch_screen 0x01U
#define ST7735_1_8a_inch_screen 0x02U
/**
@@ -135,9 +134,13 @@ extern "C" {
#define ST7735_DELAY 120
#define ST7735_PANEL HannStar_Panel
#define ST7735_TYPE ST7735_0_9_inch_screen
#define ST7735_PANEL BOE_Panel
#define ST7735_TYPE ST7735_1_8a_inch_screen
//#define ST7735_X_OFFSET 0
//#define ST7735_Y_OFFSET 0
//#define ST7735_X_OFFSET 0
//#define ST7735_Y_OFFSET 0
#if ST7735_TYPE == ST7735_0_9_inch_screen //0.96 ST7735
#if ST7735_PANEL == HannStar_Panel
@@ -176,8 +179,11 @@ const uint8_t st7735initcmd[] = {
3, ST7735_PWR_CTRL4, 0x8A, 0x2A,
3, ST7735_PWR_CTRL5, 0x8A, 0xEE,
2, ST7735_VCOMH_VCOML_CTRL1, 0x0E,
#if ST7735_PANEL == HannStar_Panel
1, ST7735_DISPLAY_INVERSION_ON,//HannStar_Panel
// 1,ST7735_DISPLAY_INVERSION_OFF,//BOE_Panel
#else
1, ST7735_DISPLAY_INVERSION_OFF,//BOE_Panel
#endif
2, ST7735_COLOR_MODE, ST7735_FORMAT_RBG565,
17, ST7735_PV_GAMMA_CTRL, 0x02, 0x1C, 0x07U, 0x12U, 0x37U, 0x32U, 0x29U, 0x2DU, 0x29U, 0x25U, 0x2BU, 0x39U,
0x00U, 0x01U, 0x03U, 0x10U,

View File

@@ -283,6 +283,8 @@ void TFT_DrawRect(TFT_T *dev, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2
**/
void TFT_DrawCircle(TFT_T *dev, uint16_t x, uint16_t y, uint16_t r);
void TFT_DrawArc(TFT_T *dev, uint16_t x0, uint16_t y0, uint16_t radius, int start_angle, int end_angle);
/**
* @brief 在TFT显示屏上显示单个字符
* @param dev: [输入] TFT设备结构体指针
@@ -359,6 +361,17 @@ void TFT_ShowPic(TFT_T *dev, uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, T
**/
void TFT_DrawCross(TFT_T *dev, uint16_t x, uint16_t y, uint8_t r);
/**
* @brief 在屏幕上绘制一个X字交叉线
* @param dev: [输入] TFT设备指针
* @param x: [输入] 十字交叉线中心点x坐标
* @param y: [输入] 十字交叉线中心点y坐标
* @param r: [输入] 十字交叉线长度的一半(即从中心点到横竖线的长度)
* @return void
* @example TFT_DrawCross(&tft_dev, 100, 80, 5);
**/
void TFT_DrawXCross(TFT_T *dev, uint16_t x, uint16_t y, uint8_t r);
/**
* @brief 在屏幕上显示进度条
* @param dev: [输入] TFT设备指针
@@ -372,6 +385,17 @@ void TFT_DrawCross(TFT_T *dev, uint16_t x, uint16_t y, uint8_t r);
**/
void TFT_ShowBar(TFT_T *dev, uint16_t x, uint16_t y, uint16_t width, uint16_t height, float progress);
/**
* @brief 绘制带圆角的矩形
* @param dev: [输入] TFT设备指针
* @param x: [输入] 矩形左上角x坐标
* @param y: [输入] 矩形左上角y坐标
* @param width: [输入] 矩形宽度
* @param height: [输入] 矩形高度
* @param radius: [输入] 圆角半径
* @return void
**/
void TFT_DrawRoundedRect(TFT_T *dev, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t radius);
#ifdef LVGL_FONT
@@ -392,6 +416,19 @@ void TFT_DisplayString(TFT_T *dev, const lv_font_t *font, uint8_t *s, uint16_t x
#endif
#define ARGB_TO_RGB565(...) \
_ARGB_TO_RGB565_NARG(__VA_ARGS__, _ARGB_TO_RGB565_4, _ARGB_TO_RGB565_1)(__VA_ARGS__)
#define _ARGB_TO_RGB565_NARG(...) _ARGB_TO_RGB565_NARG_(__VA_ARGS__, _ARGB_TO_RGB565_RSEQ_N())
#define _ARGB_TO_RGB565_NARG_(...) _ARGB_TO_RGB565_ARG_N(__VA_ARGS__)
#define _ARGB_TO_RGB565_ARG_N(_1, _2, _3, _4, N, ...) N
#define _ARGB_TO_RGB565_RSEQ_N() 4, 3, 2, 1, 0
#define _ARGB_TO_RGB565_1(argb) (((((argb) >> 8) & 0xF800) | (((argb) >> 5) & 0x07E0) | ((argb) >> 3) & 0x001F)
#define _ARGB_TO_RGB565_4(a, r, g, b) (((((a) & 0xFF) >> 3) << 11) | ((((r) & 0xFF) >> 2) << 5) | (((g) & 0xFF) >> 3))
#ifdef __cplusplus
}
#endif