Cascaded led driver to write use write into leds[i] = 0x0 or 0xfff
Fork of TLC5940 by
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
Generated on Sun Jul 17 2022 04:20:57 by 1.7.2