change to enable to use new type of WS2812.
Fork of LEDTape_WS2812 by
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
main.cpp@1:bbc584b629fa, 2013-12-29 (annotated)
- 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?
User | Revision | Line number | New 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 | } |