From 708ad3a891c29581fd8dae2834299aef634a171a Mon Sep 17 00:00:00 2001 From: YXZhu Date: Wed, 22 May 2024 23:36:56 +0800 Subject: [PATCH] add 4.2 inch epaper module examples --- .../Epaper/epaper.c | 81 +++++++- .../Epaper/epaper.h | 8 +- Example/EpaperModuleTest_APM32F103/Src/main.c | 34 +++- .../Epaper/epaper.c | 173 +++++++++++++----- .../Epaper/epaper.h | 8 +- .../EpaperModuleTest_AT32F403A.uvprojx | 2 +- .../Objects/EpaperModuleTest_AT32F403A.axf | Bin 172524 -> 175428 bytes .../Objects/EpaperModuleTest_AT32F403A.hex | Bin 52910 -> 56240 bytes Example/EpaperModuleTest_AT32F403A/Src/main.c | 38 +++- .../EpaperModuleTest_Arduino_ESP32.ino | 3 + .../EpaperModuleTest_Arduino_ESP32C3.ino | 3 + .../EpaperModuleTest_Arduino_ESP8266.ino | 3 + .../EpaperModuleTest_CH32F103/Epaper/epaper.c | 81 +++++++- .../EpaperModuleTest_CH32F103/Epaper/epaper.h | 8 +- Example/EpaperModuleTest_CH32F103/Src/main.c | 34 +++- .../User/Epaper/epaper.c | 81 +++++++- .../User/Epaper/epaper.h | 8 +- Example/EpaperModuleTest_CH32V103/User/main.c | 34 +++- .../EpaperModuleTest_GD32F103/Epaper/epaper.c | 81 +++++++- .../EpaperModuleTest_GD32F103/Epaper/epaper.h | 8 +- Example/EpaperModuleTest_GD32F103/Src/main.c | 34 +++- .../EpaperModuleTest_GD32F303/Epaper/epaper.c | 81 +++++++- .../EpaperModuleTest_GD32F303/Epaper/epaper.h | 8 +- Example/EpaperModuleTest_GD32F303/Src/main.c | 34 +++- 24 files changed, 742 insertions(+), 103 deletions(-) diff --git a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c index 0514bfd..5120719 100644 --- a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c +++ b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c @@ -219,6 +219,7 @@ uint8_t epd_init(void) if (epd_wait_busy()) return 1; + #if defined(EPD_29) || defined(EPD_213) || defined(EPD_154) epd_write_reg(0x01); // Driver output control #if defined(EPD_29) || defined(EPD_213) epd_write_data(0x27); @@ -262,6 +263,21 @@ uint8_t epd_init(void) epd_write_reg(0x21); // Display update control epd_write_data(0x00); epd_write_data(0x80); + #endif + + #elif defined(EPD_42) + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x40); + epd_write_data(0x00); + epd_write_reg(0x01); // Set MUX as 300 + epd_write_data(0x2B); + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x01); + epd_write_reg(0x11); // data entry mode + epd_write_data(0x03); // X-mode + epd_address_set(0,0,EPD_W-1,EPD_H-1); #endif epd_write_reg(0x18); // Read built-in temperature sensor @@ -289,6 +305,12 @@ uint8_t epd_init_partial(void) } _epd_write_data_over(); epd_cs_set(); + #elif defined(EPD_42) + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x80); + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application #endif return 0; @@ -304,8 +326,13 @@ void epd_enter_deepsleepmode(uint8_t mode) uint8_t epd_power_on(void) { + #if defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xe0); + #else epd_write_reg(0x22); // Display Update Control epd_write_data(0xf8); + #endif epd_write_reg(0x20); // Activate Display Update Sequence return epd_wait_busy(); @@ -327,15 +354,20 @@ void epd_init_internalTempSensor(void) epd_write_reg(0x1A); epd_write_data(0x7F); - epd_write_data(0xF0); +// epd_write_data(0xF0); } void epd_update(void) { + + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xF4); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xF7); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -345,10 +377,14 @@ void epd_update(void) void epd_update_partial(void) { + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xFC); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xFF); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xCC); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -356,6 +392,19 @@ void epd_update_partial(void) epd_wait_busy(); } +void epd_address_set(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end) +{ + epd_write_reg(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + epd_write_data((x_start>>3) & 0xFF); + epd_write_data((x_end>>3) & 0xFF); + + epd_write_reg(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + epd_write_data(y_start & 0xFF); + epd_write_data((y_start >> 8) & 0xFF); + epd_write_data(y_end & 0xFF); + epd_write_data((y_end >> 8) & 0xFF); +} + void epd_setpos(uint16_t x, uint16_t y) { uint8_t _x; @@ -365,8 +414,10 @@ void epd_setpos(uint16_t x, uint16_t y) #ifdef EPD_154 _y = 199 - y; - #else + #elif defined(EPD_29) || defined(EPD_213) _y = 295 - y; + #elif defined(EPD_42) + _y = y; #endif epd_write_reg(0x4E); // set RAM x address count to 0; @@ -387,6 +438,17 @@ void epd_writedata(uint8_t *Image1, uint32_t length) epd_cs_set(); } +void epd_writedata2(uint8_t data, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(data); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; @@ -415,6 +477,12 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) _epd_write_data_over(); epd_cs_set(); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif + epd_update(); } @@ -466,6 +534,11 @@ void epd_displayRED(uint8_t *Image) epd_write_reg(0x26); epd_writedata(Image, Width * Height); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif epd_update(); } diff --git a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h index ed4aa89..f51fd3a 100644 --- a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h +++ b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h @@ -8,11 +8,12 @@ extern "C" #include "apm32f10x.h" +//#define EPD_42 //#define EPD_29 //#define EPD_213 //#define EPD_154 -#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) +#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) && (!defined EPD_42) #error EPD Type Undefine #endif @@ -31,6 +32,10 @@ extern "C" #define EPD_H 200 #endif +#ifdef EPD_42 +#define EPD_W 400 +#define EPD_H 300 +#endif #define EPD_OK 0 #define EPD_ERROR 1 @@ -76,6 +81,7 @@ extern "C" void epd_init_internalTempSensor(void); void epd_update(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); diff --git a/Example/EpaperModuleTest_APM32F103/Src/main.c b/Example/EpaperModuleTest_APM32F103/Src/main.c index 27aad2d..f971a78 100644 --- a/Example/EpaperModuleTest_APM32F103/Src/main.c +++ b/Example/EpaperModuleTest_APM32F103/Src/main.c @@ -52,16 +52,25 @@ int main(void) epd_init(); #ifdef EPD_BWR + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); - epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); epd_paint_selectimage(image_red); epd_paint_clear(EPD_COLOR_WHITE); + + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #endif epd_display(image_bw, image_red); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -79,6 +88,10 @@ int main(void) #ifdef EPD_29 epd_paint_showString(10, 0, (uint8_t *)&"2.9 Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); @@ -95,8 +108,13 @@ int main(void) #endif epd_display(image_bw, image_red); + #else + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); @@ -105,8 +123,12 @@ int main(void) epd_paint_showPicture((EPD_H - 200) / 2,(EPD_W - 64) / 2,200,64,gImage_5,EPD_COLOR_WHITE); #else epd_paint_clear(EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); -#endif + #endif + #endif epd_displayBW(image_bw); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -134,11 +156,15 @@ int main(void) epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif - +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); + epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif #if 1 epd_paint_showString(10,100,(uint8_t *)&"APM32F103CBT6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else - epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); + epd_paint_drawRectangle(10, EPD_W-20, EPD_H - 10, EPD_W-6, EPD_COLOR_BLACK, 1); #endif sprintf((char *)&text, ">> Partial Mode"); diff --git a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c index cc59656..3565bd2 100644 --- a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c +++ b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c @@ -234,54 +234,70 @@ uint8_t epd_init(void) if (epd_wait_busy()) return 1; - epd_write_reg(0x01); // Driver output control - #if defined(EPD_29) || defined(EPD_213) - epd_write_data(0x27); - epd_write_data(0x01); - epd_write_data(0x01); - #else - epd_write_data(0xC7); - epd_write_data(0x00); - epd_write_data(0x01); + #if defined(EPD_29) || defined(EPD_213) || defined(EPD_154) + epd_write_reg(0x01); // Driver output control + #if defined(EPD_29) || defined(EPD_213) + epd_write_data(0x27); + epd_write_data(0x01); + epd_write_data(0x01); + #else + epd_write_data(0xC7); + epd_write_data(0x00); + epd_write_data(0x01); + #endif + + epd_write_reg(0x11); // data entry mode + epd_write_data(0x01); + + #ifdef EPD_154 + epd_write_reg(0x44); // set Ram-X address start/end position + epd_write_data(0x00); + epd_write_data(0x18); + + epd_write_reg(0x45); // set Ram-Y address start/end position + epd_write_data(0xC7); + epd_write_data(0x00); + epd_write_data(0x00); + epd_write_data(0x00); + #else + epd_write_reg(0x44); // set Ram-X address start/end position + epd_write_data(0x00); + epd_write_data(0x0F); // 0x0F-->(15+1)*8=128 + + epd_write_reg(0x45); // set Ram-Y address start/end position + epd_write_data(0x27); // 0x127-->(295+1)=296 + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_data(0x00); + #endif + + epd_write_reg(0x3C); // BorderWavefrom + epd_write_data(0x05); + + #if defined(EPD_29) || defined(EPD_213) + epd_write_reg(0x21); // Display update control + epd_write_data(0x00); + epd_write_data(0x80); + #endif + + #elif defined(EPD_42) + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x40); + epd_write_data(0x00); + epd_write_reg(0x01); // Set MUX as 300 + epd_write_data(0x2B); + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x01); + epd_write_reg(0x11); // data entry mode + epd_write_data(0x03); // X-mode + epd_address_set(0,0,EPD_W-1,EPD_H-1); #endif - epd_write_reg(0x11); // data entry mode - epd_write_data(0x01); - - #ifdef EPD_154 - epd_write_reg(0x44); // set Ram-X address start/end position - epd_write_data(0x00); - epd_write_data(0x18); - - epd_write_reg(0x45); // set Ram-Y address start/end position - epd_write_data(0xC7); - epd_write_data(0x00); - epd_write_data(0x00); - epd_write_data(0x00); - #else - epd_write_reg(0x44); // set Ram-X address start/end position - epd_write_data(0x00); - epd_write_data(0x0F); // 0x0F-->(15+1)*8=128 - - epd_write_reg(0x45); // set Ram-Y address start/end position - epd_write_data(0x27); // 0x127-->(295+1)=296 - epd_write_data(0x01); - epd_write_data(0x00); - epd_write_data(0x00); - #endif - - epd_write_reg(0x3C); // BorderWavefrom - epd_write_data(0x05); - - #if defined(EPD_29) || defined(EPD_213) - epd_write_reg(0x21); // Display update control - epd_write_data(0x00); - epd_write_data(0x80); - #endif - - epd_write_reg(0x18); // Read built-in temperature sensor - epd_write_data(0x80); - + epd_write_reg(0x18); // Read built-in temperature sensor + epd_write_data(0x80); + epd_setpos(0,0); if (epd_power_on()) @@ -304,6 +320,12 @@ uint8_t epd_init_partial(void) } _epd_write_data_over(); epd_cs_set(); + #elif defined(EPD_42) + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x80); + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application #endif return 0; @@ -319,8 +341,13 @@ void epd_enter_deepsleepmode(uint8_t mode) uint8_t epd_power_on(void) { + #if defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xe0); + #else epd_write_reg(0x22); // Display Update Control epd_write_data(0xf8); + #endif epd_write_reg(0x20); // Activate Display Update Sequence return epd_wait_busy(); @@ -342,15 +369,20 @@ void epd_init_internalTempSensor(void) epd_write_reg(0x1A); epd_write_data(0x7F); - epd_write_data(0xF0); +// epd_write_data(0xF0); } void epd_update(void) { - epd_write_reg(0x22); // Display Update Control + #ifdef EPD_154 + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF4); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xF7); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -360,10 +392,14 @@ void epd_update(void) void epd_update_partial(void) { - epd_write_reg(0x22); // Display Update Control #ifdef EPD_154 + epd_write_reg(0x22); // Display Update Control epd_write_data(0xFC); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xFF); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xCC); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -371,6 +407,19 @@ void epd_update_partial(void) epd_wait_busy(); } +void epd_address_set(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end) +{ + epd_write_reg(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + epd_write_data((x_start>>3) & 0xFF); + epd_write_data((x_end>>3) & 0xFF); + + epd_write_reg(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + epd_write_data(y_start & 0xFF); + epd_write_data((y_start >> 8) & 0xFF); + epd_write_data(y_end & 0xFF); + epd_write_data((y_end >> 8) & 0xFF); +} + void epd_setpos(uint16_t x, uint16_t y) { uint8_t _x; @@ -380,8 +429,10 @@ void epd_setpos(uint16_t x, uint16_t y) #ifdef EPD_154 _y = 199 - y; - #else + #elif defined(EPD_29) || defined(EPD_213) _y = 295 - y; + #elif defined(EPD_42) + _y = y; #endif epd_write_reg(0x4E); // set RAM x address count to 0; @@ -402,6 +453,17 @@ void epd_writedata(uint8_t *Image1, uint32_t length) epd_cs_set(); } +void epd_writedata2(uint8_t data, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(data); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; @@ -430,6 +492,12 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) _epd_write_data_over(); epd_cs_set(); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif + epd_update(); } @@ -481,6 +549,11 @@ void epd_displayRED(uint8_t *Image) epd_write_reg(0x26); epd_writedata(Image, Width * Height); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif epd_update(); } diff --git a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h index 0a5be53..4e87135 100644 --- a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h +++ b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h @@ -8,11 +8,12 @@ extern "C" #include "at32f403a_407.h" +//#define EPD_42 //#define EPD_29 //#define EPD_213 //#define EPD_154 -#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) +#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) && (!defined EPD_42) #error EPD Type Undefine #endif @@ -31,6 +32,10 @@ extern "C" #define EPD_H 200 #endif +#ifdef EPD_42 +#define EPD_W 400 +#define EPD_H 300 +#endif #define EPD_OK 0 #define EPD_ERROR 1 @@ -76,6 +81,7 @@ extern "C" void epd_init_internalTempSensor(void); void epd_update(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); diff --git a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/EpaperModuleTest_AT32F403A.uvprojx b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/EpaperModuleTest_AT32F403A.uvprojx index 208f5b1..0608784 100644 --- a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/EpaperModuleTest_AT32F403A.uvprojx +++ b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/EpaperModuleTest_AT32F403A.uvprojx @@ -10,7 +10,7 @@ Target 1 0x4 ARM-ADS - 6190000::V6.19::ARMCLANG + 6210000::V6.21::ARMCLANG 1 diff --git a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.axf b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.axf index bf5c4bf16a86191b746fe0290a9020c3a5396617..bf4bbe712b0c9a6a6f651860e7b2c0d4a3940d98 100644 GIT binary patch literal 175428 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 literal 172524 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%0DUba@kFcY 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 HvvU7072lmH diff --git a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.hex b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.hex index 7ff37f9befd1ff89e94fb782d3eb1c3c28447bc4..ce227287bcbf388e15f66b48d276d229fb76d830 100644 GIT binary patch literal 56240 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 literal 52910 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 Hello World."); epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_RED); -#if 0 +#if 1 epd_paint_showString(10,100,(uint8_t *)&"AT32F403ACGU7 Example",EPD_FONT_SIZE16x8,EPD_COLOR_RED); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_RED, 1); #endif epd_display(image_bw, image_red); + #else - epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); @@ -102,7 +120,11 @@ int main(void) epd_paint_showPicture((EPD_H - 200) / 2,(EPD_W - 64) / 2,200,64,gImage_5,EPD_COLOR_WHITE); #else epd_paint_clear(EPD_COLOR_WHITE); - epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else + epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #endif #endif epd_displayBW(image_bw); @@ -131,7 +153,11 @@ int main(void) epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif - +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); + epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif #if 1 epd_paint_showString(10,100,(uint8_t *)&"AT32F403ACGU7 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else diff --git a/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino b/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino index 0c2b308..e73cd8d 100644 --- a/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino +++ b/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino @@ -20,6 +20,9 @@ GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ 5 //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ 5, /*DC=*/ 0, /*RES=*/ 2, /*BUSY=*/ 15)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ 5, /*DC=*/ 0, /*RES=*/ 2, /*BUSY=*/ 15)); // GDEM029C90 128x296, SSD1680 +// 4.2'' EPD Module +//GxEPD2_BW display(GxEPD2_420_GDEY042T81(/*CS=5*/ 5, /*DC=*/ 0, /*RES=*/ 2, /*BUSY=*/ 15)); // 400x300, SSD1683 + void setup() { display.init(115200,true,50,false); diff --git a/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino b/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino index 0da05e1..6a1db2a 100644 --- a/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino +++ b/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino @@ -20,6 +20,9 @@ GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ S //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ SS, /*DC=*/ 1, /*RES=*/ 2, /*BUSY=*/ 3)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ SS, /*DC=*/ 1, /*RES=*/ 2, /*BUSY=*/ 3)); // GDEM029C90 128x296, SSD1680 +// 4.2'' EPD Module +//GxEPD2_BW display(GxEPD2_420_GDEY042T81(/*CS=5*/ SS, /*DC=*/ 1, /*RES=*/ 2, /*BUSY=*/ 3)); // 400x300, SSD1683 + void setup() { pinMode(8, OUTPUT); diff --git a/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino b/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino index c8cb04d..4b4ba36 100644 --- a/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino +++ b/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino @@ -20,6 +20,9 @@ GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ 1 //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ 15, /*DC=*/ 4, /*RES=*/ 5, /*BUSY=*/ 16)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ 15, /*DC=*/ 4, /*RES=*/ 5, /*BUSY=*/ 16)); // GDEM029C90 128x296, SSD1680 +// 4.2'' EPD Module +//GxEPD2_BW display(GxEPD2_420_GDEY042T81(/*CS=5*/ 15, /*DC=*/ 4, /*RES=*/ 5, /*BUSY=*/ 16)); // 400x300, SSD1683 + void setup() { display.init(115200,true,50,false); diff --git a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c index 7c8a477..abb4ef7 100644 --- a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c +++ b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c @@ -218,6 +218,7 @@ uint8_t epd_init(void) if (epd_wait_busy()) return 1; + #if defined(EPD_29) || defined(EPD_213) || defined(EPD_154) epd_write_reg(0x01); // Driver output control #if defined(EPD_29) || defined(EPD_213) epd_write_data(0x27); @@ -261,6 +262,21 @@ uint8_t epd_init(void) epd_write_reg(0x21); // Display update control epd_write_data(0x00); epd_write_data(0x80); + #endif + + #elif defined(EPD_42) + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x40); + epd_write_data(0x00); + epd_write_reg(0x01); // Set MUX as 300 + epd_write_data(0x2B); + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x01); + epd_write_reg(0x11); // data entry mode + epd_write_data(0x03); // X-mode + epd_address_set(0,0,EPD_W-1,EPD_H-1); #endif epd_write_reg(0x18); // Read built-in temperature sensor @@ -288,6 +304,12 @@ uint8_t epd_init_partial(void) } _epd_write_data_over(); epd_cs_set(); + #elif defined(EPD_42) + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x80); + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application #endif return 0; @@ -303,8 +325,13 @@ void epd_enter_deepsleepmode(uint8_t mode) uint8_t epd_power_on(void) { + #if defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xe0); + #else epd_write_reg(0x22); // Display Update Control epd_write_data(0xf8); + #endif epd_write_reg(0x20); // Activate Display Update Sequence return epd_wait_busy(); @@ -326,15 +353,20 @@ void epd_init_internalTempSensor(void) epd_write_reg(0x1A); epd_write_data(0x7F); - epd_write_data(0xF0); +// epd_write_data(0xF0); } void epd_update(void) { + + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xF4); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xF7); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -344,10 +376,14 @@ void epd_update(void) void epd_update_partial(void) { + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xFC); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xFF); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xCC); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -355,6 +391,19 @@ void epd_update_partial(void) epd_wait_busy(); } +void epd_address_set(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end) +{ + epd_write_reg(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + epd_write_data((x_start>>3) & 0xFF); + epd_write_data((x_end>>3) & 0xFF); + + epd_write_reg(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + epd_write_data(y_start & 0xFF); + epd_write_data((y_start >> 8) & 0xFF); + epd_write_data(y_end & 0xFF); + epd_write_data((y_end >> 8) & 0xFF); +} + void epd_setpos(uint16_t x, uint16_t y) { uint8_t _x; @@ -364,8 +413,10 @@ void epd_setpos(uint16_t x, uint16_t y) #ifdef EPD_154 _y = 199 - y; - #else + #elif defined(EPD_29) || defined(EPD_213) _y = 295 - y; + #elif defined(EPD_42) + _y = y; #endif epd_write_reg(0x4E); // set RAM x address count to 0; @@ -386,6 +437,17 @@ void epd_writedata(uint8_t *Image1, uint32_t length) epd_cs_set(); } +void epd_writedata2(uint8_t data, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(data); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; @@ -414,6 +476,12 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) _epd_write_data_over(); epd_cs_set(); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif + epd_update(); } @@ -465,6 +533,11 @@ void epd_displayRED(uint8_t *Image) epd_write_reg(0x26); epd_writedata(Image, Width * Height); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif epd_update(); } diff --git a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h index 4cc7786..a1395a1 100644 --- a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h +++ b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h @@ -8,11 +8,12 @@ extern "C" #include "ch32f10x.h" +//#define EPD_42 //#define EPD_29 //#define EPD_213 //#define EPD_154 -#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) +#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) && (!defined EPD_42) #error EPD Type Undefine #endif @@ -31,6 +32,10 @@ extern "C" #define EPD_H 200 #endif +#ifdef EPD_42 +#define EPD_W 400 +#define EPD_H 300 +#endif #define EPD_OK 0 #define EPD_ERROR 1 @@ -76,6 +81,7 @@ extern "C" void epd_init_internalTempSensor(void); void epd_update(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); diff --git a/Example/EpaperModuleTest_CH32F103/Src/main.c b/Example/EpaperModuleTest_CH32F103/Src/main.c index 12203da..09c9fdf 100644 --- a/Example/EpaperModuleTest_CH32F103/Src/main.c +++ b/Example/EpaperModuleTest_CH32F103/Src/main.c @@ -15,7 +15,7 @@ #include "bmp.h" // define for White Black Red Epaper Module -#define EPD_BWR +//#define EPD_BWR uint8_t image_bw[EPD_W_BUFF_SIZE * EPD_H]; #ifdef EPD_BWR @@ -56,16 +56,25 @@ int main(void) epd_init(); #ifdef EPD_BWR + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); - epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); epd_paint_selectimage(image_red); epd_paint_clear(EPD_COLOR_WHITE); + + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #endif epd_display(image_bw, image_red); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -83,6 +92,10 @@ int main(void) #ifdef EPD_29 epd_paint_showString(10, 0, (uint8_t *)&"2.9 Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); @@ -99,8 +112,13 @@ int main(void) #endif epd_display(image_bw, image_red); + +#else + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); @@ -109,8 +127,12 @@ int main(void) epd_paint_showPicture((EPD_H - 200) / 2,(EPD_W - 64) / 2,200,64,gImage_5,EPD_COLOR_WHITE); #else epd_paint_clear(EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); #endif + #endif epd_displayBW(image_bw); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -138,11 +160,15 @@ int main(void) epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif - +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); + epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif #if 1 epd_paint_showString(10,100,(uint8_t *)&"CH32F103C8T6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else - epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); + epd_paint_drawRectangle(10, EPD_W-20, EPD_H - 10, EPD_W-6, EPD_COLOR_BLACK, 1); #endif sprintf((char *)&text, ">> Partial Mode"); diff --git a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c index cc5012c..c4496a5 100644 --- a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c +++ b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c @@ -218,6 +218,7 @@ uint8_t epd_init(void) if (epd_wait_busy()) return 1; + #if defined(EPD_29) || defined(EPD_213) || defined(EPD_154) epd_write_reg(0x01); // Driver output control #if defined(EPD_29) || defined(EPD_213) epd_write_data(0x27); @@ -261,6 +262,21 @@ uint8_t epd_init(void) epd_write_reg(0x21); // Display update control epd_write_data(0x00); epd_write_data(0x80); + #endif + + #elif defined(EPD_42) + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x40); + epd_write_data(0x00); + epd_write_reg(0x01); // Set MUX as 300 + epd_write_data(0x2B); + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x01); + epd_write_reg(0x11); // data entry mode + epd_write_data(0x03); // X-mode + epd_address_set(0,0,EPD_W-1,EPD_H-1); #endif epd_write_reg(0x18); // Read built-in temperature sensor @@ -288,6 +304,12 @@ uint8_t epd_init_partial(void) } _epd_write_data_over(); epd_cs_set(); + #elif defined(EPD_42) + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x80); + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application #endif return 0; @@ -303,8 +325,13 @@ void epd_enter_deepsleepmode(uint8_t mode) uint8_t epd_power_on(void) { + #if defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xe0); + #else epd_write_reg(0x22); // Display Update Control epd_write_data(0xf8); + #endif epd_write_reg(0x20); // Activate Display Update Sequence return epd_wait_busy(); @@ -326,15 +353,20 @@ void epd_init_internalTempSensor(void) epd_write_reg(0x1A); epd_write_data(0x7F); - epd_write_data(0xF0); +// epd_write_data(0xF0); } void epd_update(void) { + + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xF4); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xF7); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -344,10 +376,14 @@ void epd_update(void) void epd_update_partial(void) { + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xFC); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xFF); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xCC); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -355,6 +391,19 @@ void epd_update_partial(void) epd_wait_busy(); } +void epd_address_set(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end) +{ + epd_write_reg(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + epd_write_data((x_start>>3) & 0xFF); + epd_write_data((x_end>>3) & 0xFF); + + epd_write_reg(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + epd_write_data(y_start & 0xFF); + epd_write_data((y_start >> 8) & 0xFF); + epd_write_data(y_end & 0xFF); + epd_write_data((y_end >> 8) & 0xFF); +} + void epd_setpos(uint16_t x, uint16_t y) { uint8_t _x; @@ -364,8 +413,10 @@ void epd_setpos(uint16_t x, uint16_t y) #ifdef EPD_154 _y = 199 - y; - #else + #elif defined(EPD_29) || defined(EPD_213) _y = 295 - y; + #elif defined(EPD_42) + _y = y; #endif epd_write_reg(0x4E); // set RAM x address count to 0; @@ -386,6 +437,17 @@ void epd_writedata(uint8_t *Image1, uint32_t length) epd_cs_set(); } +void epd_writedata2(uint8_t data, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(data); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; @@ -414,6 +476,12 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) _epd_write_data_over(); epd_cs_set(); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif + epd_update(); } @@ -465,6 +533,11 @@ void epd_displayRED(uint8_t *Image) epd_write_reg(0x26); epd_writedata(Image, Width * Height); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif epd_update(); } diff --git a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h index be64e0f..769d9e8 100644 --- a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h +++ b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h @@ -8,11 +8,12 @@ extern "C" #include "ch32v10x.h" +//#define EPD_42 //#define EPD_29 //#define EPD_213 //#define EPD_154 -#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) +#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) && (!defined EPD_42) #error EPD Type Undefine #endif @@ -31,6 +32,10 @@ extern "C" #define EPD_H 200 #endif +#ifdef EPD_42 +#define EPD_W 400 +#define EPD_H 300 +#endif #define EPD_OK 0 #define EPD_ERROR 1 @@ -76,6 +81,7 @@ extern "C" void epd_init_internalTempSensor(void); void epd_update(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); diff --git a/Example/EpaperModuleTest_CH32V103/User/main.c b/Example/EpaperModuleTest_CH32V103/User/main.c index 39f8ad1..03a87aa 100644 --- a/Example/EpaperModuleTest_CH32V103/User/main.c +++ b/Example/EpaperModuleTest_CH32V103/User/main.c @@ -15,7 +15,7 @@ #include "bmp.h" // define for White Black Red Epaper Module -#define EPD_BWR +//#define EPD_BWR uint8_t image_bw[EPD_W_BUFF_SIZE * EPD_H]; #ifdef EPD_BWR @@ -56,16 +56,25 @@ int main(void) epd_init(); #ifdef EPD_BWR + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); - epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); epd_paint_selectimage(image_red); epd_paint_clear(EPD_COLOR_WHITE); + + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #endif epd_display(image_bw, image_red); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -83,6 +92,10 @@ int main(void) #ifdef EPD_29 epd_paint_showString(10, 0, (uint8_t *)&"2.9 Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); @@ -99,8 +112,13 @@ int main(void) #endif epd_display(image_bw, image_red); + +#else + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); @@ -109,8 +127,12 @@ int main(void) epd_paint_showPicture((EPD_H - 200) / 2,(EPD_W - 64) / 2,200,64,gImage_5,EPD_COLOR_WHITE); #else epd_paint_clear(EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); #endif + #endif epd_displayBW(image_bw); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -138,11 +160,15 @@ epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SI epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif - +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); + epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif #if 1 epd_paint_showString(10,100,(uint8_t *)&"CH32V103C8T6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else - epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); + epd_paint_drawRectangle(10, EPD_W-20, EPD_H - 10, EPD_W-6, EPD_COLOR_BLACK, 1); #endif sprintf((char *)&text, ">> Partial Mode"); diff --git a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c index 13c5f17..6e4cb34 100644 --- a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c +++ b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c @@ -208,6 +208,7 @@ uint8_t epd_init(void) if (epd_wait_busy()) return 1; + #if defined(EPD_29) || defined(EPD_213) || defined(EPD_154) epd_write_reg(0x01); // Driver output control #if defined(EPD_29) || defined(EPD_213) epd_write_data(0x27); @@ -251,6 +252,21 @@ uint8_t epd_init(void) epd_write_reg(0x21); // Display update control epd_write_data(0x00); epd_write_data(0x80); + #endif + + #elif defined(EPD_42) + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x40); + epd_write_data(0x00); + epd_write_reg(0x01); // Set MUX as 300 + epd_write_data(0x2B); + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x01); + epd_write_reg(0x11); // data entry mode + epd_write_data(0x03); // X-mode + epd_address_set(0,0,EPD_W-1,EPD_H-1); #endif epd_write_reg(0x18); // Read built-in temperature sensor @@ -278,6 +294,12 @@ uint8_t epd_init_partial(void) } _epd_write_data_over(); epd_cs_set(); + #elif defined(EPD_42) + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x80); + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application #endif return 0; @@ -293,8 +315,13 @@ epd_power_off(); uint8_t epd_power_on(void) { + #if defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xe0); + #else epd_write_reg(0x22); // Display Update Control epd_write_data(0xf8); + #endif epd_write_reg(0x20); // Activate Display Update Sequence return epd_wait_busy(); @@ -316,15 +343,20 @@ void epd_init_internalTempSensor(void) epd_write_reg(0x1A); epd_write_data(0x7F); - epd_write_data(0xF0); +// epd_write_data(0xF0); } void epd_update(void) { + + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xF4); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xF7); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -334,10 +366,14 @@ void epd_update(void) void epd_update_partial(void) { + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xFC); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xFF); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xCC); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -345,6 +381,19 @@ void epd_update_partial(void) epd_wait_busy(); } +void epd_address_set(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end) +{ + epd_write_reg(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + epd_write_data((x_start>>3) & 0xFF); + epd_write_data((x_end>>3) & 0xFF); + + epd_write_reg(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + epd_write_data(y_start & 0xFF); + epd_write_data((y_start >> 8) & 0xFF); + epd_write_data(y_end & 0xFF); + epd_write_data((y_end >> 8) & 0xFF); +} + void epd_setpos(uint16_t x, uint16_t y) { uint8_t _x; @@ -354,8 +403,10 @@ void epd_setpos(uint16_t x, uint16_t y) #ifdef EPD_154 _y = 199 - y; - #else + #elif defined(EPD_29) || defined(EPD_213) _y = 295 - y; + #elif defined(EPD_42) + _y = y; #endif epd_write_reg(0x4E); // set RAM x address count to 0; @@ -376,6 +427,17 @@ void epd_writedata(uint8_t *Image1, uint32_t length) epd_cs_set(); } +void epd_writedata2(uint8_t data, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(data); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; @@ -404,6 +466,12 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) _epd_write_data_over(); epd_cs_set(); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif + epd_update(); } @@ -455,6 +523,11 @@ void epd_displayRED(uint8_t *Image) epd_write_reg(0x26); epd_writedata(Image, Width * Height); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif epd_update(); } diff --git a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h index f9dbc60..1653675 100644 --- a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h +++ b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h @@ -8,11 +8,12 @@ extern "C" #include "gd32f10x.h" +//#define EPD_42 //#define EPD_29 //#define EPD_213 //#define EPD_154 -#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) +#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) && (!defined EPD_42) #error EPD Type Undefine #endif @@ -31,6 +32,10 @@ extern "C" #define EPD_H 200 #endif +#ifdef EPD_42 +#define EPD_W 400 +#define EPD_H 300 +#endif #define EPD_OK 0 #define EPD_ERROR 1 @@ -76,6 +81,7 @@ extern "C" void epd_init_internalTempSensor(void); void epd_update(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); diff --git a/Example/EpaperModuleTest_GD32F103/Src/main.c b/Example/EpaperModuleTest_GD32F103/Src/main.c index c0bd4a2..b41e445 100644 --- a/Example/EpaperModuleTest_GD32F103/Src/main.c +++ b/Example/EpaperModuleTest_GD32F103/Src/main.c @@ -18,7 +18,7 @@ #include "bmp.h" // define for White Black Red Epaper Module -#define EPD_BWR +//#define EPD_BWR uint8_t image_bw[EPD_W_BUFF_SIZE * EPD_H]; #ifdef EPD_BWR @@ -56,16 +56,25 @@ int main(void) epd_init(); #ifdef EPD_BWR + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); - epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); epd_paint_selectimage(image_red); epd_paint_clear(EPD_COLOR_WHITE); + + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #endif epd_display(image_bw, image_red); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -83,6 +92,10 @@ int main(void) #ifdef EPD_29 epd_paint_showString(10, 0, (uint8_t *)&"2.9 Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); @@ -99,8 +112,13 @@ int main(void) #endif epd_display(image_bw, image_red); + +#else + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); @@ -109,8 +127,12 @@ int main(void) epd_paint_showPicture((EPD_H - 200) / 2,(EPD_W - 64) / 2,200,64,gImage_5,EPD_COLOR_WHITE); #else epd_paint_clear(EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); #endif + #endif epd_displayBW(image_bw); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -138,11 +160,15 @@ epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SI epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif - +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); + epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif #if 1 epd_paint_showString(10,100,(uint8_t *)&"GD32F103CBT6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else - epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); + epd_paint_drawRectangle(10, EPD_W-20, EPD_H - 10, EPD_W-6, EPD_COLOR_BLACK, 1); #endif sprintf((char *)&text, ">> Partial Mode"); diff --git a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c index 3902730..e8a1780 100644 --- a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c +++ b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c @@ -208,6 +208,7 @@ uint8_t epd_init(void) if (epd_wait_busy()) return 1; + #if defined(EPD_29) || defined(EPD_213) || defined(EPD_154) epd_write_reg(0x01); // Driver output control #if defined(EPD_29) || defined(EPD_213) epd_write_data(0x27); @@ -251,6 +252,21 @@ uint8_t epd_init(void) epd_write_reg(0x21); // Display update control epd_write_data(0x00); epd_write_data(0x80); + #endif + + #elif defined(EPD_42) + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x40); + epd_write_data(0x00); + epd_write_reg(0x01); // Set MUX as 300 + epd_write_data(0x2B); + epd_write_data(0x01); + epd_write_data(0x00); + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x01); + epd_write_reg(0x11); // data entry mode + epd_write_data(0x03); // X-mode + epd_address_set(0,0,EPD_W-1,EPD_H-1); #endif epd_write_reg(0x18); // Read built-in temperature sensor @@ -278,6 +294,12 @@ uint8_t epd_init_partial(void) } _epd_write_data_over(); epd_cs_set(); + #elif defined(EPD_42) + epd_write_reg(0x3C); //BorderWavefrom + epd_write_data(0x80); + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application #endif return 0; @@ -293,8 +315,13 @@ epd_power_off(); uint8_t epd_power_on(void) { + #if defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xe0); + #else epd_write_reg(0x22); // Display Update Control epd_write_data(0xf8); + #endif epd_write_reg(0x20); // Activate Display Update Sequence return epd_wait_busy(); @@ -316,15 +343,20 @@ void epd_init_internalTempSensor(void) epd_write_reg(0x1A); epd_write_data(0x7F); - epd_write_data(0xF0); +// epd_write_data(0xF0); } void epd_update(void) { + + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xF4); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xF7); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -334,10 +366,14 @@ void epd_update(void) void epd_update_partial(void) { + #ifdef EPD_154 epd_write_reg(0x22); // Display Update Control -#ifdef EPD_154 epd_write_data(0xFC); + #elif defined EPD_42 + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xFF); #else + epd_write_reg(0x22); // Display Update Control epd_write_data(0xCC); #endif epd_write_reg(0x20); // Activate Display Update Sequence @@ -345,6 +381,19 @@ void epd_update_partial(void) epd_wait_busy(); } +void epd_address_set(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end) +{ + epd_write_reg(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + epd_write_data((x_start>>3) & 0xFF); + epd_write_data((x_end>>3) & 0xFF); + + epd_write_reg(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + epd_write_data(y_start & 0xFF); + epd_write_data((y_start >> 8) & 0xFF); + epd_write_data(y_end & 0xFF); + epd_write_data((y_end >> 8) & 0xFF); +} + void epd_setpos(uint16_t x, uint16_t y) { uint8_t _x; @@ -354,8 +403,10 @@ void epd_setpos(uint16_t x, uint16_t y) #ifdef EPD_154 _y = 199 - y; - #else + #elif defined(EPD_29) || defined(EPD_213) _y = 295 - y; + #elif defined(EPD_42) + _y = y; #endif epd_write_reg(0x4E); // set RAM x address count to 0; @@ -376,6 +427,17 @@ void epd_writedata(uint8_t *Image1, uint32_t length) epd_cs_set(); } +void epd_writedata2(uint8_t data, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(data); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; @@ -404,6 +466,12 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) _epd_write_data_over(); epd_cs_set(); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif + epd_update(); } @@ -455,6 +523,11 @@ void epd_displayRED(uint8_t *Image) epd_write_reg(0x26); epd_writedata(Image, Width * Height); + #if defined EPD_42 + epd_write_reg(0x21); // Display Update Controll + epd_write_data(0x00); // RED normal + epd_write_data(0x00); // single chip application + #endif epd_update(); } diff --git a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h index 40eef6c..c8df27e 100644 --- a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h +++ b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h @@ -8,11 +8,12 @@ extern "C" #include "gd32f30x.h" +//#define EPD_42 //#define EPD_29 //#define EPD_213 //#define EPD_154 -#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) +#if (!defined EPD_29) && (!defined EPD_213) && (!defined EPD_154) && (!defined EPD_42) #error EPD Type Undefine #endif @@ -31,6 +32,10 @@ extern "C" #define EPD_H 200 #endif +#ifdef EPD_42 +#define EPD_W 400 +#define EPD_H 300 +#endif #define EPD_OK 0 #define EPD_ERROR 1 @@ -76,6 +81,7 @@ extern "C" void epd_init_internalTempSensor(void); void epd_update(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); diff --git a/Example/EpaperModuleTest_GD32F303/Src/main.c b/Example/EpaperModuleTest_GD32F303/Src/main.c index a54d22d..7e517fb 100644 --- a/Example/EpaperModuleTest_GD32F303/Src/main.c +++ b/Example/EpaperModuleTest_GD32F303/Src/main.c @@ -24,7 +24,7 @@ void jump_to_app(uint32_t addr); #include "bmp.h" // define for White Black Red Epaper Module -#define EPD_BWR +//#define EPD_BWR uint8_t image_bw[EPD_W_BUFF_SIZE * EPD_H]; #ifdef EPD_BWR @@ -82,16 +82,25 @@ int main(void) epd_init(); #ifdef EPD_BWR + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); + #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); - epd_paint_newimage(image_red, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); epd_paint_selectimage(image_red); epd_paint_clear(EPD_COLOR_WHITE); + + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #endif epd_display(image_bw, image_red); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -109,6 +118,10 @@ int main(void) #ifdef EPD_29 epd_paint_showString(10, 0, (uint8_t *)&"2.9 Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); @@ -125,8 +138,13 @@ int main(void) #endif epd_display(image_bw, image_red); + +#else + #ifdef EPD_42 + epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_270, EPD_COLOR_WHITE); #else epd_paint_newimage(image_bw, EPD_W, EPD_H, EPD_ROTATE_180, EPD_COLOR_WHITE); + #endif epd_paint_selectimage(image_bw); @@ -135,8 +153,12 @@ int main(void) epd_paint_showPicture((EPD_H - 200) / 2,(EPD_W - 64) / 2,200,64,gImage_5,EPD_COLOR_WHITE); #else epd_paint_clear(EPD_COLOR_WHITE); + #ifdef EPD_42 + epd_paint_showPicture((EPD_W - 250) / 2, (EPD_H - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); + #else epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); #endif + #endif epd_displayBW(image_bw); epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); @@ -164,11 +186,15 @@ epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SI epd_paint_showString(10, 50, (uint8_t *)&"with 296 x 128 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); #endif - +#ifdef EPD_42 + epd_paint_showString(10, 0, (uint8_t *)&"4.2 Inch Epaper Module", EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_paint_showString(10, 50, (uint8_t *)&"with 400 x 300 resolution", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); + epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); +#endif #if 1 epd_paint_showString(10,100,(uint8_t *)&"GD32F303CCT6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else - epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); + epd_paint_drawRectangle(10, EPD_W-20, EPD_H - 10, EPD_W-6, EPD_COLOR_BLACK, 1); #endif sprintf((char *)&text, ">> Partial Mode");