Dependencies:   mbed

Fork of LEDTape_WS2812 by takara kasai

main.cpp

Committer:
Recmo
Date:
2014-01-10
Revision:
2:cdeeeea6ce2e
Parent:
1:bbc584b629fa
Child:
3:b3caff436106

File content as of revision 2:cdeeeea6ce2e:

/*
 * WS2812 tape led IC
 */
#include "mbed.h"
#include "LEDStrip.h"

Serial pc(USBTX, USBRX);
DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4);

// Data = Green = Mosi = P11
// White = Black = GND
// Red = 5V

extern "C"
void HardFault_Handler() {
    printf("Hard Fault!\r\n");
    exit(-1);
}

int main() {
    int j, k = 0;

    pc.baud(115200);
    tapeInit(0, 16);
    led1 = 1;

    pc.printf("led\r\n");

    led1 = 0; led2 = 1;
    for (;;) {
        for (long int i = 0; i < 256; i++) {
            int val = (i << 8)|(255-i);
            for(int j=0;j<16;j++){
              tapeSet(j, val);
            }
            tapeSend();
            wait_ms(10);
        }
        led2 = 0; led3 = 1;
        for (long int i = 0; i < 256; i++) {
            int val = (i << 16)|((255-i)<<8);
            for(int j=0;j<16;j++){
              tapeSet(j, val);
            }
            tapeSend();
            wait_ms(10);
        }
        led3 = 0; led4 = 1;
        for (long int i = 0; i < 256; i++) {
            int val = ((255-i)<<16)|i;
            for(int j=0;j<16;j++){
              tapeSet(j, val);
            }
            tapeSend();
            wait_ms(10);
        }
        led2 = 1; led4 = 1;
        for (int i = 0; i < 160; i ++) {
            tapeSet(i, 0);
        }
        tapeSend();
        wait_ms(1000);
        led2 = 0; led4 = 0; led3 = 0;
    }
}