فهرست منبع

Merge pull request #180 from SSYYL/master

Get rid of the superfluous ';'
SSYYL 4 سال پیش
والد
کامیت
551b05e2f7

+ 5 - 5
Arduino/epd7in5_V2/epd7in5_V2.cpp

@@ -263,23 +263,23 @@ void Epd::SetLut_by_host(unsigned char* lut_vcom,  unsigned char* lut_ww, unsign
 	unsigned char count;
 
 	SendCommand(0x20); //VCOM	
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		SendData(lut_vcom[count]);
 
 	SendCommand(0x21); //LUTBW
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		SendData(lut_ww[count]);
 
 	SendCommand(0x22); //LUTBW
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		SendData(lut_bw[count]);
 
 	SendCommand(0x23); //LUTWB
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		SendData(lut_wb[count]);
 
 	SendCommand(0x24); //LUTBB
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		SendData(lut_bb[count]);
 }
 

+ 5 - 5
RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c

@@ -145,23 +145,23 @@ static void EPD_7IN5_V2_LUT(UBYTE* lut_vcom,  UBYTE* lut_ww, UBYTE* lut_bw, UBYT
 	UBYTE count;
 
 	EPD_SendCommand(0x20); //VCOM	
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_vcom[count]);
 
 	EPD_SendCommand(0x21); //LUTBW
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_ww[count]);
 
 	EPD_SendCommand(0x22); //LUTBW
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_bw[count]);
 
 	EPD_SendCommand(0x23); //LUTWB
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_wb[count]);
 
 	EPD_SendCommand(0x24); //LUTBB
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_bb[count]);
 }
 

+ 15 - 15
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd1in54_V2.py

@@ -174,31 +174,31 @@ class EPD:
         self.send_data(lut[158])
       
     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):
-        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):
         if (epdconfig.module_init() != 0):
             return -1
             
         if(isPartial):
-            logging.debug("full refresh")
+            logging.debug("partial refresh")
             self.reset()
             self.ReadBusy()
             
@@ -225,7 +225,7 @@ class EPD:
             self.ReadBusy()
         
         else:
-            logging.debug("partial refresh")
+            logging.debug("full refresh")
             # EPD hardware init start
             self.reset()
             

+ 92 - 56
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.py

@@ -44,25 +44,47 @@ class EPD:
         self.height = EPD_HEIGHT
         
     WF_PARTIAL_2IN9 = [
-        0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-        0x80,0x80,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-        0x0A,0x0,0x0,0x0,0x0,0x0,0x2,  
-        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,
-        0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-        0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-        0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-        0x0,0x0,0x0,0x0,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,0xB0,0x32,0x36,
+    0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+    0x80,0x80,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+    0x0A,0x0,0x0,0x0,0x0,0x0,0x2,  
+    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,
+    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+    0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+    0x0,0x0,0x0,0x0,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,0xB0,0x32,0x36,
+    ]
+
+    WS_20_30 = [									
+    0x80,	0x66,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x40,	0x0,	0x0,	0x0,
+    0x10,	0x66,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x20,	0x0,	0x0,	0x0,
+    0x80,	0x66,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x40,	0x0,	0x0,	0x0,
+    0x10,	0x66,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x20,	0x0,	0x0,	0x0,
+    0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,
+    0x14,	0x8,	0x0,	0x0,	0x0,	0x0,	0x2,					
+    0xA,	0xA,	0x0,	0xA,	0xA,	0x0,	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,					
+    0x14,	0x8,	0x0,	0x1,	0x0,	0x0,	0x1,					
+    0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x1,					
+    0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,					
+    0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,					
+    0x44,	0x44,	0x44,	0x44,	0x44,	0x44,	0x0,	0x0,	0x0,			
+    0x22,	0x17,	0x41,	0x0,	0x32,	0x36
     ]
 
     # Hardware reset
@@ -94,7 +116,7 @@ class EPD:
 
     def TurnOnDisplay(self):
         self.send_command(0x22) # DISPLAY_UPDATE_CONTROL_2
-        self.send_data(0xF7)
+        self.send_data(0xc7)
         self.send_command(0x20) # MASTER_ACTIVATION
         self.ReadBusy()
 
@@ -104,12 +126,25 @@ class EPD:
         self.send_command(0x20) # MASTER_ACTIVATION
         self.ReadBusy()
 
-    def SendLut(self):
+    def lut(self, lut):
         self.send_command(0x32)
         for i in range(0, 153):
-            self.send_data(self.WF_PARTIAL_2IN9[i])
+            self.send_data(lut[i])
         self.ReadBusy()
 
