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

Committer:
wertyfrog
Date:
Tue Jun 14 19:29:06 2011 +0000
Revision:
1:363dd100d793
Parent:
0:b964d673c7db
Child:
2:a147efe1f3a8
documentation test 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wertyfrog 0:b964d673c7db 1 #ifndef WS2801_H
wertyfrog 0:b964d673c7db 2 #define WS2801_H
wertyfrog 0:b964d673c7db 3
wertyfrog 0:b964d673c7db 4 #include "mbed.h"
wertyfrog 1:363dd100d793 5 #include "ws2801.h"
wertyfrog 0:b964d673c7db 6 #include "HTML_color.h"
wertyfrog 0:b964d673c7db 7
wertyfrog 0:b964d673c7db 8 class ws2801
wertyfrog 0:b964d673c7db 9 {
wertyfrog 0:b964d673c7db 10 public:
wertyfrog 0:b964d673c7db 11 /** Create a new ws2801 object
wertyfrog 0:b964d673c7db 12 *
wertyfrog 0:b964d673c7db 13 * More details about the function goes here
wertyfrog 0:b964d673c7db 14 * and here
wertyfrog 0:b964d673c7db 15 *
wertyfrog 0:b964d673c7db 16 * @param CKI clock pin
wertyfrog 0:b964d673c7db 17 * @param SDI data pin
wertyfrog 0:b964d673c7db 18 * @param STRIP_LENGTH number of ws2801 IC's i strip or array
wertyfrog 0:b964d673c7db 19 * @param reset_delay delay in us to allow latching data
wertyfrog 0:b964d673c7db 20 * @returns nothing
wertyfrog 0:b964d673c7db 21 */
wertyfrog 0:b964d673c7db 22 ws2801(PinName CKI, PinName SDI, int STRIP_LENGTH = 32, int reset_delay = 800);
wertyfrog 0:b964d673c7db 23 /** write RGB color data to strip or array
wertyfrog 0:b964d673c7db 24 *
wertyfrog 0:b964d673c7db 25 * More details about the function goes here
wertyfrog 0:b964d673c7db 26 * and here
wertyfrog 0:b964d673c7db 27 *
wertyfrog 0:b964d673c7db 28 * @param strip_colors array of color data, size must be 24xSTRIP_LENGHT bits
wertyfrog 0:b964d673c7db 29 */
wertyfrog 0:b964d673c7db 30 void post(int *strip_colors);
wertyfrog 0:b964d673c7db 31 /** clears the array or strip (all off)
wertyfrog 0:b964d673c7db 32 *
wertyfrog 0:b964d673c7db 33 * More details about the function goes here
wertyfrog 0:b964d673c7db 34 * and here
wertyfrog 0:b964d673c7db 35 *
wertyfrog 0:b964d673c7db 36 */
wertyfrog 0:b964d673c7db 37 void clear(void);
wertyfrog 0:b964d673c7db 38 /** dimms the entire array
wertyfrog 0:b964d673c7db 39 *
wertyfrog 0:b964d673c7db 40 * More details about the function goes here
wertyfrog 0:b964d673c7db 41 * and here
wertyfrog 0:b964d673c7db 42 *
wertyfrog 0:b964d673c7db 43 * @param level level in percent
wertyfrog 0:b964d673c7db 44 * @returns current level
wertyfrog 0:b964d673c7db 45 */
wertyfrog 0:b964d673c7db 46 int setlevel(int level=100);
wertyfrog 0:b964d673c7db 47 /** set reset/write delay
wertyfrog 0:b964d673c7db 48 *
wertyfrog 0:b964d673c7db 49 * More details about the function goes here
wertyfrog 0:b964d673c7db 50 * and here
wertyfrog 0:b964d673c7db 51 *
wertyfrog 0:b964d673c7db 52 * @param delay delay in us
wertyfrog 0:b964d673c7db 53 * @returns delay in us
wertyfrog 0:b964d673c7db 54 */
wertyfrog 0:b964d673c7db 55 int setdelay(int reset_delay=800);
wertyfrog 0:b964d673c7db 56
wertyfrog 0:b964d673c7db 57 private:
wertyfrog 0:b964d673c7db 58 DigitalOut _CKI;
wertyfrog 0:b964d673c7db 59 DigitalOut _SDI;
wertyfrog 0:b964d673c7db 60 int _STRIP_LENGTH;
wertyfrog 0:b964d673c7db 61 int _level;
wertyfrog 0:b964d673c7db 62 int _reset_delay;
wertyfrog 0:b964d673c7db 63 };
wertyfrog 0:b964d673c7db 64
wertyfrog 0:b964d673c7db 65 #endif