Testing WS2801

Dependencies:   mbed

Fork of ws2801 by Thomas Olsson

Files at this revision

API Documentation at this revision

Comitter:
lab4d
Date:
Mon May 26 20:05:07 2014 +0000
Parent:
7:0611499dd15d
Commit message:
Compiling version, still not working :/

Changed in this revision

Program.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 0611499dd15d -r 22469b6544d2 Program.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Program.cpp	Mon May 26 20:05:07 2014 +0000
@@ -0,0 +1,43 @@
+#include "mbed.h"
+#include "ws2801.h"
+
+#define STRIP_LENGTH 40
+
+ws2801 mystrip(p9, p10, STRIP_LENGTH);
+
+int dir=1, level=10;
+int rainbow[] = {0xff00ff,0xff00cc,0xff0099,0xff0066,0xff0033,0xff0000,0xff3300,0xff6600,
+                 0xff9900,0xffcc00,0xffff00,0xccff00,0x99ff00,0x66ff00,0x33ff00,0x00ff00,
+                 0x00ff33,0x00ff66,0x00ff99,0x00ffcc,0x00ffff,0x00ccff,0x0099ff,0x0066ff,
+                 0x0033ff,0x0000ff,0x3300ff,0x6600ff,0x9900ff,0xcc00ff,0x9900ff,0x6600ff
+                };
+              
+void move(void){
+    int temp = rainbow[31];
+    for (int x = (STRIP_LENGTH - 1) ; x > 0 ; x--) rainbow[x] = rainbow[x - 1];
+    rainbow[0] = temp;
+}    
+
+void pulse(void){
+    if(dir)
+      {
+      mystrip.level(level+=2);
+      if(level >= 100)dir = 0;
+      }
+    else if(!dir)
+    {
+    mystrip.level(level--);
+    if(level <= 5)dir = 1;    
+    }
+}
+       
+int main() {
+    mystrip.level(level);
+    while(1)
+      {
+      move();
+      pulse();
+      mystrip.post(rainbow);
+      wait_ms(100);
+      }
+}
\ No newline at end of file
diff -r 0611499dd15d -r 22469b6544d2 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon May 26 20:05:07 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/0b3ab51c8877
\ No newline at end of file