+    def SetLut(self, lut):
+        self.lut(lut)
+        self.send_command(0x3f)
+        self.send_data(lut[153])
+        self.send_command(0x03);	# gate voltage
+        self.send_data(lut[154])
+        self.send_command(0x04);	# source voltage
+        self.send_data(lut[155])	# VSH
+        self.send_data(lut[156])	# VSH2
+        self.send_data(lut[157])	# VSL
+        self.send_command(0x2c);		# VCOM
+        self.send_data(lut[158])
+
     def SetWindow(self, x_start, y_start, x_end, y_end):
         self.send_command(0x44) # SET_RAM_X_ADDRESS_START_END_POSITION
         # x point must be the multiple of 8 or the last 3 bits will be ignored
@@ -129,7 +164,6 @@ class EPD:
         self.send_command(0x4F) # SET_RAM_Y_ADDRESS_COUNTER
         self.send_data(y & 0xFF)
         self.send_data((y >> 8) & 0xFF)
-        self.ReadBusy()
         
     def init(self):
         if (epdconfig.module_init() != 0):
@@ -137,26 +171,28 @@ class EPD:
         # EPD hardware init start     
         self.reset()
 
-        self.ReadBusy();   
-        self.send_command(0x12);  #SWRESET
-        self.ReadBusy();   
+        self.ReadBusy()
+        self.send_command(0x12)  #SWRESET
+        self.ReadBusy() 
 
-        self.send_command(0x01); #Driver output control      
-        self.send_data(0x27);
-        self.send_data(0x01);
-        self.send_data(0x00);
+        self.send_command(0x01) #Driver output control      
+        self.send_data(0x27)
+        self.send_data(0x01)
+        self.send_data(0x00)
     
-        self.send_command(0x11); #data entry mode       
-        self.send_data(0x03);
+        self.send_command(0x11) #data entry mode       
+        self.send_data(0x03)
 
-        self.SetWindow(0, 0, self.width-1, self.height-1);
+        self.SetWindow(0, 0, self.width-1, self.height-1)
 
-        self.send_command(0x21); #  Display update control
-        self.send_data(0x00);
-        self.send_data(0x80);	
+        self.send_command(0x21) #  Display update control
+        self.send_data(0x00)
+        self.send_data(0x80)
     
-        self.SetCursor(0, 0);
-        self.ReadBusy();
+        self.SetCursor(0, 0)
+        self.ReadBusy()
+
+        self.SetLut(self.WS_20_30)
         # EPD hardware init end
         return 0
 
@@ -218,26 +254,26 @@ class EPD:
         epdconfig.digital_write(self.reset_pin, 1)
         epdconfig.delay_ms(2)   
         
-        self.SendLut();
-        self.send_command(0x37); 
-        self.send_data(0x00);  
-        self.send_data(0x00);  
-        self.send_data(0x00);  
-        self.send_data(0x00); 
-        self.send_data(0x00);  	
-        self.send_data(0x40);  
-        self.send_data(0x00);  
-        self.send_data(0x00);   
-        self.send_data(0x00);  
-        self.send_data(0x00);
+        self.SetLut(self.WF_PARTIAL_2IN9)
+        self.send_command(0x37)
+        self.send_data(0x00)
+        self.send_data(0x00)
+        self.send_data(0x00)
+        self.send_data(0x00)
+        self.send_data(0x00)
+        self.send_data(0x40)
+        self.send_data(0x00)
+        self.send_data(0x00)
+        self.send_data(0x00)  
+        self.send_data(0x00)
 
-        self.send_command(0x3C); #BorderWavefrom
-        self.send_data(0x80);
+        self.send_command(0x3C) #BorderWavefrom
+        self.send_data(0x80)
 
-        self.send_command(0x22); 
-        self.send_data(0xC0);   
-        self.send_command(0x20);
-        self.ReadBusy();
+        self.send_command(0x22) 
+        self.send_data(0xC0)
+        self.send_command(0x20)
+        self.ReadBusy()
 
         self.SetWindow(0, 0, self.width - 1, self.height - 1)
         self.SetCursor(0, 0)

+ 114 - 13
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py

@@ -44,14 +44,68 @@ class EPD:
         self.width = EPD_WIDTH
         self.height = EPD_HEIGHT
     
