Browse Source

Merge pull request #186 from SSYYL/master

fix 1in54_V2 partial refresh abnormal
SSYYL 4 years ago
parent
commit
1ac5cbad56

+ 0 - 24
Arduino/epd1in54_V2/epd1in54_V2.cpp

@@ -79,30 +79,6 @@ unsigned char WF_PARTIAL_1IN54_0[159] =
 0x02,0x17,0x41,0xB0,0x32,0x28,
 0x02,0x17,0x41,0xB0,0x32,0x28,
 };
 };
 
 
-// waveform partial refresh(quality)
-// unsigned char WF_PARTIAL_1IN54_1[159] =
-// {
-// 0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0xA,0x0,0x0,0x0,0x0,0x0,0x1,
-// 0x1,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-// 0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0,
-// 0x22,0x17,0x41,0x0,0x32,0x20,
-// };
-
 Epd::~Epd()
 Epd::~Epd()
 {
 {
 };
 };

+ 2 - 3
Arduino/epd7in5_V2/epd7in5_V2.cpp

@@ -229,8 +229,8 @@ void Epd::DisplayFrame(const unsigned char* frame_buffer) {
     
     
     SendCommand(0x13);
     SendCommand(0x13);
     for (unsigned long j = 0; j < height; j++) {
     for (unsigned long j = 0; j < height; j++) {
-        for (unsigned long i = 0; i < width; i++) {
-            SendData(~frame_buffer[i + j * width]);
+        for (unsigned long i = 0; i < width/8; i++) {
+            SendData(~frame_buffer[i + j * width/8]);
         }
         }
     }
     }
     SendCommand(0x12);
     SendCommand(0x12);
@@ -240,7 +240,6 @@ void Epd::DisplayFrame(const unsigned char* frame_buffer) {
 
 
 void Epd::Displaypart(const unsigned char* pbuffer, unsigned long xStart, unsigned long yStart,unsigned long Picture_Width,unsigned long Picture_Height) {
 void Epd::Displaypart(const unsigned char* pbuffer, unsigned long xStart, unsigned long yStart,unsigned long Picture_Width,unsigned long Picture_Height) {
     SendCommand(0x13);
     SendCommand(0x13);
-    int * padd;
     // xStart = xStart/8;
     // xStart = xStart/8;
     // xStart = xStart*8;
     // xStart = xStart*8;
     for (unsigned long j = 0; j < height; j++) {
     for (unsigned long j = 0; j < height; j++) {

+ 4 - 28
RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c

@@ -78,30 +78,6 @@ unsigned char WF_PARTIAL_1IN54_0[159] =
 0x02,0x17,0x41,0xB0,0x32,0x28,
 0x02,0x17,0x41,0xB0,0x32,0x28,
 };
 };
 
 
-// waveform partial refresh(quality)
-unsigned char WF_PARTIAL_1IN54_1[159] =
-{
-0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0xA,0x0,0x0,0x0,0x0,0x0,0x1,
-0x1,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0,
-0x22,0x17,0x41,0x0,0x32,0x20,
-};
-
 /******************************************************************************
 /******************************************************************************
 function :	Software reset
 function :	Software reset
 parameter:
 parameter:
@@ -109,11 +85,11 @@ parameter:
 static void EPD_1IN54_V2_Reset(void)
 static void EPD_1IN54_V2_Reset(void)
 {
 {
     DEV_Digital_Write(EPD_RST_PIN, 1);
     DEV_Digital_Write(EPD_RST_PIN, 1);
-    DEV_Delay_ms(200);
+    DEV_Delay_ms(20);
     DEV_Digital_Write(EPD_RST_PIN, 0);
     DEV_Digital_Write(EPD_RST_PIN, 0);
     DEV_Delay_ms(2);
     DEV_Delay_ms(2);
     DEV_Digital_Write(EPD_RST_PIN, 1);
     DEV_Digital_Write(EPD_RST_PIN, 1);
-    DEV_Delay_ms(200);
+    DEV_Delay_ms(20);
 }
 }
 
 
 /******************************************************************************
 /******************************************************************************
@@ -276,7 +252,7 @@ void EPD_1IN54_V2_Init_Partial(void)
 	EPD_1IN54_V2_Reset();
 	EPD_1IN54_V2_Reset();
 	EPD_1IN54_V2_ReadBusy();
 	EPD_1IN54_V2_ReadBusy();
 	
 	
-	EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_1);
+	EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_0);
     EPD_1IN54_V2_SendCommand(0x37); 
     EPD_1IN54_V2_SendCommand(0x37); 
     EPD_1IN54_V2_SendData(0x00);  
     EPD_1IN54_V2_SendData(0x00);  
     EPD_1IN54_V2_SendData(0x00);  
     EPD_1IN54_V2_SendData(0x00);  
@@ -382,7 +358,7 @@ void EPD_1IN54_V2_DisplayPart(UBYTE *Image)
     UWORD Width, Height;
     UWORD Width, Height;
     Width = (EPD_1IN54_V2_WIDTH % 8 == 0)? (EPD_1IN54_V2_WIDTH / 8 ): (EPD_1IN54_V2_WIDTH / 8 + 1);
     Width = (EPD_1IN54_V2_WIDTH % 8 == 0)? (EPD_1IN54_V2_WIDTH / 8 ): (EPD_1IN54_V2_WIDTH / 8 + 1);
     Height = EPD_1IN54_V2_HEIGHT;
     Height = EPD_1IN54_V2_HEIGHT;
-	
+ 
     UDOUBLE Addr = 0;
     UDOUBLE Addr = 0;
     EPD_1IN54_V2_SendCommand(0x24);
     EPD_1IN54_V2_SendCommand(0x24);
     for (UWORD j = 0; j < Height; j++) {
     for (UWORD j = 0; j < Height; j++) {

+ 1 - 1
RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test.py

@@ -32,7 +32,7 @@ try:
     draw = ImageDraw.Draw(Himage)
     draw = ImageDraw.Draw(Himage)
     draw.text((10, 0), 'hello world', font = font24, fill = 0)
     draw.text((10, 0), 'hello world', font = font24, fill = 0)
     draw.text((10, 20), '7.5inch e-Paper', font = font24, fill = 0)
     draw.text((10, 20), '7.5inch e-Paper', font = font24, fill = 0)
-    draw.text((150, 0), u'微雪电子', font = font24, fill = 0)    
+    draw.text((150, 0), u'微雪电子', font = font24, fill = 0)
     draw.line((20, 50, 70, 100), fill = 0)
     draw.line((20, 50, 70, 100), fill = 0)
     draw.line((70, 50, 20, 100), fill = 0)
     draw.line((70, 50, 20, 100), fill = 0)
     draw.rectangle((20, 50, 70, 100), outline = 0)
     draw.rectangle((20, 50, 70, 100), outline = 0)

+ 14 - 37
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd1in54_V2.py

@@ -90,29 +90,6 @@ class EPD:
     0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0,
     0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0,
     0x02,0x17,0x41,0xB0,0x32,0x28,
     0x02,0x17,0x41,0xB0,0x32,0x28,
     ]
     ]
-
-    # waveform partial refresh(quality)
-    WF_PARTIAL_1IN54_1 = [
-    0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0xA,0x0,0x0,0x0,0x0,0x0,0x1,
-    0x1,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0,
-    0x22,0x17,0x41,0x0,0x32,0x20,
-    ]
         
         
     # Hardware reset
     # Hardware reset
     def reset(self):
     def reset(self):
@@ -176,24 +153,24 @@ class EPD:
         self.send_data(lut[158])
         self.send_data(lut[158])
       
       
     def SetWindows(self, Xstart, Ystart, Xend, Yend):
     def SetWindows(self, Xstart, Ystart, Xend, Yend):
-        self.send_command(0x44) # SET_RAM_X_ADDRESS_START_END_POSITION
-        self.send_data((Xstart>>3) & 0xFF)
-        self.send_data((Xend>>3) & 0xFF)
+        self.send_command(0x44); # SET_RAM_X_ADDRESS_START_END_POSITION
+        self.send_data((Xstart>>3) & 0xFF);
+        self.send_data((Xend>>3) & 0xFF);
         
         
-        self.send_command(0x45) # SET_RAM_Y_ADDRESS_START_END_POSITION
-        self.send_data(Ystart & 0xFF)
-        self.send_data((Ystart >> 8) & 0xFF)
-        self.send_data(Yend & 0xFF)
-        self.send_data((Yend >> 8) & 0xFF)
+        self.send_command(0x45); # SET_RAM_Y_ADDRESS_START_END_POSITION
+        self.send_data(Ystart & 0xFF);
+        self.send_data((Ystart >> 8) & 0xFF);
+        self.send_data(Yend & 0xFF);
+        self.send_data((Yend >> 8) & 0xFF);
     
     
 
 
     def SetCursor(self, Xstart, Ystart):
     def SetCursor(self, Xstart, Ystart):
-        self.send_command(0x4E) # SET_RAM_X_ADDRESS_COUNTER
-        self.send_data(Xstart & 0xFF)
+        self.send_command(0x4E); # SET_RAM_X_ADDRESS_COUNTER
+        self.send_data(Xstart & 0xFF);
 
 
-        self.send_command(0x4F) # SET_RAM_Y_ADDRESS_COUNTER
-        self.send_data(Ystart & 0xFF)
-        self.send_data((Ystart >> 8) & 0xFF)
+        self.send_command(0x4F); # SET_RAM_Y_ADDRESS_COUNTER
+        self.send_data(Ystart & 0xFF);
+        self.send_data((Ystart >> 8) & 0xFF);
 
 
     def init(self, isPartial):
     def init(self, isPartial):
         if (epdconfig.module_init() != 0):
         if (epdconfig.module_init() != 0):
@@ -315,7 +292,7 @@ class EPD:
             for i in range(0, int(self.width / 8)):
             for i in range(0, int(self.width / 8)):
                 self.send_data(image[i + j * int(self.width / 8)])
                 self.send_data(image[i + j * int(self.width / 8)])
                 
                 
-        self.TurnOnDisplayPart()
+        self.TurnOnDisplay()
         
         
     def displayPart(self, image):
     def displayPart(self, image):
         if (image == None):
         if (image == None):

+ 1 - 1
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.py

@@ -51,7 +51,7 @@ class EPD:
     0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
     0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
     0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
     0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
     0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
     0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-    0x0A,0x0,0x0,0x0,0x0,0x0,0x2,  
+    0x0A,0x0,0x0,0x0,0x0,0x0,0x1,  
     0x1,0x0,0x0,0x0,0x0,0x0,0x0,
     0x1,0x0,0x0,0x0,0x0,0x0,0x0,
     0x1,0x0,0x0,0x0,0x0,0x0,0x0,
     0x1,0x0,0x0,0x0,0x0,0x0,0x0,
     0x0,0x0,0x0,0x0,0x0,0x0,0x0,
     0x0,0x0,0x0,0x0,0x0,0x0,0x0,

+ 21 - 21
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py

@@ -176,24 +176,24 @@ class EPD:
         # self.send_data(0x3f)		#VDH=15V
         # self.send_data(0x3f)		#VDH=15V
         # self.send_data(0x3f)		#VDL=-15V
         # self.send_data(0x3f)		#VDL=-15V
 
 
-        self.send_command(0x01)  # power setting
-        self.send_data(0x17)  # 1-0=11: internal power
-        self.send_data(self.Voltage_Frame_7IN5_V2[6])  # VGH&VGL
-        self.send_data(self.Voltage_Frame_7IN5_V2[1])  # VSH
-        self.send_data(self.Voltage_Frame_7IN5_V2[2])  #  VSL
-        self.send_data(self.Voltage_Frame_7IN5_V2[3])  #  VSHR
+        self.send_command(0x01);  # power setting
+        self.send_data(0x17);  # 1-0=11: internal power
+        self.send_data(self.Voltage_Frame_7IN5_V2[6]);  # VGH&VGL
+        self.send_data(self.Voltage_Frame_7IN5_V2[1]);  # VSH
+        self.send_data(self.Voltage_Frame_7IN5_V2[2]);  #  VSL
+        self.send_data(self.Voltage_Frame_7IN5_V2[3]);  #  VSHR
         
         
-        self.send_command(0x82) # VCOM DC Setting
-        self.send_data(self.Voltage_Frame_7IN5_V2[4])  # VCOM
-
-        self.send_command(0x06)  # Booster Setting
-        self.send_data(0x27)
-        self.send_data(0x27)
-        self.send_data(0x2F)
-        self.send_data(0x17)
+        self.send_command(0x82); # VCOM DC Setting
+        self.send_data(self.Voltage_Frame_7IN5_V2[4]);  # VCOM
+
+        self.send_command(0x06);  # Booster Setting
+        self.send_data(0x27);
+        self.send_data(0x27);
+        self.send_data(0x2F);
+        self.send_data(0x17);
         
         
-        self.send_command(0x30)   # OSC Setting
-        self.send_data(self.Voltage_Frame_7IN5_V2[0])  # 2-0=100: N=4   5-3=111: M=7    3C=50Hz     3A=100HZ
+        self.send_command(0x30);   # OSC Setting
+        self.send_data(self.Voltage_Frame_7IN5_V2[0]);  # 2-0=100: N=4  ; 5-3=111: M=7  ;  3C=50Hz     3A=100HZ
 
 
         self.send_command(0x04) #POWER ON
         self.send_command(0x04) #POWER ON
         epdconfig.delay_ms(100)
         epdconfig.delay_ms(100)
@@ -218,11 +218,11 @@ class EPD:
         self.send_command(0X60)			#TCON SETTING
         self.send_command(0X60)			#TCON SETTING
         self.send_data(0x22)
         self.send_data(0x22)
 
 
-        self.send_command(0x65)  # Resolution setting
-        self.send_data(0x00)
-        self.send_data(0x00) # 800*480
-        self.send_data(0x00)
-        self.send_data(0x00)
+        self.send_command(0x65);  # Resolution setting
+        self.send_data(0x00);
+        self.send_data(0x00); # 800*480
+        self.send_data(0x00);
+        self.send_data(0x00);
 
 
         self.SetLut(self.LUT_VCOM_7IN5_V2, self.LUT_WW_7IN5_V2, self.LUT_BW_7IN5_V2, self.LUT_WB_7IN5_V2, self.LUT_BB_7IN5_V2)
         self.SetLut(self.LUT_VCOM_7IN5_V2, self.LUT_WW_7IN5_V2, self.LUT_BW_7IN5_V2, self.LUT_WB_7IN5_V2, self.LUT_BB_7IN5_V2)
         # EPD hardware init end
         # EPD hardware init end

BIN
RaspberryPi_JetsonNano/python/pic/01.bmp


BIN
RaspberryPi_JetsonNano/python/pic/4.2-B.bmp


BIN
RaspberryPi_JetsonNano/python/pic/4.2-R.bmp


BIN
RaspberryPi_JetsonNano/python/pic/42.bmp


File diff suppressed because it is too large
+ 21 - 21
STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong


+ 2 - 2
STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx

@@ -263,7 +263,7 @@
 
 
   <Group>
   <Group>
     <GroupName>Application/User</GroupName>
     <GroupName>Application/User</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
     <RteFlg>0</RteFlg>
@@ -343,7 +343,7 @@
 
 
   <Group>
   <Group>
     <GroupName>Examples</GroupName>
     <GroupName>Examples</GroupName>
-    <tvExp>1</tvExp>
+    <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
     <RteFlg>0</RteFlg>

+ 2 - 1
STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.build_log.htm

@@ -21,13 +21,14 @@ Target DLL:      STLink\ST-LINKIII-KEIL_SWO.dll V3.0.1.0
 Dialog DLL:      TCM.DLL V1.35.1.0
 Dialog DLL:      TCM.DLL V1.35.1.0
  
  
 <h2>Project:</h2>
 <h2>Project:</h2>
-E:\github\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx
+E:\project\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx
 Project File Date:  07/19/2021
 Project File Date:  07/19/2021
 
 
 <h2>Output:</h2>
 <h2>Output:</h2>
 *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\keil5\ARM\ARMCC\Bin'
 *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\keil5\ARM\ARMCC\Bin'
 Build target 'epd-demo'
 Build target 'epd-demo'
 compiling main.c...
 compiling main.c...
+compiling EPD_1in54_V2.c...
 linking...
 linking...
 Program Size: Code=18544 RO-data=360 RW-data=20 ZI-data=4252  
 Program Size: Code=18544 RO-data=360 RW-data=20 ZI-data=4252  
 FromELF: creating hex file...
 FromELF: creating hex file...

+ 1 - 1
STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm

@@ -3,7 +3,7 @@
 <title>Static Call Graph - [epd-demo\epd-demo.axf]</title></head>
 <title>Static Call Graph - [epd-demo\epd-demo.axf]</title></head>
 <body><HR>
 <body><HR>
 <H1>Static Call Graph for image epd-demo\epd-demo.axf</H1><HR>
 <H1>Static Call Graph for image epd-demo\epd-demo.axf</H1><HR>
-<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon Jul 19 11:44:54 2021
+<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Wed Aug 11 14:53:17 2021
 <BR><P>
 <BR><P>
 <H3>Maximum Stack Usage =        124 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
 <H3>Maximum Stack Usage =        124 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
 Call chain for Maximum Stack Depth:</H3>
 Call chain for Maximum Stack Depth:</H3>

+ 41 - 42
STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map

@@ -1220,7 +1220,6 @@ Removing Unused input sections from the image.
     Removing epd_1in54_v2.o(.rrx_text), (6 bytes).
     Removing epd_1in54_v2.o(.rrx_text), (6 bytes).
     Removing epd_1in54_v2.o(.text), (1024 bytes).
     Removing epd_1in54_v2.o(.text), (1024 bytes).
     Removing epd_1in54_v2.o(.data), (318 bytes).
     Removing epd_1in54_v2.o(.data), (318 bytes).
-    Removing epd_1in54_v2.o(.data), (159 bytes).
     Removing epd_1in54b.o(.rev16_text), (4 bytes).
     Removing epd_1in54b.o(.rev16_text), (4 bytes).
     Removing epd_1in54b.o(.revsh_text), (4 bytes).
     Removing epd_1in54b.o(.revsh_text), (4 bytes).
     Removing epd_1in54b.o(.rrx_text), (6 bytes).
     Removing epd_1in54b.o(.rrx_text), (6 bytes).
@@ -1456,7 +1455,7 @@ Removing Unused input sections from the image.
     Removing cdrcmple.o(.text), (48 bytes).
     Removing cdrcmple.o(.text), (48 bytes).
     Removing depilogue.o(.text), (186 bytes).
     Removing depilogue.o(.text), (186 bytes).
 
 
-461 unused section(s) (total 958922 bytes) removed from the image.
+460 unused section(s) (total 958763 bytes) removed from the image.
 
 
 ==============================================================================
 ==============================================================================
 
 
@@ -2138,15 +2137,15 @@ Memory Map of the image
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
 
     0x08000000   0x08000000   0x00000130   Data   RO            3    RESET               startup_stm32f103xe.o
     0x08000000   0x08000000   0x00000130   Data   RO            3    RESET               startup_stm32f103xe.o
-    0x08000130   0x08000130   0x00000000   Code   RO         2861  * .ARM.Collect$$$$00000000  mc_w.l(entry.o)
-    0x08000130   0x08000130   0x00000004   Code   RO         3161    .ARM.Collect$$$$00000001  mc_w.l(entry2.o)
-    0x08000134   0x08000134   0x00000004   Code   RO         3164    .ARM.Collect$$$$00000004  mc_w.l(entry5.o)
-    0x08000138   0x08000138   0x00000000   Code   RO         3166    .ARM.Collect$$$$00000008  mc_w.l(entry7b.o)
-    0x08000138   0x08000138   0x00000000   Code   RO         3168    .ARM.Collect$$$$0000000A  mc_w.l(entry8b.o)
-    0x08000138   0x08000138   0x00000008   Code   RO         3169    .ARM.Collect$$$$0000000B  mc_w.l(entry9a.o)
-    0x08000140   0x08000140   0x00000000   Code   RO         3171    .ARM.Collect$$$$0000000D  mc_w.l(entry10a.o)
-    0x08000140   0x08000140   0x00000000   Code   RO         3173    .ARM.Collect$$$$0000000F  mc_w.l(entry11a.o)
-    0x08000140   0x08000140   0x00000004   Code   RO         3162    .ARM.Collect$$$$00002712  mc_w.l(entry2.o)
+    0x08000130   0x08000130   0x00000000   Code   RO         2860  * .ARM.Collect$$$$00000000  mc_w.l(entry.o)
+    0x08000130   0x08000130   0x00000004   Code   RO         3160    .ARM.Collect$$$$00000001  mc_w.l(entry2.o)
+    0x08000134   0x08000134   0x00000004   Code   RO         3163    .ARM.Collect$$$$00000004  mc_w.l(entry5.o)
+    0x08000138   0x08000138   0x00000000   Code   RO         3165    .ARM.Collect$$$$00000008  mc_w.l(entry7b.o)
+    0x08000138   0x08000138   0x00000000   Code   RO         3167    .ARM.Collect$$$$0000000A  mc_w.l(entry8b.o)
+    0x08000138   0x08000138   0x00000008   Code   RO         3168    .ARM.Collect$$$$0000000B  mc_w.l(entry9a.o)
+    0x08000140   0x08000140   0x00000000   Code   RO         3170    .ARM.Collect$$$$0000000D  mc_w.l(entry10a.o)
+    0x08000140   0x08000140   0x00000000   Code   RO         3172    .ARM.Collect$$$$0000000F  mc_w.l(entry11a.o)
+    0x08000140   0x08000140   0x00000004   Code   RO         3161    .ARM.Collect$$$$00002712  mc_w.l(entry2.o)
     0x08000144   0x08000144   0x00000024   Code   RO            4    .text               startup_stm32f103xe.o
     0x08000144   0x08000144   0x00000024   Code   RO            4    .text               startup_stm32f103xe.o
     0x08000168   0x08000168   0x00000094   Code   RO           13    .text               main.o
     0x08000168   0x08000168   0x00000094   Code   RO           13    .text               main.o
     0x080001fc   0x080001fc   0x00000060   Code   RO          162    .text               gpio.o
     0x080001fc   0x080001fc   0x00000060   Code   RO          162    .text               gpio.o
@@ -2154,35 +2153,35 @@ Memory Map of the image
     0x08000318   0x08000318   0x000000d8   Code   RO          216    .text               usart.o
     0x08000318   0x08000318   0x000000d8   Code   RO          216    .text               usart.o
     0x080003f0   0x080003f0   0x00000030   Code   RO          246    .text               stm32f1xx_it.o
     0x080003f0   0x080003f0   0x00000030   Code   RO          246    .text               stm32f1xx_it.o
     0x08000420   0x08000420   0x0000003c   Code   RO          273    .text               stm32f1xx_hal_msp.o
     0x08000420   0x08000420   0x0000003c   Code   RO          273    .text               stm32f1xx_hal_msp.o
-    0x0800045c   0x0800045c   0x000000c4   Code   RO         2470    .text               system_stm32f1xx.o
-    0x08000520   0x08000520   0x000015e8   Code   RO         2526    .text               stm32f1xx_hal_spi.o
-    0x08001b08   0x08001b08   0x00000188   Code   RO         2550    .text               stm32f1xx_hal.o
-    0x08001c90   0x08001c90   0x000008c8   Code   RO         2580    .text               stm32f1xx_hal_rcc.o
-    0x08002558   0x08002558   0x000003d4   Code   RO         2628    .text               stm32f1xx_hal_gpio.o
-    0x0800292c   0x0800292c   0x00000c48   Code   RO         2652    .text               stm32f1xx_hal_dma.o
-    0x08003574   0x08003574   0x00000224   Code   RO         2676    .text               stm32f1xx_hal_cortex.o
-    0x08003798   0x08003798   0x00000f9c   Code   RO         2840    .text               stm32f1xx_hal_uart.o
-    0x08004734   0x08004734   0x00000024   Code   RO         2868    .text               mc_w.l(memseta.o)
-    0x08004758   0x08004758   0x0000002c   Code   RO         3176    .text               mc_w.l(uidiv.o)
-    0x08004784   0x08004784   0x00000024   Code   RO         3193    .text               mc_w.l(init.o)
-    0x080047a8   0x080047a8   0x00000020   Code   RO         2961    i.__0printf$3       mc_w.l(printf3.o)
-    0x080047c8   0x080047c8   0x0000000e   Code   RO         3203    i.__scatterload_copy  mc_w.l(handlers.o)
-    0x080047d6   0x080047d6   0x00000002   Code   RO         3204    i.__scatterload_null  mc_w.l(handlers.o)
-    0x080047d8   0x080047d8   0x0000000e   Code   RO         3205    i.__scatterload_zeroinit  mc_w.l(handlers.o)
+    0x0800045c   0x0800045c   0x000000c4   Code   RO         2469    .text               system_stm32f1xx.o
+    0x08000520   0x08000520   0x000015e8   Code   RO         2525    .text               stm32f1xx_hal_spi.o
+    0x08001b08   0x08001b08   0x00000188   Code   RO         2549    .text               stm32f1xx_hal.o
+    0x08001c90   0x08001c90   0x000008c8   Code   RO         2579    .text               stm32f1xx_hal_rcc.o
+    0x08002558   0x08002558   0x000003d4   Code   RO         2627    .text               stm32f1xx_hal_gpio.o
+    0x0800292c   0x0800292c   0x00000c48   Code   RO         2651    .text               stm32f1xx_hal_dma.o
+    0x08003574   0x08003574   0x00000224   Code   RO         2675    .text               stm32f1xx_hal_cortex.o
+    0x08003798   0x08003798   0x00000f9c   Code   RO         2839    .text               stm32f1xx_hal_uart.o
+    0x08004734   0x08004734   0x00000024   Code   RO         2867    .text               mc_w.l(memseta.o)
+    0x08004758   0x08004758   0x0000002c   Code   RO         3175    .text               mc_w.l(uidiv.o)
+    0x08004784   0x08004784   0x00000024   Code   RO         3192    .text               mc_w.l(init.o)
+    0x080047a8   0x080047a8   0x00000020   Code   RO         2960    i.__0printf$3       mc_w.l(printf3.o)
+    0x080047c8   0x080047c8   0x0000000e   Code   RO         3202    i.__scatterload_copy  mc_w.l(handlers.o)
+    0x080047d6   0x080047d6   0x00000002   Code   RO         3203    i.__scatterload_null  mc_w.l(handlers.o)
+    0x080047d8   0x080047d8   0x0000000e   Code   RO         3204    i.__scatterload_zeroinit  mc_w.l(handlers.o)
     0x080047e6   0x080047e6   0x00000002   PAD
     0x080047e6   0x080047e6   0x00000002   PAD
-    0x080047e8   0x080047e8   0x000001b8   Code   RO         2968    i._printf_core      mc_w.l(printf3.o)
-    0x080049a0   0x080049a0   0x00000010   Data   RO         2471    .constdata          system_stm32f1xx.o
-    0x080049b0   0x080049b0   0x00000008   Data   RO         2472    .constdata          system_stm32f1xx.o
-    0x080049b8   0x080049b8   0x00000020   Data   RO         3201    Region$$Table       anon$$obj.o
+    0x080047e8   0x080047e8   0x000001b8   Code   RO         2967    i._printf_core      mc_w.l(printf3.o)
+    0x080049a0   0x080049a0   0x00000010   Data   RO         2470    .constdata          system_stm32f1xx.o
+    0x080049b0   0x080049b0   0x00000008   Data   RO         2471    .constdata          system_stm32f1xx.o
+    0x080049b8   0x080049b8   0x00000020   Data   RO         3200    Region$$Table       anon$$obj.o
 
 
 
 
     Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080049d8, Size: 0x000010b0, Max: 0x00010000, ABSOLUTE)
     Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080049d8, Size: 0x000010b0, Max: 0x00010000, ABSOLUTE)
 
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
 
-    0x20000000   0x080049d8   0x00000004   Data   RW         2473    .data               system_stm32f1xx.o
-    0x20000004   0x080049dc   0x0000000c   Data   RW         2551    .data               stm32f1xx_hal.o
-    0x20000010   0x080049e8   0x00000004   Data   RW         3175    .data               mc_w.l(stdout.o)
+    0x20000000   0x080049d8   0x00000004   Data   RW         2472    .data               system_stm32f1xx.o
+    0x20000004   0x080049dc   0x0000000c   Data   RW         2550    .data               stm32f1xx_hal.o
+    0x20000010   0x080049e8   0x00000004   Data   RW         3174    .data               mc_w.l(stdout.o)
     0x20000014        -       0x00000058   Zero   RW          187    .bss                spi.o
     0x20000014        -       0x00000058   Zero   RW          187    .bss                spi.o
     0x2000006c        -       0x00000040   Zero   RW          217    .bss                usart.o
     0x2000006c        -       0x00000040   Zero   RW          217    .bss                usart.o
     0x200000ac   0x080049ec   0x00000004   PAD
     0x200000ac   0x080049ec   0x00000004   PAD
@@ -2197,23 +2196,23 @@ Image component sizes
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name
 
 
         96         10          0          0          0        803   gpio.o
         96         10          0          0          0        803   gpio.o
-       148         20          0          0          0     461070   main.o
-       188         18          0          0         88       1429   spi.o
+       148         20          0          0          0     461082   main.o
+       188         18          0          0         88       1437   spi.o
         36          8        304          0       4096        796   startup_stm32f103xe.o
         36          8        304          0       4096        796   startup_stm32f103xe.o
        392         38          0         12          0       7649   stm32f1xx_hal.o
        392         38          0         12          0       7649   stm32f1xx_hal.o
-       548         12          0          0          0      30674   stm32f1xx_hal_cortex.o
+       548         12          0          0          0      30678   stm32f1xx_hal_cortex.o
       3144        164          0          0          0       7109   stm32f1xx_hal_dma.o
       3144        164          0          0          0       7109   stm32f1xx_hal_dma.o
        980         30          0          0          0       4391   stm32f1xx_hal_gpio.o
        980         30          0          0          0       4391   stm32f1xx_hal_gpio.o
-        60          8          0          0          0        826   stm32f1xx_hal_msp.o
+        60          8          0          0          0        830   stm32f1xx_hal_msp.o
       2248         88          0          0          0       6559   stm32f1xx_hal_rcc.o
       2248         88          0          0          0       6559   stm32f1xx_hal_rcc.o
       5608        106          0          0          0      19625   stm32f1xx_hal_spi.o
       5608        106          0          0          0      19625   stm32f1xx_hal_spi.o
-      3996         46          0          0          0      17432   stm32f1xx_hal_uart.o
+      3996         46          0          0          0      17436   stm32f1xx_hal_uart.o
         48         22          0          0          0       1246   stm32f1xx_it.o
         48         22          0          0          0       1246   stm32f1xx_it.o
-       196         28         24          4          0       1509   system_stm32f1xx.o
+       196         28         24          4          0       1517   system_stm32f1xx.o
        216         18          0          0         64       1753   usart.o
        216         18          0          0         64       1753   usart.o
 
 
     ----------------------------------------------------------------------
     ----------------------------------------------------------------------
-     17904        616        360         16       4252     562871   Object Totals
+     17904        616        360         16       4252     562911   Object Totals
          0          0         32          0          0          0   (incl. Generated)
          0          0         32          0          0          0   (incl. Generated)
          0          0          0          0          4          0   (incl. Padding)
          0          0          0          0          4          0   (incl. Padding)
 
 
@@ -2256,8 +2255,8 @@ Image component sizes
 
 
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   
 
 
-     18544        646        360         20       4252     561955   Grand Totals
-     18544        646        360         20       4252     561955   ELF Image Totals
+     18544        646        360         20       4252     561995   Grand Totals
+     18544        646        360         20       4252     561995   ELF Image Totals
      18544        646        360         20          0          0   ROM Totals
      18544        646        360         20          0          0   ROM Totals
 
 
 ==============================================================================
 ==============================================================================

+ 15 - 39
STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.c

@@ -78,30 +78,6 @@ unsigned char WF_PARTIAL_1IN54_0[159] =
 0x02,0x17,0x41,0xB0,0x32,0x28,
 0x02,0x17,0x41,0xB0,0x32,0x28,
 };
 };
 
 
-// waveform partial refresh(quality)
-unsigned char WF_PARTIAL_1IN54_1[159] =
-{
-0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0xA,0x0,0x0,0x0,0x0,0x0,0x1,
-0x1,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0,
-0x22,0x17,0x41,0x0,0x32,0x20,
-};
-
 /******************************************************************************
 /******************************************************************************
 function :	Software reset
 function :	Software reset
 parameter:
 parameter:
@@ -276,21 +252,21 @@ void EPD_1IN54_V2_Init_Partial(void)
 	EPD_1IN54_V2_Reset();
 	EPD_1IN54_V2_Reset();
 	EPD_1IN54_V2_ReadBusy();
 	EPD_1IN54_V2_ReadBusy();
 	
 	
-	EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_1);
-    EPD_1IN54_V2_SendCommand(0x37); 
-    EPD_1IN54_V2_SendData(0x00);  
-    EPD_1IN54_V2_SendData(0x00);  
-    EPD_1IN54_V2_SendData(0x00);  
-    EPD_1IN54_V2_SendData(0x00); 
-    EPD_1IN54_V2_SendData(0x00);  	
-    EPD_1IN54_V2_SendData(0x40);  
-    EPD_1IN54_V2_SendData(0x00);  
-    EPD_1IN54_V2_SendData(0x00);   
-    EPD_1IN54_V2_SendData(0x00);  
-    EPD_1IN54_V2_SendData(0x00);
-	
-    EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom
-    EPD_1IN54_V2_SendData(0x80);
+	EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_0);
+	EPD_1IN54_V2_SendCommand(0x37); 
+	EPD_1IN54_V2_SendData(0x00);  
+	EPD_1IN54_V2_SendData(0x00);  
+	EPD_1IN54_V2_SendData(0x00);  
+	EPD_1IN54_V2_SendData(0x00); 
+	EPD_1IN54_V2_SendData(0x00);  	
+	EPD_1IN54_V2_SendData(0x40);  
+	EPD_1IN54_V2_SendData(0x00);  
+	EPD_1IN54_V2_SendData(0x00);   
+	EPD_1IN54_V2_SendData(0x00);  
+	EPD_1IN54_V2_SendData(0x00);
+
+	EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom
+	EPD_1IN54_V2_SendData(0x80);
 	
 	
 	EPD_1IN54_V2_SendCommand(0x22); 
 	EPD_1IN54_V2_SendCommand(0x22); 
 	EPD_1IN54_V2_SendData(0xc0); 
 	EPD_1IN54_V2_SendData(0xc0); 

+ 1 - 1
Version_CN.txt

@@ -24,4 +24,4 @@
 2020-12-09:添加新程序5.83inch V2 e-Paper例程。
 2020-12-09:添加新程序5.83inch V2 e-Paper例程。
 2020-12-25:添加新程序4.01inch (F) e-Paper例程。
 2020-12-25:添加新程序4.01inch (F) e-Paper例程。
 2021-02-22:添加新程序2.7inch B V2 e-Paper例程。
 2021-02-22:添加新程序2.7inch B V2 e-Paper例程。
-2021-07-19: 1.54V2、2.13V3、2.9V2、7.5V2程序均采用外部波形,并提升了刷新速度
+2021-07-191.54V2、2.13V3、2.9V2、7.5V2程序均采用外部波形,并提升了刷新速度

Some files were not shown because too many files changed in this diff