Library and demo using the WS2812-based Neopixel strip connected to an LPC114

Dependencies:   mbed

Fork of LEDTape_WS2812 by Suga koubou

Details here: http://mbed.org/users/rhodes42/notebook/tiny-neopixel-controller-with-lpc1114/

Committer:
rhodes42
Date:
Mon Mar 24 10:00:54 2014 +0000
Revision:
2:61abc599f31f
Parent:
1:71b32479b674
Child:
3:743570d993aa
Working demo shifting Red Green & Blue

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:d067ddfe3df9 1 /*
okini3939 0:d067ddfe3df9 2 * WS2812 tape led IC
okini3939 0:d067ddfe3df9 3 */
okini3939 0:d067ddfe3df9 4 #include "mbed.h"
okini3939 0:d067ddfe3df9 5 #include "LEDStrip.h"
rhodes42 1:71b32479b674 6 #include <stdint.h>
rhodes42 2:61abc599f31f 7 #include "LEDStripFunctions.h"
okini3939 0:d067ddfe3df9 8
rhodes42 1:71b32479b674 9 //Serial pc(USBTX, USBRX);
okini3939 0:d067ddfe3df9 10 DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4);
okini3939 0:d067ddfe3df9 11
okini3939 0:d067ddfe3df9 12 extern "C"
okini3939 0:d067ddfe3df9 13 void HardFault_Handler() {
okini3939 0:d067ddfe3df9 14 printf("Hard Fault!\r\n");
okini3939 0:d067ddfe3df9 15 exit(-1);
okini3939 0:d067ddfe3df9 16 }
okini3939 0:d067ddfe3df9 17
okini3939 0:d067ddfe3df9 18 int main() {
rhodes42 1:71b32479b674 19 uint32_t i;
rhodes42 1:71b32479b674 20 int j, k = 0;
rhodes42 1:71b32479b674 21
rhodes42 1:71b32479b674 22 int numLEDs = 59;
rhodes42 1:71b32479b674 23 // pc.baud(115200);
rhodes42 1:71b32479b674 24 tapeInit(0, numLEDs);
okini3939 0:d067ddfe3df9 25 led1 = 1;
okini3939 0:d067ddfe3df9 26
rhodes42 1:71b32479b674 27 // pc.printf("led\r\n");
rhodes42 1:71b32479b674 28 int color_on = (0xff << 16) | (0xff << 8) | (0xff);
okini3939 0:d067ddfe3df9 29
rhodes42 2:61abc599f31f 30 uint32_t colors[numLEDs];
rhodes42 2:61abc599f31f 31 /*
rhodes42 2:61abc599f31f 32 for (k = 0; k < numLEDs; k++)
rhodes42 2:61abc599f31f 33 {
rhodes42 2:61abc599f31f 34 colors[k] = (k*260000);
rhodes42 2:61abc599f31f 35 }*/
rhodes42 2:61abc599f31f 36
rhodes42 2:61abc599f31f 37 setEveryMod(colors, 0xff, 3, 0, numLEDs);
rhodes42 2:61abc599f31f 38 setEveryMod(colors, (0xff<<8), 3, 1, numLEDs);
rhodes42 2:61abc599f31f 39 setEveryMod(colors, (0xff<<16), 3, 2, numLEDs);
rhodes42 2:61abc599f31f 40
rhodes42 2:61abc599f31f 41
okini3939 0:d067ddfe3df9 42 for (;;) {
rhodes42 2:61abc599f31f 43 led1 = 1;
rhodes42 1:71b32479b674 44
rhodes42 2:61abc599f31f 45
rhodes42 1:71b32479b674 46
rhodes42 2:61abc599f31f 47 for(i = 0; i < 59; i++);
rhodes42 1:71b32479b674 48 {
rhodes42 1:71b32479b674 49
rhodes42 2:61abc599f31f 50 shiftAllFwd(colors, numLEDs);
rhodes42 2:61abc599f31f 51 setAll(colors, numLEDs);
rhodes42 1:71b32479b674 52 led1 = 0;
rhodes42 1:71b32479b674 53 tapeSend();
rhodes42 2:61abc599f31f 54 wait_ms(100);
rhodes42 1:71b32479b674 55
rhodes42 2:61abc599f31f 56 shiftAllFwd(colors, numLEDs);
rhodes42 2:61abc599f31f 57 setAll(colors, numLEDs);
rhodes42 1:71b32479b674 58 led1 = 1;
rhodes42 1:71b32479b674 59 tapeSend();
rhodes42 2:61abc599f31f 60 wait_ms(100);
rhodes42 1:71b32479b674 61 }
okini3939 0:d067ddfe3df9 62 }
okini3939 0:d067ddfe3df9 63 }