+    Voltage_Frame_7IN5_V2 = [
+	0x6, 0x3F, 0x3F, 0x11, 0x24, 0x7, 0x17,
+    ]
+
+    LUT_VCOM_7IN5_V2 = [	
+        0x0,	0xF,	0xF,	0x0,	0x0,	0x1,	
+        0x0,	0xF,	0x1,	0xF,	0x1,	0x2,	
+        0x0,	0xF,	0xF,	0x0,	0x0,	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,	
+    ]	
+
+    LUT_WW_7IN5_V2 = [
+        0x10,	0xF,	0xF,	0x0,	0x0,	0x1,	
+        0x84,	0xF,	0x1,	0xF,	0x1,	0x2,	
+        0x20,	0xF,	0xF,	0x0,	0x0,	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,	
+    ]
+
+    LUT_BW_7IN5_V2 = [	
+        0x10,	0xF,	0xF,	0x0,	0x0,	0x1,	
+        0x84,	0xF,	0x1,	0xF,	0x1,	0x2,	
+        0x20,	0xF,	0xF,	0x0,	0x0,	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,	
+    ]
+
+    LUT_WB_7IN5_V2 = [
+        0x80,	0xF,	0xF,	0x0,	0x0,	0x1,	
+        0x84,	0xF,	0x1,	0xF,	0x1,	0x2,	
+        0x40,	0xF,	0xF,	0x0,	0x0,	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,	
+    ]
+
+    LUT_BB_7IN5_V2 = [
+        0x80,	0xF,	0xF,	0x0,	0x0,	0x1,	
+        0x84,	0xF,	0x1,	0xF,	0x1,	0x2,	
+        0x40,	0xF,	0xF,	0x0,	0x0,	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,	
+    ]
+
     # Hardware reset
     def reset(self):
         epdconfig.digital_write(self.reset_pin, 1)
-        epdconfig.delay_ms(200) 
+        epdconfig.delay_ms(20) 
         epdconfig.digital_write(self.reset_pin, 0)
         epdconfig.delay_ms(2)
         epdconfig.digital_write(self.reset_pin, 1)
-        epdconfig.delay_ms(200)   
+        epdconfig.delay_ms(20)   
 
     def send_command(self, command):
         epdconfig.digital_write(self.dc_pin, 0)
@@ -78,33 +132,73 @@ class EPD:
         while(busy == 0):
             self.send_command(0x71)
             busy = epdconfig.digital_read(self.busy_pin)
-        epdconfig.delay_ms(200)
+        epdconfig.delay_ms(20)
         logging.debug("e-Paper busy release")
         
+    def SetLut(self, lut_vcom, lut_ww, lut_bw, lut_wb, lut_bb):
+        self.send_command(0x20)
+        for count in range(0, 42):
+            self.send_data(lut_vcom[count])
+
+        self.send_command(0x21)
+        for count in range(0, 42):
+            self.send_data(lut_ww[count])
+
+        self.send_command(0x22)
+        for count in range(0, 42):
+            self.send_data(lut_bw[count])
+
+        self.send_command(0x23)
+        for count in range(0, 42):
+            self.send_data(lut_wb[count])
+
+        self.send_command(0x24)
+        for count in range(0, 42):
+            self.send_data(lut_bb[count])
+
     def init(self):
         if (epdconfig.module_init() != 0):
             return -1
         # EPD hardware init start
         self.reset()
         
-        self.send_command(0x06)     # btst
-        self.send_data(0x17)
-        self.send_data(0x17)
-        self.send_data(0x28)        # If an exception is displayed, try using 0x38
+        # self.send_command(0x06)     # btst
+        # self.send_data(0x17)
+        # self.send_data(0x17)
+        # self.send_data(0x28)        # If an exception is displayed, try using 0x38
+        # self.send_data(0x17)
+        
+        # self.send_command(0x01)			#POWER SETTING
+        # self.send_data(0x07)
+        # self.send_data(0x07)    #VGH=20V,VGL=-20V
+        # self.send_data(0x3f)		#VDH=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(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(0x01)			#POWER SETTING
-        self.send_data(0x07)
-        self.send_data(0x07)    #VGH=20V,VGL=-20V
-        self.send_data(0x3f)		#VDH=15V
-        self.send_data(0x3f)		#VDL=-15V
+        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
         epdconfig.delay_ms(100)
         self.ReadBusy()
 
         self.send_command(0X00)			#PANNEL SETTING
-        self.send_data(0x1F)   #KW-3f   KWR-2F	BWROTP 0f	BWOTP 1f
+        self.send_data(0x3F)   #KW-3f   KWR-2F	BWROTP 0f	BWOTP 1f
 
         self.send_command(0x61)        	#tres
         self.send_data(0x03)		#source 800
@@ -122,6 +216,13 @@ class EPD:
         self.send_command(0X60)			#TCON SETTING
         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.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
         return 0
 

+ 5 - 5
STM32/STM32-F103ZET6/User/e-Paper/EPD_7in5_V2.c

@@ -148,23 +148,23 @@ static void EPD_7IN5_V2_LUT(UBYTE* lut_vcom,  UBYTE* lut_ww, UBYTE* lut_bw, UBYT
 	UBYTE count;
 
 	EPD_SendCommand(0x20); //VCOM	
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_vcom[count]);
 
 	EPD_SendCommand(0x21); //LUTBW
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_ww[count]);
 
 	EPD_SendCommand(0x22); //LUTBW
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_bw[count]);
 
 	EPD_SendCommand(0x23); //LUTWB
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_wb[count]);
 
 	EPD_SendCommand(0x24); //LUTBB
-	for(count=0; count<60; count++)
+	for(count=0; count<42; count++)
 		EPD_SendData(lut_bb[count]);
 }