Experiments

Dependencies:   mbed

Fork of LEDTape_WS2812 by takara kasai

Revision:
3:b3caff436106
Parent:
2:cdeeeea6ce2e
--- a/main.cpp	Fri Jan 10 08:00:12 2014 +0000
+++ b/main.cpp	Wed Jan 15 18:12:03 2014 +0000
@@ -21,45 +21,30 @@
     int j, k = 0;
 
     pc.baud(115200);
-    tapeInit(0, 16);
+    tapeInit(0, 32);
     led1 = 1;
 
     pc.printf("led\r\n");
-
+    
     led1 = 0; led2 = 1;
+    int i = 0;
+    int d = 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);
+        i += d;
+        if(i == 256)
+            d = -1;
+        if(i == 0)
+            d = 1;
+        led1 = i & 1;
+        led2 = (i >> 1) & 1;
+        led3 = (i >> 2) & 1;
+        led4 = (i >> 3) & 1;
+        for(int j=0; j<32;j++){
+          int val = j * 8 + i + (j * 256*256);
+          
+          tapeSet(j, val);
         }
         tapeSend();
-        wait_ms(1000);
-        led2 = 0; led4 = 0; led3 = 0;
+        wait_ms(100);
     }
 }