From 8dfe2cff0a2bf6090e9649605f0cea65005e6c3a Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Tue, 20 Sep 2022 17:13:25 +0800 Subject: [PATCH 1/2] Using a new way of running, you do not need to modify main.c, and specify the program to run directly at make time. --- RaspberryPi_JetsonNano/c/Makefile | 7 +- RaspberryPi_JetsonNano/c/examples/main.c | 244 +++++++++++++++-------- 2 files changed, 167 insertions(+), 84 deletions(-) diff --git a/RaspberryPi_JetsonNano/c/Makefile b/RaspberryPi_JetsonNano/c/Makefile index a3edad5..77393f2 100644 --- a/RaspberryPi_JetsonNano/c/Makefile +++ b/RaspberryPi_JetsonNano/c/Makefile @@ -13,8 +13,8 @@ JETSON_DEV_C = $(wildcard $(DIR_BIN)/sysfs_software_spi.o $(DIR_BIN)/sysfs_gpio. DEBUG = -D DEBUG - USELIB_RPI = USE_BCM2835_LIB -#USELIB_RPI = USE_WIRINGPI_LIB +USELIB_RPI = USE_BCM2835_LIB +# USELIB_RPI = USE_WIRINGPI_LIB # USELIB_RPI = USE_DEV_LIB LIB_RPI=-Wl,--gc-sections @@ -41,10 +41,11 @@ DEBUG_JETSONI = -D $(USELIB_JETSONI) -D JETSON RPI:RPI_DEV RPI_epd JETSON: JETSON_DEV JETSON_epd +EPD = NULL TARGET = epd CC = gcc MSG = -g -O -ffunction-sections -fdata-sections -Wall -CFLAGS += $(MSG) +CFLAGS += $(MSG) -D $(EPD) RPI_epd:${OBJ_O} echo $(@) diff --git a/RaspberryPi_JetsonNano/c/examples/main.c b/RaspberryPi_JetsonNano/c/examples/main.c index 6e07f6a..8b4e64e 100644 --- a/RaspberryPi_JetsonNano/c/examples/main.c +++ b/RaspberryPi_JetsonNano/c/examples/main.c @@ -16,90 +16,172 @@ int main(void) // Exception handling:ctrl + c signal(SIGINT, Handler); - // EPD_1in64g_test(); - // EPD_2in36g_test(); - // EPD_3in0g_test(); - // EPD_4in37g_test(); - // EPD_7in3g_test(); - - // EPD_1in54_DES_test(); - // EPD_2in13_DES_test(); - // EPD_2in9_DES_test(); - - // EPD_1in02d_test(); - - // EPD_1in54_test(); - // EPD_1in54_V2_test(); - // EPD_1in54b_test(); - // EPD_1in54b_V2_test(); - // EPD_1in54c_test(); - - // EPD_2in66_test(); - // EPD_2in66b_test(); - - // EPD_2in7_test(); - // EPD_2in7_V2_test(); - // EPD_2in7b_test(); - // EPD_2in7b_V2_test(); - - // EPD_2in9_test(); - // EPD_2in9_V2_test(); - // EPD_2in9bc_test(); - // EPD_2in9b_V3_test(); - // EPD_2in9d_test(); - - // EPD_2in13_test(); - // EPD_2in13_V2_test(); - // EPD_2in13_V3_test(); - // EPD_2in13bc_test(); - // EPD_2in13b_V3_test(); - // EPD_2in13b_V4_test(); - // EPD_2in13d_test(); - - // EPD_3in52_test(); - // EPD_3in7_test(); - - // EPD_4in01f_test(); - - // EPD_4in2_test(); - // EPD_4in2_V2_test(); - // EPD_4in2bc_test(); - // EPD_4in2b_V2_test(); - - // EPD_4in37b_test(); - - // EPD_5in65f_test(); - - // EPD_5in83_test(); - // EPD_5in83_V2_test(); - // EPD_5in83bc_test(); - // EPD_5in83b_V2_test(); - - // EPD_5in84_test(); +#ifdef _1in64g + EPD_1in64g_test(); - // EPD_7in5_test(); - // EPD_7in5_V2_test(); - - // EPD_7in5bc_test(); - // EPD_7in5b_V2_test(); - - // EPD_7in5_HD_test(); - // EPD_7in5b_HD_test(); - - // EPD_10in2b_test(); +#elif _2in36g + EPD_2in36g_test(); - // EPD_13in3_test(); +#elif _3in0g + EPD_3in0g_test(); +#elif _4in37g + EPD_4in37g_test(); + +#elif _7in3g + EPD_7in3g_test(); + +#elif _1in54des + EPD_1in54_DES_test(); + +#elif _2in13des + EPD_2in13_DES_test(); + +#elif _2in9des + EPD_2in9_DES_test(); + +#elif _1in02d + EPD_1in02d_test(); + +#elif _1in54 + EPD_1in54_test(); + +#elif _1in54V2 + EPD_1in54_V2_test(); + +#elif _1in54b + EPD_1in54b_test(); + +#elif _1in54bV2 + EPD_1in54b_V2_test(); + +#elif _1in54c + EPD_1in54c_test(); + +#elif _2in66 + EPD_2in66_test(); + +#elif _2in66b + EPD_2in66b_test(); + +#elif _2in7 + EPD_2in7_test(); + +#elif _2in7V2 + EPD_2in7_V2_test(); + +#elif _2in7b + EPD_2in7b_test(); + +#elif _2in7bV2 + EPD_2in7b_V2_test(); + +#elif _2in9 + EPD_2in9_test(); + +#elif _2in9V2 + EPD_2in9_V2_test(); + +#elif _2in9bc + EPD_2in9bc_test(); + +#elif _2in9bV3 + EPD_2in9b_V3_test(); + +#elif _2in9d + EPD_2in9d_test(); + +#elif _2in13 + EPD_2in13_test(); + +#elif _2in13V2 + EPD_2in13_V2_test(); + +#elif _2in13V3 + EPD_2in13_V3_test(); + +#elif _2in13bc + EPD_2in13bc_test(); + +#elif _2in13bV3 + EPD_2in13b_V3_test(); + +#elif _2in13bV4 + EPD_2in13b_V4_test(); + +#elif _2in13d + EPD_2in13d_test(); + +#elif _3in52 + EPD_3in52_test(); + +#elif _3in7 + EPD_3in7_test(); + +#elif _4in01f + EPD_4in01f_test(); + +#elif _4in2 + EPD_4in2_test(); + +#elif _4in2V2 + EPD_4in2_V2_test(); + +#elif _4in2bc + EPD_4in2bc_test(); + +#elif _4in2bV2 + EPD_4in2b_V2_test(); + +#elif _4in37b + EPD_4in37b_test(); + +#elif _5in65f + EPD_5in65f_test(); + +#elif _5in83 + EPD_5in83_test(); + +#elif _5in83V2 + EPD_5in83_V2_test(); + +#elif _5in83bc + EPD_5in83bc_test(); + +#elif _5in83bV2 + EPD_5in83b_V2_test(); + +#elif _5in84 + EPD_5in84_test(); + +#elif _7in5 + EPD_7in5_test(); + +#elif _7in5V2 + EPD_7in5_V2_test(); + +#elif _7in5bc + EPD_7in5bc_test(); + +#elif _7in5bV2 + EPD_7in5b_V2_test(); + +#elif _7in5HD + EPD_7in5_HD_test(); + +#elif _7in5bHD + EPD_7in5b_HD_test(); + +#elif _10in2b + EPD_10in2b_test(); + +#elif _13in3 + EPD_13in3_test(); +#else + printf("Please specify the EPD model when making. \r\n"); + printf("Example: When you run the EPD_7in5_V2_test() program, input: sudo make clean && make -j6 EPD=_7in5V2 \r\n"); + printf("Don't know which program you need to run? Refer to the user manual (Wiki) and main.c \r\n"); +#endif - // For Test - // if(DEV_Module_Init()!=0){ - // return -1; - // } - // while(1) { - // EPD_7in5b_V2_test(); - // DEV_Delay_ms(10000); - // } - // DEV_Module_Exit(); - // return 0; } From 395d30e35e3fa5877a884eeeb7041521e5236531 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Tue, 20 Sep 2022 17:36:05 +0800 Subject: [PATCH 2/2] Fixed a bug in the sleep function introduced in another version of 3.7inch e-paper. --- Arduino/epd3in7/epd3in7.cpp | 7 ++----- RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c | 7 ++----- RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd3in7.py | 7 ++----- STM32/STM32-F103ZET6/User/e-Paper/EPD_3in7.c | 7 ++----- 4 files changed, 8 insertions(+), 20 deletions(-) diff --git a/Arduino/epd3in7/epd3in7.cpp b/Arduino/epd3in7/epd3in7.cpp index 762f387..dc4aa91 100644 --- a/Arduino/epd3in7/epd3in7.cpp +++ b/Arduino/epd3in7/epd3in7.cpp @@ -382,10 +382,7 @@ void Epd::Clear(UBYTE mode) { * You can use EPD_Reset() to awaken */ void Epd::Sleep(void) { - SendCommand(0X50); - SendData(0xf7); - SendCommand(0X02); //power off - SendCommand(0X07); //deep sleep - SendData(0xA5); + SendCommand(0X10); //deep sleep + SendData(0x03); } /* END OF FILE */ diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c index 673d9b1..a477f61 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c @@ -584,9 +584,6 @@ parameter: ******************************************************************************/ void EPD_3IN7_Sleep(void) { - EPD_3IN7_SendCommand(0X50); - EPD_3IN7_SendData(0xf7); - EPD_3IN7_SendCommand(0X02); //power off - EPD_3IN7_SendCommand(0X07); //deep sleep - EPD_3IN7_SendData(0xA5); + EPD_3IN7_SendCommand(0X10); //enter deep sleep + EPD_3IN7_SendData(0x03); } diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd3in7.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd3in7.py index b36632b..3768568 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd3in7.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd3in7.py @@ -455,11 +455,8 @@ class EPD: def sleep(self): - self.send_command(0X50) # DEEP_SLEEP_MODE - self.send_data(0xf7) - self.send_command(0X02) #power off - self.send_command(0X07) #deep sleep - self.send_data(0xA5) + self.send_command(0X10) #deep sleep + self.send_data(0x03) epdconfig.delay_ms(2000) epdconfig.module_exit() diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_3in7.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_3in7.c index 90b6b0d..4e99c71 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_3in7.c +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_3in7.c @@ -577,9 +577,6 @@ parameter: ******************************************************************************/ void EPD_3IN7_Sleep(void) { - EPD_3IN7_SendCommand(0X50); - EPD_3IN7_SendData(0xf7); - EPD_3IN7_SendCommand(0X02); //power off - EPD_3IN7_SendCommand(0X07); //deep sleep - EPD_3IN7_SendData(0xA5); + EPD_3IN7_SendCommand(0X10); //deep sleep + EPD_3IN7_SendData(0x03); }