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 08:06:29 2014 +0000
Revision:
1:71b32479b674
Parent:
0:d067ddfe3df9
Child:
2:61abc599f31f
working non-inverted WS2812 driver;

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>
okini3939 0:d067ddfe3df9 7
rhodes42 1:71b32479b674 8 //Serial pc(USBTX, USBRX);
okini3939 0:d067ddfe3df9 9 DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4);
okini3939 0:d067ddfe3df9 10
okini3939 0:d067ddfe3df9 11 extern "C"
okini3939 0:d067ddfe3df9 12 void HardFault_Handler() {
okini3939 0:d067ddfe3df9 13 printf("Hard Fault!\r\n");
okini3939 0:d067ddfe3df9 14 exit(-1);
okini3939 0:d067ddfe3df9 15 }
okini3939 0:d067ddfe3df9 16
okini3939 0:d067ddfe3df9 17 int main() {
rhodes42 1:71b32479b674 18 uint32_t i;
rhodes42 1:71b32479b674 19 int j, k = 0;
rhodes42 1:71b32479b674 20
rhodes42 1:71b32479b674 21 int numLEDs = 59;
rhodes42 1:71b32479b674 22 // pc.baud(115200);
rhodes42 1:71b32479b674 23 tapeInit(0, numLEDs);
okini3939 0:d067ddfe3df9 24 led1 = 1;
okini3939 0:d067ddfe3df9 25
rhodes42 1:71b32479b674 26 // pc.printf("led\r\n");
rhodes42 1:71b32479b674 27 int color_on = (0xff << 16) | (0xff << 8) | (0xff);
okini3939 0:d067ddfe3df9 28
okini3939 0:d067ddfe3df9 29 for (;;) {
rhodes42 1:71b32479b674 30 // for (i = 0; i < 256; i ++) {
rhodes42 1:71b32479b674 31 led1 = 1;
rhodes42 1:71b32479b674 32
rhodes42 1:71b32479b674 33 /*
rhodes42 1:71b32479b674 34 for(k = 0; k < 59; k += 2)
rhodes42 1:71b32479b674 35 {
rhodes42 1:71b32479b674 36 tapeSet(k, color_on);
rhodes42 1:71b32479b674 37 }
rhodes42 1:71b32479b674 38 for(k = 1; k < 59; k += 2)
rhodes42 1:71b32479b674 39 {
rhodes42 1:71b32479b674 40 tapeSet(k, 0);
rhodes42 1:71b32479b674 41 }
okini3939 0:d067ddfe3df9 42 tapeSend();
okini3939 0:d067ddfe3df9 43 led2 = 0;
rhodes42 1:71b32479b674 44 wait_ms(1000);
rhodes42 1:71b32479b674 45
rhodes42 1:71b32479b674 46 for(k = 0; k < 59; k += 2)
rhodes42 1:71b32479b674 47 {
rhodes42 1:71b32479b674 48 tapeSet(k, 0);
rhodes42 1:71b32479b674 49 }
rhodes42 1:71b32479b674 50 for(k = 1; k < 59; k += 2)
rhodes42 1:71b32479b674 51 {
rhodes42 1:71b32479b674 52 tapeSet(k, color_on);
rhodes42 1:71b32479b674 53 }
rhodes42 1:71b32479b674 54 tapeSend();
rhodes42 1:71b32479b674 55 wait_ms(1000);
rhodes42 1:71b32479b674 56 */
rhodes42 1:71b32479b674 57
rhodes42 1:71b32479b674 58 for(i = 0; i < 255; i++);
rhodes42 1:71b32479b674 59 {
rhodes42 1:71b32479b674 60 color_on = (i << 16) | (i << 8) | (i);
rhodes42 1:71b32479b674 61 //led2 = 1;
rhodes42 1:71b32479b674 62 /*
rhodes42 1:71b32479b674 63 for(j = 0; j < numLEDs; j++);
rhodes42 1:71b32479b674 64 {
rhodes42 1:71b32479b674 65 tapeSet(j, color_on);
rhodes42 1:71b32479b674 66 }*/
rhodes42 1:71b32479b674 67 //tapeSet(k, 0);
rhodes42 1:71b32479b674 68 tapeSet(0,0);
rhodes42 1:71b32479b674 69 tapeSet(1,color_on);
rhodes42 1:71b32479b674 70 tapeSet(2,0);
rhodes42 1:71b32479b674 71 tapeSet(3,color_on);
rhodes42 1:71b32479b674 72 tapeSet(4,0);
rhodes42 1:71b32479b674 73 tapeSet(5,color_on);
rhodes42 1:71b32479b674 74 tapeSet(6,0);
rhodes42 1:71b32479b674 75 tapeSet(7,color_on);
rhodes42 1:71b32479b674 76 tapeSet(8,0);
rhodes42 1:71b32479b674 77 tapeSet(9,color_on);
rhodes42 1:71b32479b674 78 tapeSet(10,0);
rhodes42 1:71b32479b674 79 tapeSet(11,color_on);
rhodes42 1:71b32479b674 80 tapeSet(12,0);
rhodes42 1:71b32479b674 81 tapeSet(13,color_on);
rhodes42 1:71b32479b674 82 tapeSet(14,0);
rhodes42 1:71b32479b674 83 tapeSet(15,color_on);
rhodes42 1:71b32479b674 84 tapeSet(16,0);
rhodes42 1:71b32479b674 85 tapeSet(17,color_on);
rhodes42 1:71b32479b674 86 tapeSet(18,0);
rhodes42 1:71b32479b674 87 tapeSet(19,color_on);
rhodes42 1:71b32479b674 88 tapeSet(20,0);
rhodes42 1:71b32479b674 89 tapeSet(21,color_on);
rhodes42 1:71b32479b674 90 tapeSet(22,0);
rhodes42 1:71b32479b674 91 tapeSet(23,color_on);
rhodes42 1:71b32479b674 92 tapeSet(24,0);
rhodes42 1:71b32479b674 93 tapeSet(25,color_on);
rhodes42 1:71b32479b674 94 tapeSet(26,0);
rhodes42 1:71b32479b674 95 tapeSet(27,color_on);
rhodes42 1:71b32479b674 96 tapeSet(28,0);
rhodes42 1:71b32479b674 97 tapeSet(29,color_on);
rhodes42 1:71b32479b674 98 tapeSet(30,0);
rhodes42 1:71b32479b674 99 tapeSet(31,color_on);
rhodes42 1:71b32479b674 100 tapeSet(32,0);
rhodes42 1:71b32479b674 101 tapeSet(33,color_on);
rhodes42 1:71b32479b674 102 tapeSet(34,0);
rhodes42 1:71b32479b674 103 tapeSet(35,color_on);
rhodes42 1:71b32479b674 104 tapeSet(36,0);
rhodes42 1:71b32479b674 105 tapeSet(37,color_on);
rhodes42 1:71b32479b674 106 tapeSet(38,0);
rhodes42 1:71b32479b674 107 tapeSet(39,color_on);
rhodes42 1:71b32479b674 108 tapeSet(40,0);
rhodes42 1:71b32479b674 109 tapeSet(41,color_on);
rhodes42 1:71b32479b674 110 tapeSet(42,0);
rhodes42 1:71b32479b674 111 tapeSet(43,color_on);
rhodes42 1:71b32479b674 112 tapeSet(44,0);
rhodes42 1:71b32479b674 113 tapeSet(45,color_on);
rhodes42 1:71b32479b674 114 tapeSet(46,0);
rhodes42 1:71b32479b674 115 tapeSet(47,color_on);
rhodes42 1:71b32479b674 116 tapeSet(48,0);
rhodes42 1:71b32479b674 117 tapeSet(49,color_on);
rhodes42 1:71b32479b674 118 tapeSet(50,0);
rhodes42 1:71b32479b674 119 tapeSet(51,color_on);
rhodes42 1:71b32479b674 120 tapeSet(52,0);
rhodes42 1:71b32479b674 121 tapeSet(53,color_on);
rhodes42 1:71b32479b674 122 tapeSet(54,0);
rhodes42 1:71b32479b674 123 tapeSet(55,color_on);
rhodes42 1:71b32479b674 124 tapeSet(56,0);
rhodes42 1:71b32479b674 125 tapeSet(57,color_on);
rhodes42 1:71b32479b674 126 tapeSet(58,0);
rhodes42 1:71b32479b674 127
rhodes42 1:71b32479b674 128 led1 = 0;
rhodes42 1:71b32479b674 129 tapeSend();
rhodes42 1:71b32479b674 130 wait_ms(50);
rhodes42 1:71b32479b674 131
rhodes42 1:71b32479b674 132 /*
rhodes42 1:71b32479b674 133 for(j = 0; j < numLEDs; j++);
rhodes42 1:71b32479b674 134 {
rhodes42 1:71b32479b674 135 tapeSet(j, 0);
rhodes42 1:71b32479b674 136 }*/
rhodes42 1:71b32479b674 137 //tapeSet(k, color_on);
rhodes42 1:71b32479b674 138
rhodes42 1:71b32479b674 139 tapeSet(0,color_on);
rhodes42 1:71b32479b674 140 tapeSet(1,0);
rhodes42 1:71b32479b674 141 tapeSet(2,color_on);
rhodes42 1:71b32479b674 142 tapeSet(3,0);
rhodes42 1:71b32479b674 143 tapeSet(4,color_on);
rhodes42 1:71b32479b674 144 tapeSet(5,0);
rhodes42 1:71b32479b674 145 tapeSet(6,color_on);
rhodes42 1:71b32479b674 146 tapeSet(7,0);
rhodes42 1:71b32479b674 147 tapeSet(8,color_on);
rhodes42 1:71b32479b674 148 tapeSet(9,0);
rhodes42 1:71b32479b674 149 tapeSet(10,color_on);
rhodes42 1:71b32479b674 150 tapeSet(11,0);
rhodes42 1:71b32479b674 151 tapeSet(12,color_on);
rhodes42 1:71b32479b674 152 tapeSet(13,0);
rhodes42 1:71b32479b674 153 tapeSet(14,color_on);
rhodes42 1:71b32479b674 154 tapeSet(15,0);
rhodes42 1:71b32479b674 155 tapeSet(16,color_on);
rhodes42 1:71b32479b674 156 tapeSet(17,0);
rhodes42 1:71b32479b674 157 tapeSet(18,color_on);
rhodes42 1:71b32479b674 158 tapeSet(19,0);
rhodes42 1:71b32479b674 159 tapeSet(20,color_on);
rhodes42 1:71b32479b674 160 tapeSet(21,0);
rhodes42 1:71b32479b674 161 tapeSet(22,color_on);
rhodes42 1:71b32479b674 162 tapeSet(23,0);
rhodes42 1:71b32479b674 163 tapeSet(24,color_on);
rhodes42 1:71b32479b674 164 tapeSet(25,0);
rhodes42 1:71b32479b674 165 tapeSet(26,color_on);
rhodes42 1:71b32479b674 166 tapeSet(27,0);
rhodes42 1:71b32479b674 167 tapeSet(28,color_on);
rhodes42 1:71b32479b674 168 tapeSet(29,0);
rhodes42 1:71b32479b674 169 tapeSet(30,color_on);
rhodes42 1:71b32479b674 170 tapeSet(31,0);
rhodes42 1:71b32479b674 171 tapeSet(32,color_on);
rhodes42 1:71b32479b674 172 tapeSet(33,0);
rhodes42 1:71b32479b674 173 tapeSet(34,color_on);
rhodes42 1:71b32479b674 174 tapeSet(35,0);
rhodes42 1:71b32479b674 175 tapeSet(36,color_on);
rhodes42 1:71b32479b674 176 tapeSet(37,0);
rhodes42 1:71b32479b674 177 tapeSet(38,color_on);
rhodes42 1:71b32479b674 178 tapeSet(39,0);
rhodes42 1:71b32479b674 179 tapeSet(40,color_on);
rhodes42 1:71b32479b674 180 tapeSet(41,0);
rhodes42 1:71b32479b674 181 tapeSet(42,color_on);
rhodes42 1:71b32479b674 182 tapeSet(43,0);
rhodes42 1:71b32479b674 183 tapeSet(44,color_on);
rhodes42 1:71b32479b674 184 tapeSet(45,0);
rhodes42 1:71b32479b674 185 tapeSet(46,color_on);
rhodes42 1:71b32479b674 186 tapeSet(47,0);
rhodes42 1:71b32479b674 187 tapeSet(48,color_on);
rhodes42 1:71b32479b674 188 tapeSet(49,0);
rhodes42 1:71b32479b674 189 tapeSet(50,color_on);
rhodes42 1:71b32479b674 190 tapeSet(51,0);
rhodes42 1:71b32479b674 191 tapeSet(52,color_on);
rhodes42 1:71b32479b674 192 tapeSet(53,0);
rhodes42 1:71b32479b674 193 tapeSet(54,color_on);
rhodes42 1:71b32479b674 194 tapeSet(55,0);
rhodes42 1:71b32479b674 195 tapeSet(56,color_on);
rhodes42 1:71b32479b674 196 tapeSet(57,0);
rhodes42 1:71b32479b674 197 tapeSet(58,color_on);
rhodes42 1:71b32479b674 198 led1 = 1;
rhodes42 1:71b32479b674 199 tapeSend();
rhodes42 1:71b32479b674 200 wait_ms(50);
rhodes42 1:71b32479b674 201 }
rhodes42 1:71b32479b674 202 // }
okini3939 0:d067ddfe3df9 203 }
okini3939 0:d067ddfe3df9 204 }