Remco Bloemen
/
LEDTape_WS2812_2
Experiments
Fork of LEDTape_WS2812 by
main.cpp@3:b3caff436106, 2014-01-15 (annotated)
- Committer:
- Recmo
- Date:
- Wed Jan 15 18:12:03 2014 +0000
- Revision:
- 3:b3caff436106
- Parent:
- 2:cdeeeea6ce2e
Experiments
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 | |
Recmo | 2:cdeeeea6ce2e | 10 | // Data = Green = Mosi = P11 |
Recmo | 2:cdeeeea6ce2e | 11 | // White = Black = GND |
Recmo | 2:cdeeeea6ce2e | 12 | // Red = 5V |
Recmo | 2:cdeeeea6ce2e | 13 | |
okini3939 | 0:d067ddfe3df9 | 14 | extern "C" |
okini3939 | 0:d067ddfe3df9 | 15 | void HardFault_Handler() { |
okini3939 | 0:d067ddfe3df9 | 16 | printf("Hard Fault!\r\n"); |
okini3939 | 0:d067ddfe3df9 | 17 | exit(-1); |
okini3939 | 0:d067ddfe3df9 | 18 | } |
okini3939 | 0:d067ddfe3df9 | 19 | |
okini3939 | 0:d067ddfe3df9 | 20 | int main() { |
tkasa | 1:bbc584b629fa | 21 | int j, k = 0; |
okini3939 | 0:d067ddfe3df9 | 22 | |
okini3939 | 0:d067ddfe3df9 | 23 | pc.baud(115200); |
Recmo | 3:b3caff436106 | 24 | tapeInit(0, 32); |
okini3939 | 0:d067ddfe3df9 | 25 | led1 = 1; |
okini3939 | 0:d067ddfe3df9 | 26 | |
okini3939 | 0:d067ddfe3df9 | 27 | pc.printf("led\r\n"); |
Recmo | 3:b3caff436106 | 28 | |
Recmo | 2:cdeeeea6ce2e | 29 | led1 = 0; led2 = 1; |
Recmo | 3:b3caff436106 | 30 | int i = 0; |
Recmo | 3:b3caff436106 | 31 | int d = 1; |
tkasa | 1:bbc584b629fa | 32 | for (;;) { |
Recmo | 3:b3caff436106 | 33 | i += d; |
Recmo | 3:b3caff436106 | 34 | if(i == 256) |
Recmo | 3:b3caff436106 | 35 | d = -1; |
Recmo | 3:b3caff436106 | 36 | if(i == 0) |
Recmo | 3:b3caff436106 | 37 | d = 1; |
Recmo | 3:b3caff436106 | 38 | led1 = i & 1; |
Recmo | 3:b3caff436106 | 39 | led2 = (i >> 1) & 1; |
Recmo | 3:b3caff436106 | 40 | led3 = (i >> 2) & 1; |
Recmo | 3:b3caff436106 | 41 | led4 = (i >> 3) & 1; |
Recmo | 3:b3caff436106 | 42 | for(int j=0; j<32;j++){ |
Recmo | 3:b3caff436106 | 43 | int val = j * 8 + i + (j * 256*256); |
Recmo | 3:b3caff436106 | 44 | |
Recmo | 3:b3caff436106 | 45 | tapeSet(j, val); |
Recmo | 2:cdeeeea6ce2e | 46 | } |
Recmo | 2:cdeeeea6ce2e | 47 | tapeSend(); |
Recmo | 3:b3caff436106 | 48 | wait_ms(100); |
okini3939 | 0:d067ddfe3df9 | 49 | } |
okini3939 | 0:d067ddfe3df9 | 50 | } |