int main(void){ MSP430_Init(); MSP430_Ports(); MSP430_Timer(); TLC5940_Init(); TLC5940_SetAllDC(63); TLC5940_ClockInDC(); // Default all channels to off TLC5940_SetAllGS(0); channel_t ch = 0; uint16_t bright = 0; // GLOBAL INTERRUPTS ENABLED __bis_status_register(GIE); for(;;){ while(uigsUpdateFlag); // wait until we can modify gsData //TLC5940_SetAllGS(0); TLC5940_SetGS(ch, bright); TLC5940_SetGSUpdateFlag(); __delay_cycles(10000); ch = (ch + 1) % NUM_CHANNELS; bright++; if (bright > 4095){ bright = 0; } } return 0; }
void EyesAngry (void) { while(gsUpdateFlag); // wait until we can modify gsData TLC5940_SetGS(5, MAX_BRIGHT); TLC5940_SetGS(7, MAX_BRIGHT); TLC5940_SetGS(10, MAX_BRIGHT); TLC5940_SetGS(11, MAX_BRIGHT); TLC5940_SetGS(12, MAX_BRIGHT); TLC5940_SetGS(13, MAX_BRIGHT); TLC5940_SetGS(14, MAX_BRIGHT); TLC5940_SetGS(15, MAX_BRIGHT); TLC5940_SetGS(2, MAX_BRIGHT); TLC5940_SetGS(6, MAX_BRIGHT); TLC5940_SetGS(8, MAX_BRIGHT); TLC5940_SetGS(24, MAX_BRIGHT); TLC5940_SetGS(21, MAX_BRIGHT); TLC5940_SetGS(26, MAX_BRIGHT); TLC5940_SetGS(20, MAX_BRIGHT); TLC5940_SetGS(18, MAX_BRIGHT); TLC5940_SetGS(19, MAX_BRIGHT); TLC5940_SetGS(17, MAX_BRIGHT); TLC5940_SetGS(16, MAX_BRIGHT); TLC5940_SetGS(25, MAX_BRIGHT); TLC5940_SetGS(29, MAX_BRIGHT); TLC5940_SetGS(23, MAX_BRIGHT); TLC5940_SetGSUpdateFlag(); }
void setEyesOff(void) { eyesState = E_OFF; while(gsUpdateFlag); // wait until we can modify gsData TLC5940_SetAllGS(0); TLC5940_SetGSUpdateFlag(); }
void setEyesOn(void) { eyesState = E_ON; while(gsUpdateFlag); // wait until we can modify gsData TLC5940_SetAllGS(MAX_BRIGHT); TLC5940_SetGSUpdateFlag(); }