![](/media/cache/profiles/e5bb391401062d002dd97a346b78ecee.jpg.50x50_q85.jpg)
Testing WS2801
Fork of ws2801 by
Diff: ws2801.h
- 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