Modify the compilation logic to speed up the first compilation and simplify operations.

This commit is contained in:
SSYYL 2022-10-13 11:58:25 +08:00
parent 0f3d02f894
commit 1e51790b89
11 changed files with 376 additions and 331 deletions

View File

@ -1,11 +1,179 @@
DIR_Config = ./lib/Config
DIR_EPD = ./lib/e-Paper
DIR_FONTS = ./lib/Fonts
DIR_GUI = ./lib/GUI
DIR_Config = ./lib/Config
DIR_EPD = ./lib/e-Paper
DIR_FONTS = ./lib/Fonts
DIR_GUI = ./lib/GUI
DIR_Examples = ./examples
DIR_BIN = ./bin
DIR_BIN = ./bin
OBJ_C = $(wildcard ${DIR_EPD}/*.c ${DIR_GUI}/*.c ${DIR_Examples}/*.c ${DIR_FONTS}/*.c )
EPD = NULL
ifeq ($(EPD), epd1in64g)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in64g.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in64g_test.c
else ifeq ($(EPD), epd2in36g)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in36g.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in36g_test.c
else ifeq ($(EPD), epd3in0g)
OBJ_C_EPD = ${DIR_EPD}/EPD_3in0g.c
OBJ_C_Examples = ${DIR_Examples}/EPD_3in0g_test.c
else ifeq ($(EPD), epd4in37g)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in37g.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in37g_test.c
else ifeq ($(EPD), epd7in3g)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in3g.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in3g_test.c
else ifeq ($(EPD), epd1in54des)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in54_DES.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in54_DES_test.c
else ifeq ($(EPD), epd2in13des)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_DES.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_DES_test.c
else ifeq ($(EPD), epd2in9des)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in9_DES.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in9_DES_test.c
else ifeq ($(EPD), epd1in02d)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in02d.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in02d_test.c
else ifeq ($(EPD), epd1in54)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in54.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in54_test.c
else ifeq ($(EPD), epd1in54V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in54_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in54_V2_test.c
else ifeq ($(EPD), epd1in54b)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in54b.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in54b_test.c
else ifeq ($(EPD), epd1in54bV2)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in54b_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in54b_V2_test.c
else ifeq ($(EPD), epd1in54c)
OBJ_C_EPD = ${DIR_EPD}/EPD_1in54c.c
OBJ_C_Examples = ${DIR_Examples}/EPD_1in54c_test.c
else ifeq ($(EPD), epd2in66)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in66.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in66_test.c
else ifeq ($(EPD), epd2in66b)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in66b.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in66b_test.c
else ifeq ($(EPD), epd2in7)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in7.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in7_test.c
else ifeq ($(EPD), epd2in7V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in7_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in7_V2_test.c
else ifeq ($(EPD), epd2in7b)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in7b.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in7b_test.c
else ifeq ($(EPD), epd2in7bV2)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in7b_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in7b_V2_test.c
else ifeq ($(EPD), epd2in9)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in9.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in9_test.c
else ifeq ($(EPD), epd2in9V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in9_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in9_V2_test.c
else ifeq ($(EPD), epd2in9bc)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in9bc.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in9bc_test.c
else ifeq ($(EPD), epd2in9bV3)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in9b_V3.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in9b_V3_test.c
else ifeq ($(EPD), epd2in9d)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in9d.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in9d_test.c
else ifeq ($(EPD), epd2in13)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_test.c
else ifeq ($(EPD), epd2in13V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_V2_test.c
else ifeq ($(EPD), epd2in13V3)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_V3.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_V3_test.c
else ifeq ($(EPD), epd2in13bc)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13bc.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13bc_test.c
else ifeq ($(EPD), epd2in13bV3)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13b_V3.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13b_V3_test.c
else ifeq ($(EPD), epd2in13bV4)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13b_V4.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13b_V4_test.c
else ifeq ($(EPD), epd2in13d)
OBJ_C_EPD = ${DIR_EPD}/EPD_2in13d.c
OBJ_C_Examples = ${DIR_Examples}/EPD_2in13d_test.c
else ifeq ($(EPD), epd3in52)
OBJ_C_EPD = ${DIR_EPD}/EPD_3in52.c
OBJ_C_Examples = ${DIR_Examples}/EPD_3in52_test.c
else ifeq ($(EPD), epd3in7)
OBJ_C_EPD = ${DIR_EPD}/EPD_3in7.c
OBJ_C_Examples = ${DIR_Examples}/EPD_3in7_test.c
else ifeq ($(EPD), epd4in01f)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in01f.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in01f_test.c
else ifeq ($(EPD), epd4in2)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in2_test.c
else ifeq ($(EPD), epd4in2V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in2_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in2_V2_test.c
else ifeq ($(EPD), epd4in2bc)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in2bc.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in2bc_test.c
else ifeq ($(EPD), epd4in2bV2)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in2b_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in2b_V2_test.c
else ifeq ($(EPD), epd4in37b)
OBJ_C_EPD = ${DIR_EPD}/EPD_4in37b.c
OBJ_C_Examples = ${DIR_Examples}/EPD_4in37b_test.c
else ifeq ($(EPD), epd5in65f)
OBJ_C_EPD = ${DIR_EPD}/EPD_5in65f.c
OBJ_C_Examples = ${DIR_Examples}/EPD_5in65f_test.c
else ifeq ($(EPD), epd5in83)
OBJ_C_EPD = ${DIR_EPD}/EPD_5in83.c
OBJ_C_Examples = ${DIR_Examples}/EPD_5in83_test.c
else ifeq ($(EPD), epd5in83V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_5in83_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_5in83_V2_test.c
else ifeq ($(EPD), epd5in83bc)
OBJ_C_EPD = ${DIR_EPD}/EPD_5in83bc.c
OBJ_C_Examples = ${DIR_Examples}/EPD_5in83bc_test.c
else ifeq ($(EPD), epd5in83bV2)
OBJ_C_EPD = ${DIR_EPD}/EPD_5in83b_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_5in83b_V2_test.c
else ifeq ($(EPD), epd5in84)
OBJ_C_EPD = ${DIR_EPD}/EPD_5in84.c
OBJ_C_Examples = ${DIR_Examples}/EPD_5in84_test.c
else ifeq ($(EPD), epd7in5)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_test.c
else ifeq ($(EPD), epd7in5V2)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_V2_test.c
else ifeq ($(EPD), epd7in5bc)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5bc.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5bc_test.c
else ifeq ($(EPD), epd7in5bV2)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5b_V2.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5b_V2_test.c
else ifeq ($(EPD), epd7in5HD)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_HD.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_HD_test.c
else ifeq ($(EPD), epd7in5bHD)
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5b_HD.c
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5b_HD_test.c
else ifeq ($(EPD), epd10in2b)
OBJ_C_EPD = ${DIR_EPD}/EPD_10in2b.c
OBJ_C_Examples = ${DIR_Examples}/EPD_10in2b_test.c
else ifeq ($(EPD), epd13in3)
OBJ_C_EPD = ${DIR_EPD}/EPD_13in3.c
OBJ_C_Examples = ${DIR_Examples}/EPD_13in3_test.c
else
OBJ_C_EPD = NULL
OBJ_C_Examples = NULL
endif
OBJ_C = $(wildcard ${OBJ_C_EPD} ${DIR_GUI}/*.c ${OBJ_C_Examples} ${DIR_Examples}/main.c ${DIR_Examples}/ImageData2.c ${DIR_Examples}/ImageData.c ${DIR_FONTS}/*.c )
OBJ_O = $(patsubst %.c,${DIR_BIN}/%.o,$(notdir ${OBJ_C}))
RPI_DEV_C = $(wildcard $(DIR_BIN)/dev_hardware_SPI.o $(DIR_BIN)/RPI_sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )
JETSON_DEV_C = $(wildcard $(DIR_BIN)/sysfs_software_spi.o $(DIR_BIN)/sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )
@ -19,20 +187,20 @@ USELIB_RPI = USE_BCM2835_LIB
LIB_RPI=-Wl,--gc-sections
ifeq ($(USELIB_RPI), USE_BCM2835_LIB)
LIB_RPI += -lbcm2835 -lm
LIB_RPI += -lbcm2835 -lm
else ifeq ($(USELIB_RPI), USE_WIRINGPI_LIB)
LIB_RPI += -lwiringPi -lm
LIB_RPI += -lwiringPi -lm
else ifeq ($(USELIB_RPI), USE_DEV_LIB)
LIB_RPI += -lm
LIB_RPI += -lm
endif
DEBUG_RPI = -D $(USELIB_RPI) -D RPI
USELIB_JETSONI = USE_DEV_LIB
# USELIB_JETSONI = USE_HARDWARE_LIB
ifeq ($(USELIB_JETSONI), USE_DEV_LIB)
LIB_JETSONI = -lm
LIB_JETSONI = -lm
else ifeq ($(USELIB_JETSONI), USE_HARDWARE_LIB)
LIB_JETSONI = -lm
LIB_JETSONI = -lm
endif
DEBUG_JETSONI = -D $(USELIB_JETSONI) -D JETSON
@ -41,7 +209,6 @@ 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
@ -50,7 +217,7 @@ CFLAGS += $(MSG) -D $(EPD)
RPI_epd:${OBJ_O}
echo $(@)
$(CC) $(CFLAGS) -D RPI $(OBJ_O) $(RPI_DEV_C) -o $(TARGET) $(LIB_RPI) $(DEBUG)
JETSON_epd:${OBJ_O}
echo $(@)
$(CC) $(CFLAGS) $(OBJ_O) $(JETSON_DEV_C) -o $(TARGET) $(LIB_JETSONI) $(DEBUG)
@ -58,26 +225,26 @@ JETSON_epd:${OBJ_O}
$(shell mkdir -p $(DIR_BIN))
${DIR_BIN}/%.o:$(DIR_Examples)/%.c
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) -I $(DIR_GUI) -I $(DIR_EPD) $(DEBUG)
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) -I $(DIR_GUI) -I $(DIR_EPD) $(DEBUG)
${DIR_BIN}/%.o:$(DIR_EPD)/%.c
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
${DIR_BIN}/%.o:$(DIR_FONTS)/%.c
$(CC) $(CFLAGS) -c $< -o $@ $(DEBUG)
$(CC) $(CFLAGS) -c $< -o $@ $(DEBUG)
${DIR_BIN}/%.o:$(DIR_GUI)/%.c
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
RPI_DEV:
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/dev_hardware_SPI.c -o $(DIR_BIN)/dev_hardware_SPI.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/RPI_sysfs_gpio.c -o $(DIR_BIN)/RPI_sysfs_gpio.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/dev_hardware_SPI.c -o $(DIR_BIN)/dev_hardware_SPI.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/RPI_sysfs_gpio.c -o $(DIR_BIN)/RPI_sysfs_gpio.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_RPI) $(DEBUG)
JETSON_DEV:
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_software_spi.c -o $(DIR_BIN)/sysfs_software_spi.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_gpio.c -o $(DIR_BIN)/sysfs_gpio.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_software_spi.c -o $(DIR_BIN)/sysfs_software_spi.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_gpio.c -o $(DIR_BIN)/sysfs_gpio.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_JETSONI) $(DEBUG)
clean :
rm $(DIR_BIN)/*.*

View File

@ -1,82 +0,0 @@
DIR_Config = ./lib/Config
DIR_EPD = ./lib/e-Paper
DIR_FONTS = ./lib/Fonts
DIR_GUI = ./lib/GUI
DIR_Examples = ./examples
DIR_BIN = ./bin
OBJ_C = $(wildcard ${DIR_EPD}/*.c ${DIR_GUI}/*.c ${DIR_Examples}/*.c ${DIR_FONTS}/*.c )
OBJ_O = $(patsubst %.c,${DIR_BIN}/%.o,$(notdir ${OBJ_C}))
RPI_DEV_C = $(wildcard $(DIR_BIN)/dev_hardware_SPI.o $(DIR_BIN)/RPI_sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )
JETSON_DEV_C = $(wildcard $(DIR_BIN)/sysfs_software_spi.o $(DIR_BIN)/sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )
$(shell if[! -e $(DIR_BIN)];then mkdir -p $(DIR_BIN); fi)
$(shell if[! -e $(DIR_BIN)];then mkdir -p $(DIR_BIN); fi)
DEBUG = -D DEBUG
# USELIB_RPI = USE_BCM2835_LIB
USELIB_RPI = USE_WIRINGPI_LIB
# USELIB_RPI = USE_DEV_LIB
ifeq ($(USELIB_RPI), USE_BCM2835_LIB)
LIB_RPI = -lbcm2835 -lm
else ifeq ($(USELIB_RPI), USE_WIRINGPI_LIB)
LIB_RPI = -lwiringPi -lm
else ifeq ($(USELIB_RPI), USE_DEV_LIB)
LIB_RPI = -lm
endif
DEBUG_RPI = -D $(USELIB_RPI) -D RPI
USELIB_JETSONI = USE_DEV_LIB
# USELIB_JETSONI = USE_HARDWARE_LIB
ifeq ($(USELIB_JETSONI), USE_DEV_LIB)
LIB_JETSONI = -lm
else ifeq ($(USELIB_JETSONI), USE_HARDWARE_LIB)
LIB_JETSONI = -lm
endif
DEBUG_JETSONI = -D $(USELIB_JETSONI) -D JETSON
.PHONY : RPI JETSON clean
RPI:RPI_DEV RPI_epd
JETSON: JETSON_DEV JETSON_epd
TARGET = epd
CC = gcc
MSG = -g -O0 -Wall
CFLAGS += $(MSG)
RPI_epd:${OBJ_O}
echo $(@)
$(CC) $(CFLAGS) -D RPI $(OBJ_O) $(RPI_DEV_C) -o $(TARGET) $(LIB_RPI) $(DEBUG)
JETSON_epd:${OBJ_O}
echo $(@)
$(CC) $(CFLAGS) $(OBJ_O) $(JETSON_DEV_C) -o $(TARGET) $(LIB_JETSONI) $(DEBUG)
${DIR_BIN}/%.o:$(DIR_Examples)/%.c
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) -I $(DIR_GUI) -I $(DIR_EPD) $(DEBUG)
${DIR_BIN}/%.o:$(DIR_EPD)/%.c
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
${DIR_BIN}/%.o:$(DIR_FONTS)/%.c
$(CC) $(CFLAGS) -c $< -o $@ $(DEBUG)
${DIR_BIN}/%.o:$(DIR_GUI)/%.c
$(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
RPI_DEV:
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/dev_hardware_SPI.c -o $(DIR_BIN)/dev_hardware_SPI.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/RPI_sysfs_gpio.c -o $(DIR_BIN)/RPI_sysfs_gpio.o $(LIB_RPI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_RPI) $(DEBUG)
JETSON_DEV:
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_software_spi.c -o $(DIR_BIN)/sysfs_software_spi.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_gpio.c -o $(DIR_BIN)/sysfs_gpio.o $(LIB_JETSONI) $(DEBUG)
$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_JETSONI) $(DEBUG)
clean :
rm $(DIR_BIN)/*.*
rm $(TARGET)

View File

@ -15,173 +15,173 @@ int main(void)
{
// Exception handling:ctrl + c
signal(SIGINT, Handler);
#ifdef _1in64g
#ifdef epd1in64g
EPD_1in64g_test();
#elif _2in36g
#elif epd2in36g
EPD_2in36g_test();
#elif _3in0g
#elif epd3in0g
EPD_3in0g_test();
#elif _4in37g
#elif epd4in37g
EPD_4in37g_test();
#elif _7in3g
#elif epd7in3g
EPD_7in3g_test();
#elif _1in54des
EPD_1in54_DES_test();
#elif _2in13des
EPD_2in13_DES_test();
#elif _2in9des
EPD_2in9_DES_test();
#elif _1in02d
#elif epd1in54des
EPD_1in54_DES_test();
#elif epd2in13des
EPD_2in13_DES_test();
#elif epd2in9des
EPD_2in9_DES_test();
#elif epd1in02d
EPD_1in02d_test();
#elif _1in54
#elif epd1in54
EPD_1in54_test();
#elif _1in54V2
#elif epd1in54V2
EPD_1in54_V2_test();
#elif _1in54b
#elif epd1in54b
EPD_1in54b_test();
#elif _1in54bV2
#elif epd1in54bV2
EPD_1in54b_V2_test();
#elif _1in54c
#elif epd1in54c
EPD_1in54c_test();
#elif _2in66
EPD_2in66_test();
#elif _2in66b
EPD_2in66b_test();
#elif _2in7
#elif epd2in66
EPD_2in66_test();
#elif epd2in66b
EPD_2in66b_test();
#elif epd2in7
EPD_2in7_test();
#elif _2in7V2
EPD_2in7_V2_test();
#elif _2in7b
#elif epd2in7V2
EPD_2in7_V2_test();
#elif epd2in7b
EPD_2in7b_test();
#elif _2in7bV2
EPD_2in7b_V2_test();
#elif _2in9
#elif epd2in7bV2
EPD_2in7b_V2_test();
#elif epd2in9
EPD_2in9_test();
#elif _2in9V2
EPD_2in9_V2_test();
#elif _2in9bc
#elif epd2in9V2
EPD_2in9_V2_test();
#elif epd2in9bc
EPD_2in9bc_test();
#elif _2in9bV3
#elif epd2in9bV3
EPD_2in9b_V3_test();
#elif _2in9d
#elif epd2in9d
EPD_2in9d_test();
#elif _2in13
#elif epd2in13
EPD_2in13_test();
#elif _2in13V2
EPD_2in13_V2_test();
#elif _2in13V3
EPD_2in13_V3_test();
#elif _2in13bc
#elif epd2in13V2
EPD_2in13_V2_test();
#elif epd2in13V3
EPD_2in13_V3_test();
#elif epd2in13bc
EPD_2in13bc_test();
#elif _2in13bV3
#elif epd2in13bV3
EPD_2in13b_V3_test();
#elif _2in13bV4
EPD_2in13b_V4_test();
#elif _2in13d
#elif epd2in13bV4
EPD_2in13b_V4_test();
#elif epd2in13d
EPD_2in13d_test();
#elif _3in52
#elif epd3in52
EPD_3in52_test();
#elif _3in7
#elif epd3in7
EPD_3in7_test();
#elif _4in01f
EPD_4in01f_test();
#elif _4in2
#elif epd4in01f
EPD_4in01f_test();
#elif epd4in2
EPD_4in2_test();
#elif _4in2V2
EPD_4in2_V2_test();
#elif _4in2bc
#elif epd4in2V2
EPD_4in2_V2_test();
#elif epd4in2bc
EPD_4in2bc_test();
#elif _4in2bV2
#elif epd4in2bV2
EPD_4in2b_V2_test();
#elif _4in37b
EPD_4in37b_test();
#elif _5in65f
EPD_5in65f_test();
#elif _5in83
#elif epd4in37b
EPD_4in37b_test();
#elif epd5in65f
EPD_5in65f_test();
#elif epd5in83
EPD_5in83_test();
#elif _5in83V2
#elif epd5in83V2
EPD_5in83_V2_test();
#elif _5in83bc
#elif epd5in83bc
EPD_5in83bc_test();
#elif _5in83bV2
#elif epd5in83bV2
EPD_5in83b_V2_test();
#elif _5in84
EPD_5in84_test();
#elif _7in5
#elif epd5in84
EPD_5in84_test();
#elif epd7in5
EPD_7in5_test();
#elif _7in5V2
#elif epd7in5V2
EPD_7in5_V2_test();
#elif _7in5bc
#elif epd7in5bc
EPD_7in5bc_test();
#elif _7in5bV2
#elif epd7in5bV2
EPD_7in5b_V2_test();
#elif _7in5HD
#elif epd7in5HD
EPD_7in5_HD_test();
#elif _7in5bHD
#elif epd7in5bHD
EPD_7in5b_HD_test();
#elif _10in2b
EPD_10in2b_test();
#elif _13in3
EPD_13in3_test();
#elif epd10in2b
EPD_10in2b_test();
#elif epd13in3
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");
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 EPD=epd7in5V2 \r\n");
printf("Don't know which program you need to run? Refer to the user manual (Wiki) and main.c \r\n");
#endif
return 0;
}

View File

@ -82,14 +82,6 @@ static void EPD_1IN64G_ReadBusyH(void)
}
Debug("e-Paper busy H release\r\n");
}
static void EPD_1IN64G_ReadBusyL(void)
{
Debug("e-Paper busy L\r\n");
while(DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy
DEV_Delay_ms(5);
}
Debug("e-Paper busy L release\r\n");
}
/******************************************************************************
function : Turn On Display

View File

@ -83,14 +83,6 @@ static void EPD_2IN36G_ReadBusyH(void)
}
Debug("e-Paper busy H release\r\n");
}
static void EPD_2IN36G_ReadBusyL(void)
{
Debug("e-Paper busy L\r\n");
while(DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy
DEV_Delay_ms(5);
}
Debug("e-Paper busy L release\r\n");
}
/******************************************************************************
function : Turn On Display

View File

@ -83,14 +83,6 @@ static void EPD_3IN0G_ReadBusyH(void)
}
Debug("e-Paper busy H release\r\n");
}
static void EPD_3IN0G_ReadBusyL(void)
{
Debug("e-Paper busy L\r\n");
while(DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy
DEV_Delay_ms(5);
}
Debug("e-Paper busy L release\r\n");
}
/******************************************************************************
function : Turn On Display

View File

@ -83,14 +83,6 @@ static void EPD_4IN37G_ReadBusyH(void)
}
Debug("e-Paper busy H release\r\n");
}
static void EPD_4IN37G_ReadBusyL(void)
{
Debug("e-Paper busy L\r\n");
while(DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy
DEV_Delay_ms(5);
}
Debug("e-Paper busy L release\r\n");
}
/******************************************************************************
function : Turn On Display

View File

@ -83,14 +83,6 @@ static void EPD_7IN3G_ReadBusyH(void)
}
Debug("e-Paper busy H release\r\n");
}
static void EPD_7IN3G_ReadBusyL(void)
{
Debug("e-Paper busy L\r\n");
while(DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy
DEV_Delay_ms(5);
}
Debug("e-Paper busy L release\r\n");
}
/******************************************************************************
function : Turn On Display

View File

@ -1,46 +1,46 @@
EPD model EPD define (EPD=)
1.64inch e-Paper (G) _1in64g
2.36inch e-Paper (G) _2in36g
3inch e-Paper (G) _3in0g
4.37inch e-Paper (G) _4in37g
7.3inch e-Paper (G) _7in3g
1.54inch e-Paper (V2) _1in54V2
1.54inch e-Paper (B) (V2) _1in54bV2
1.54inch e-Paper (C) _1in54c
2.66inch e-Paper _2in66
2.66inch e-Paper (B) _2in66b
2.7inch e-Paper _2in7
2.7inch e-Paper (V2) _2in7V2
2.9inch e-Paper (V2) _2in9V2
2.9inch e-Paper (B)/(C) _2in9bc
2.9inch e-Paper (B) (V3) _2in9bV3
2.9inch e-Paper (D) _2in9d
2.9inch e-Paper (V3) _2in13V3
2.13inch e-Paper (B)/(C) _2in13bc
2.13inch e-Paper (B) (V3) _2in13bV3
2.13inch e-Paper (B) (V4) _2in13bV4
2.13inch e-Paper (D) _2in13d
3.52inch e-Paper _3in52
3.7inch e-Paper _3in7
4.01inch e-Paper (F) _4in01f
4.2inch e-Paper _4in2
4.2inch e-Paper (V2 _4in2V2
4.2inch e-Paper (B)/(C) _4in2bc
4.2inch e-Paper (B) (V2) _4in2bV2
5.65inch e-Paper (F) _5in65f
5.83inch e-Paper (V2) _5in83V2
5.83inch e-Paper (B)/(C) _5in83bc
5.83inch e-Paper (B) (V2) _5in83bV2
7.5inch e-Paper (V2) _7in5V2
7.5inch e-Paper (B)/(C) _7in5bc
7.5inch e-Paper (B) (V2) _7in5bV2
1.64inch e-Paper (G) epd1in64g
2.36inch e-Paper (G) epd2in36g
3inch e-Paper (G) epd3in0g
4.37inch e-Paper (G) epd4in37g
7.3inch e-Paper (G) epd7in3g
1.54inch e-Paper (V2) epd1in54V2
1.54inch e-Paper (B) (V2) epd1in54bV2
1.54inch e-Paper (C) epd1in54c
2.66inch e-Paper epd2in66
2.66inch e-Paper (B) epd2in66b
2.7inch e-Paper epd2in7
2.7inch e-Paper (V2) epd2in7V2
2.9inch e-Paper (V2) epd2in9V2
2.9inch e-Paper (B)/(C) epd2in9bc
2.9inch e-Paper (B) (V3) epd2in9bV3
2.9inch e-Paper (D) epd2in9d
2.9inch e-Paper (V3) epd2in13V3
2.13inch e-Paper (B)/(C) epd2in13bc
2.13inch e-Paper (B) (V3) epd2in13bV3
2.13inch e-Paper (B) (V4) epd2in13bV4
2.13inch e-Paper (D) epd2in13d
3.52inch e-Paper epd3in52
3.7inch e-Paper epd3in7
4.01inch e-Paper (F) epd4in01f
4.2inch e-Paper epd4in2
4.2inch e-Paper (V2 epd4in2V2
4.2inch e-Paper (B)/(C) epd4in2bc
4.2inch e-Paper (B) (V2) epd4in2bV2
5.65inch e-Paper (F) epd5in65f
5.83inch e-Paper (V2) epd5in83V2
5.83inch e-Paper (B)/(C) epd5in83bc
5.83inch e-Paper (B) (V2) epd5in83bV2
7.5inch e-Paper (V2) epd7in5V2
7.5inch e-Paper (B)/(C) epd7in5bc
7.5inch e-Paper (B) (V2) epd7in5bV2
Add EPD define at compile time, for example:
# modle is 7.5inch e-Paper (B) (V2)
sudo make clean
sudo make -j4 EPD=_7in5bV2
sudo make EPD=epd7in5bV2
编译的时候加上 EPD define例如
# 屏幕型号为 7.5inch e-Paper (B) (V2)
sudo make clean
sudo make -j4 EPD=_7in5bV2
sudo make EPD=epd7in5bV2

View File

@ -4,8 +4,8 @@
* | Function : Help with use
* | Info :
*----------------
* | This version: V1.2
* | Date : 2022-09-20
* | This version: V1.3
* | Date : 2022-10-13
* | Info : 在这里提供一个中文版本的使用文档,以便你的快速使用
******************************************************************************/
这个文件是帮助您使用本例程。
@ -32,17 +32,17 @@ BUSY -> 24
你可以在main.c中看到许多测试函数和宏定义设置在编译时指定屏幕对应的宏定义可以直接编译对应的测试程序。
请注意你购买的是哪一款的墨水屏。具体的对应关系可以查阅我们的Wiki和list.txt文件。
栗子1
如果你购买的3.7inch e-paper (V1),那么你应该在编译时加上 EPD=_3in7
如果你购买的3.7inch e-paper (V1),那么你应该在编译时加上 EPD=epd3in7
sudo make clean
sudo make -j4 EPD=_3in7
sudo make EPD=epd3in7
栗子2
如果你购买的2.9inch e-paper (B) (V1)由于2.9寸的B型和C型是公用的驱动代码那么你应该在编译时加上 EPD=_2in9bc
如果你购买的2.9inch e-paper (B) (V1)由于2.9寸的B型和C型是公用的驱动代码那么你应该在编译时加上 EPD=epd2in9bc
sudo make clean
sudo make -j4 EPD=_2in9bc
sudo make EPD=epd2in9bc
栗子3
如果你购买的是7.5inch e-Paper (V2),那么你应该在编译时加上 EPD=_7in5V2
如果你购买的是7.5inch e-Paper (V2),那么你应该在编译时加上 EPD=epd7in5V2
sudo make clean
sudo make -j4 EPD=_7in5V2
sudo make EPD=epd7in5V2
然后会生成可执行文件epd
运行sudo ./epd

View File

@ -4,8 +4,8 @@
* | Function : Help with use
* | Info :
*----------------
* | This version: V1.2
* | Date : 2022-09-20
* | This version: V1.3
* | Date : 2022-10-13
* | Info : Here is an English version of the documentation for your quick use.
******************************************************************************/
This file is to help you use this routine.
@ -35,17 +35,17 @@ You can see many test functions and macro definition Settings in main.c.
Specifying the macro definition for the EPD at compile time can directly compile the corresponding test program.
Please pay attention to which type of ink screen you buy. For detailed correspondence, see our Wiki and list.txt file.
Example 1:
     If you buy 3.7inch e-paper (V1) then you should add EPD=_3in7 at compile time
     If you buy 3.7inch e-paper (V1) then you should add EPD=epd3in7 at compile time
sudo make clean
sudo make -j4 EPD=_3in7
sudo make EPD=epd3in7
Example 2:
If you buy a 2.9-inch e-paper (B) (V1), you should add EPD= 2IN9bc at compile time since the 2.9-inch type B and Type C are common driver code
If you buy a 2.9-inch e-paper (B) (V1), you should add EPD=epd2IN9bc at compile time since the 2.9-inch type B and Type C are common driver code
sudo make clean
sudo make -j4 EPD=_2in9bc
sudo make EPD=epd2in9bc
Example 3:
If you buy a 7.5-inch e-paper (V2), you should add EPD=_7in5V2 at compile time
If you buy a 7.5-inch e-paper (V2), you should add EPD=epd7in5V2 at compile time
sudo make clean
sudo make -j4 EPD=_7in5V2
sudo make EPD=epd7in5V2
An executable file is then generated: epd
Run: sudo ./epd