Cascaded led driver to write use write into leds[i] = 0x0 or 0xfff

Dependents:   M5VelocityALLCODE

Fork of TLC5940 by Kartik Jangam

Revision:
2:ff6fc805f4ea
Parent:
1:05d2234c0965
Child:
3:367910365a97
--- a/TLC5940.cpp	Fri Mar 22 16:46:41 2013 +0000
+++ b/TLC5940.cpp	Sat Mar 23 07:15:54 2013 +0000
@@ -1,30 +1,32 @@
 #include "TLC5940.h"
 
-int num_drivers = 1;
+
 
 void setup (SPI &driver, DigitalOut &vprg, DigitalOut &xlat, DigitalOut &blank, DigitalOut &dcprg, PwmOut &gsclk, int num_ics)
 {
     xlat = 0;               // hold GS/DC data constant
-    blank = 0;
     blank = 1;
     blank = 0;              // Blank (squelch) all outputs
     dcprg = 1;              // dcprg points DC data to DC register.
     vprg = 0;               // sets drivers to GS mode. Set to 1 to change to DC mode
-    gsclk.period_us (1);    // set grayscale clock to 1000 Hz
+    gsclk.period_ms (1);    // set grayscale clock to 1000 Hz
     gsclk = 0.5;            // turn on grayscale clock to 50% duty cycle at afore mentioned frequency
     
     if (num_ics <= 0)
     {
-        num_drivers = 1;
+        num_ics = 1;
     }
     else
     {
-        num_drivers = num_ics;
+        num_ics = num_ics;
     }
     
     
     driver.format (12,0);
-    driver.frequency (30000000);
+    driver.frequency (10000000);
+        
+    for (int i = num_ics; i >=0; i--){
+        driver.write (0x0);}
 }
 
 
@@ -32,13 +34,15 @@
 {
     blank = 1;
     blank = 0;
-    for (int k = (num_drivers - 1); k >= 0; k--)
-    {
-        for (int i = (16 - 1); i >= 0; i--)
+    
+    for (int i = (32 - 1); i >= 0; i--)
         {
-            driver.write (*(LEDS + k + i));
+            driver.write (*(LEDS + i));
         }
-    }
+
     xlat = 1;
     xlat = 0;
-}
\ No newline at end of file
+}
+
+
+