// initilize pin modes and values in constructor TLC5940::TLC5940(void) { // set control pins to outputs and initial values // gsclk DDR_GSCLK |= (1 << GSCLK_PIN); PORT_GSCLK &= ~(1 << GSCLK_PIN); // sclk DDR_SCLK |= (1 << SCLK_PIN); PORT_SCLK &= ~(1 << SCLK_PIN); // dcprg DDR_DCPRG |= (1 << DCPRG_PIN); PORT_DCPRG &= ~(1 << DCPRG_PIN); // vprg DDR_VPRG |= (1 << VPRG_PIN); PORT_VPRG |= (1 << VPRG_PIN); // xlat DDR_XLAT |= (1 << XLAT_PIN); PORT_XLAT &= ~(1 << XLAT_PIN); // blank DDR_BLANK |= (1 << BLANK_PIN); PORT_BLANK |= (1 << BLANK_PIN); // serial data master out slave in DDR_MOSI |= (1 << MOSI_PIN); PORT_MOSI &= ~(1 << MOSI_PIN); // initialize variables at all leds off for safety for (uint8_t i=0; i<(16 * TLC5940_N); i++) { setDC(i, 0); } for (uint8_t i=0; i<(16 * TLC5940_N); i++) { setGS(i, 0); } gsFirstCycle = false; }
// give the variables some default values TLC5940::TLC5940(void) { // initialize variables at all leds off for safety and dot correction to full brightness for (uint8_t i=0; i<(16 * TLC5940_N); i++) { setDC(i, 63); } for (uint8_t i=0; i<(16 * TLC5940_N); i++) { setGS(i, 0); } newData = false; }