change to enable to use new type of WS2812.

Dependencies:   mbed

Fork of LEDTape_WS2812 by Suga koubou

this program is forked from following programs. http://mbed.org/users/okini3939/code/LEDTape_WS2812/

differences

diffs from parent source.

- 1. adapted to new type of WS2812.

- 2. change output level to be reversed.

1.adapted to new type of WS2812.

CODE:0

 __________
|          |________________|

0.4[us] ±150[ns]     0.85[us] ±150[ns] 
(old module: 0.35[us] 0.8[us])

CODE:1

 _______________
|               |___________|

0.8[us] ±150[ns]     0.45[us] ±150[ns] 
(old module: 0.7[us] 0.6[us])

CODE:RET

     > 50[us] 
|______________________|

2. change output level to be reversed

mbed             LED module
----------+            +--------
Vcc       | ---------- | 5[v]
MOSI      | ---|>----- |  DIO
GND       | ---------- | GND
----------+            +--------

syntax : https://mbed.org/cookbook/Wiki-Syntax

Committer:
tkasa
Date:
Sun Dec 29 03:15:33 2013 +0000
Revision:
1:bbc584b629fa
Parent:
0:d067ddfe3df9
change to enable to use new type of WS2812.

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"
okini3939 0:d067ddfe3df9 6
okini3939 0:d067ddfe3df9 7 Serial pc(USBTX, USBRX);
okini3939 0:d067ddfe3df9 8 DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4);
okini3939 0:d067ddfe3df9 9
okini3939 0:d067ddfe3df9 10 extern "C"
okini3939 0:d067ddfe3df9 11 void HardFault_Handler() {
okini3939 0:d067ddfe3df9 12 printf("Hard Fault!\r\n");
okini3939 0:d067ddfe3df9 13 exit(-1);
okini3939 0:d067ddfe3df9 14 }
okini3939 0:d067ddfe3df9 15
okini3939 0:d067ddfe3df9 16 int main() {
tkasa 1:bbc584b629fa 17 int j, k = 0;
okini3939 0:d067ddfe3df9 18
okini3939 0:d067ddfe3df9 19 pc.baud(115200);
okini3939 0:d067ddfe3df9 20 tapeInit(0, 16);
okini3939 0:d067ddfe3df9 21 led1 = 1;
okini3939 0:d067ddfe3df9 22
okini3939 0:d067ddfe3df9 23 pc.printf("led\r\n");
okini3939 0:d067ddfe3df9 24
okini3939 0:d067ddfe3df9 25 for (;;) {
tkasa 1:bbc584b629fa 26 for (long int i = 0; i < 256; i++) {
tkasa 1:bbc584b629fa 27 int val = i;
tkasa 1:bbc584b629fa 28 for(int j=0;j<16;j++){
tkasa 1:bbc584b629fa 29 tapeSet(j, val);
tkasa 1:bbc584b629fa 30 }
tkasa 1:bbc584b629fa 31 tapeSend();
tkasa 1:bbc584b629fa 32 wait_ms(2);
tkasa 1:bbc584b629fa 33 }
tkasa 1:bbc584b629fa 34 }
tkasa 1:bbc584b629fa 35 for (;;) {
tkasa 1:bbc584b629fa 36 for (long int i = 0; i < 256; i++) {
tkasa 1:bbc584b629fa 37 int val = (i << 8)|(255-i);
tkasa 1:bbc584b629fa 38 for(int j=0;j<16;j++){
tkasa 1:bbc584b629fa 39 tapeSet(j, val);
tkasa 1:bbc584b629fa 40 }
okini3939 0:d067ddfe3df9 41 tapeSend();
tkasa 1:bbc584b629fa 42 wait_ms(2);
tkasa 1:bbc584b629fa 43 }
tkasa 1:bbc584b629fa 44 for (long int i = 0; i < 256; i++) {
tkasa 1:bbc584b629fa 45 int val = (i << 16)|((255-i)<<8);
tkasa 1:bbc584b629fa 46 for(int j=0;j<16;j++){
tkasa 1:bbc584b629fa 47 tapeSet(j, val);
tkasa 1:bbc584b629fa 48 }
tkasa 1:bbc584b629fa 49 tapeSend();
tkasa 1:bbc584b629fa 50 wait_ms(2);
okini3939 0:d067ddfe3df9 51 }
tkasa 1:bbc584b629fa 52 for (long int i = 0; i < 256; i++) {
tkasa 1:bbc584b629fa 53 int val = ((255-i)<<16)|i;
tkasa 1:bbc584b629fa 54 for(int j=0;j<16;j++){
tkasa 1:bbc584b629fa 55 tapeSet(j, val);
tkasa 1:bbc584b629fa 56 }
tkasa 1:bbc584b629fa 57 tapeSend();
tkasa 1:bbc584b629fa 58 wait_ms(2);
okini3939 0:d067ddfe3df9 59 }
tkasa 1:bbc584b629fa 60 //for (i = 0; i < 160; i ++) {
tkasa 1:bbc584b629fa 61 // tapeSet(i, 0);
tkasa 1:bbc584b629fa 62 //}
tkasa 1:bbc584b629fa 63 //tapeSend();
okini3939 0:d067ddfe3df9 64 }
okini3939 0:d067ddfe3df9 65 }