add 3.7 inch Epaper BW, remove some examples

This commit is contained in:
YXZhu
2025-07-30 12:36:16 +08:00
parent 558262661b
commit 116a1de56b
1029 changed files with 78605 additions and 473918 deletions
@@ -0,0 +1,118 @@
#ifndef EPAPER_H
#define EPAPER_H
#ifdef __cplusplus
extern "C"
{
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
////#define EPD_29
// #define EPD_213
//
// #if (!defined EPD_29) && (!defined EPD_213)
// #error EPD Type Undefine
// #endif
//
// #ifdef EPD_29
// #define EPD_W 128
// #define EPD_H 296
// #endif
//
// #ifdef EPD_213
// #define EPD_W 122
// #define EPD_H 250
// #endif
#define EPD213_219 0
#define EPD154 1
#define EPD420 2
#define EPD370_UC8253 3
extern uint16_t EPD_H;
extern uint16_t EPD_W;
extern uint8_t epd_type;
#define EPD_OK 0
#define EPD_ERROR 1
#define EPD_ROTATE_0 0
#define EPD_ROTATE_90 90
#define EPD_ROTATE_180 180
#define EPD_ROTATE_270 270
#define EPD_COLOR_WHITE 0xFF
#define EPD_COLOR_BLACK 0x00
#define EPD_COLOR_RED EPD_COLOR_BLACK
#define EPD_FONT_SIZE8x6 (8)
#define EPD_FONT_SIZE12x6 (12)
#define EPD_FONT_SIZE16x8 (16)
#define EPD_FONT_SIZE24x12 (24)
#define EPD_DEEPSLEEP_MODE1 (0x01)
#define EPD_DEEPSLEEP_MODE2 (0x03)
#define EPD_W_BUFF_SIZE ((EPD_W % 8 == 0) ? (EPD_W / 8) : (EPD_W / 8 + 1))
typedef struct
{
uint8_t *Image;
uint16_t Width;
uint16_t Height;
uint16_t WidthMemory;
uint16_t HeightMemory;
uint16_t Color;
uint16_t Rotate;
uint16_t WidthByte;
uint16_t HeightByte;
} EPD_PAINT;
extern EPD_PAINT EPD_Paint;
void epd_io_init(void);
void epd_io_deinit(void);
void epd_write_reg(uint8_t reg);
void epd_write_imagedata(uint8_t *Image1, uint32_t length);
void epd_set_panel(uint8_t type, uint16_t width, uint16_t height);
uint8_t epd_init(void);
uint8_t epd_init_fast(void);
uint8_t epd_init_partial(void);
void epd_enter_deepsleepmode(uint8_t mode);
uint8_t epd_power_on(void);
uint8_t epd_power_off(void);
void epd_init_internalTempSensor(void);
void epd_update(void);
void epd_update_fast(void);
void epd_update_partial(void);
void epd_address_set(uint16_t x_start, uint16_t y_start, uint16_t x_end, uint16_t y_end);
void epd_setpos(uint16_t x, uint16_t y);
void epd_display(uint8_t *Image1, uint8_t *Image2);
void epd_displayBW(uint8_t *Image);
void epd_displayBW_fast(uint8_t *Image);
void epd_displayBW_partial(uint8_t *Image);
void epd_displayRED(uint8_t *Image);
void epd_displayRED_invert(uint8_t *Image);
void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color);
void epd_paint_setpixel(uint16_t Xpoint, uint16_t Ypoint, uint16_t Color);
void epd_paint_selectimage(uint8_t *image);
void epd_paint_clear(uint16_t color);
void epd_paint_drawPoint(uint16_t Xpoint, uint16_t Ypoint, uint16_t Color);
void epd_paint_drawLine(uint16_t Xstart, uint16_t Ystart, uint16_t Xend, uint16_t Yend, uint16_t Color);
void epd_paint_drawRectangle(uint16_t Xstart, uint16_t Ystart, uint16_t Xend, uint16_t Yend, uint16_t Color, uint8_t mode);
void epd_paint_drawCircle(uint16_t X_Center, uint16_t Y_Center, uint16_t Radius, uint16_t Color, uint8_t mode);
void epd_paint_showChar(uint16_t x, uint16_t y, uint16_t chr, uint16_t size1, uint16_t color);
void epd_paint_showString(uint16_t x, uint16_t y, uint8_t *chr, uint16_t size1, uint16_t color);
void epd_paint_showNum(uint16_t x, uint16_t y, uint32_t num, uint16_t len, uint16_t size1, uint16_t color);
void epd_paint_showChinese(uint16_t x, uint16_t y, uint16_t num, uint16_t size1, uint16_t color);
void epd_paint_showPicture(uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, const uint8_t BMP[], uint16_t Color);
#ifdef __cplusplus
}
#endif
#endif