Library for controlling LED strips or arrays based on the WS2801 3-Channel Constant Current LED Driver, like the SF 32LED/m addressable LED strip. Any two digital out capable pins can be used for clock & data. also includes a header that defines the standart HTML color names

Dependents:   ws2801_controller

Revision:
4:5e71151b8ad7
Parent:
3:2b362d164405
Child:
5:2585a833a44b
--- a/ws2801.h	Sat Jun 18 00:33:14 2011 +0000
+++ b/ws2801.h	Sat Jun 18 01:15:55 2011 +0000
@@ -41,9 +41,49 @@
 *
 * Example:
 * @code
-* 
-* code exalple goes here
-* 
+*#include "mbed.h"
+*#include "ws2801.h"
+*
+*#define STRIP_LENGTH 32
+*
+*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);
+*      }
+*}
 * @endcode
  */
 class ws2801