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

Dependents:   M5VelocityALLCODE

Fork of TLC5940 by Kartik Jangam

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TLC5940.cpp Source File

TLC5940.cpp

00001 #include "TLC5940.h"
00002 
00003 
00004 
00005 void setup (SPI &driver, DigitalOut &vprg, DigitalOut &xlat, DigitalOut &blank, DigitalOut &dcprg, PwmOut &gsclk, int num_ics)
00006 {
00007     xlat = 0;               // hold GS/DC data constant
00008     blank = 1;
00009     blank = 0;              // Blank (squelch) all outputs
00010     dcprg = 0;              // dcprg points DC data to DC register.
00011     vprg = 0;               // sets drivers to GS mode. Set to 1 to change to DC mode
00012     gsclk.period_us (10);    // set grayscale clock 
00013     gsclk = 0.5;            // turn on grayscale clock to 50% duty cycle at afore mentioned frequency
00014     
00015     if (num_ics <= 0)
00016     {
00017         num_ics = 1;
00018     }
00019     else
00020     {
00021         num_ics = num_ics;
00022     }
00023     
00024     
00025     driver.format (12,0);
00026     driver.frequency (10000000);
00027         
00028     for (int i = num_ics; i >=0; i--){
00029         driver.write (0x0);}
00030 }
00031 
00032 
00033 void update_led (SPI &driver, DigitalOut &xlat, DigitalOut &blank, unsigned short* LEDS)
00034 {
00035     blank = 1;
00036     blank = 0;
00037     
00038     for (int i = (48 - 1); i >= 0; i--)
00039         {
00040             driver.write (*(LEDS + i));
00041         }
00042 
00043     xlat = 1;
00044     xlat = 0;
00045 }
00046 
00047