chao преди 6 дни
родител
ревизия
11b14fc539
променени са 1 файла, в които са добавени 15 реда и са изтрити 7 реда
  1. 15 7
      CocoPi.py

+ 15 - 7
CocoPi.py

@@ -665,7 +665,7 @@ class multiFuncGpio(stm8s):
         self.brightness=255
         self.mode=mode
         self.write(20+self.id*4,self.mode)
-        self.rgbSerial=[0,0,0]*10
+        self.rgbSerial=[0,0,0]*16
         time.sleep(0.05)
     ##################################################
     # mode |  0  |  1  |  2  |  3  |  4  |  5  |  6  |      
@@ -731,7 +731,7 @@ class multiFuncGpio(stm8s):
     def pixelInit_(self):
         for i in range(16):
             self.setPixelColor(i,0,0,0)
-            self.pixelShow()
+        self.pixelShow()    
         self.write(23+self.id*4,1)
     
     def setBrightness(self,brightness):
@@ -741,6 +741,7 @@ class multiFuncGpio(stm8s):
             self.brightness=0
     
     def setPixelColor(self,rgbId,r,g,b):
+        self.setRgbSerialColor(rgbId,r,g,b)
         if(rgbId >=0 and rgbId <=15):
             self.rgbId=rgbId    #rgbId范围:0~15
         else:
@@ -760,9 +761,17 @@ class multiFuncGpio(stm8s):
     
     #self.id的值为0或1,用于控制灯带缓冲区(S1或者S2引脚)
     def pixelShow(self):
-        self.write(32+ self.id*48+self.rgbId*3, self.valR)    
-        self.write(33+ self.id*48+self.rgbId*3, self.valG)
-        self.write(34+ self.id*48+self.rgbId*3, self.valB)
+        for i in range(16):
+            # print(f"Setting LED {i} to R:{self.rgbSerial[i*3]} G:{self.rgbSerial[i*3+1]} B:{self.rgbSerial[i*3+2]}")
+            # time.sleep(0.05)
+            self.write(32+ self.id*48+i*3, self.rgbSerial[i*3])
+            # time.sleep(0.05)    
+            self.write(33+ self.id*48+i*3, self.rgbSerial[i*3+1])
+            # time.sleep(0.05)
+            self.write(34+ self.id*48+i*3, self.rgbSerial[i*3+2])
+            # time.sleep(0.05)
+        # time.sleep(0.05)
+        self.write(23+self.id*4,1)
     def setRgbSerialColor(self,rgbId,r,g,b):
         if(rgbId >=0 and rgbId <=15):
             self.rgbId=rgbId    #rgbId范围:0~15
@@ -785,8 +794,7 @@ class multiFuncGpio(stm8s):
         self.rgbSerial[self.rgbId*3+2]=self.valB
     
     def rgbSerialShow(self):
-        self.fastWrite(32+self.id*48,self.rgbSerial)
-        self.write(23+self.id*4,1)
+        self.pixelShow()
         
 
 ##################################