Heroic Robotics / SD600A

Fork of SD600A by Heroic Robotics

Committer:
heroic
Date:
Sun Sep 16 13:09:54 2012 +0000
Revision:
2:af5af64e114d
Parent:
1:6ebd3ac910b6
Child:
3:a415f73507c9
Add extra functions and parameterize;  support software SPI.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ehbmbed2 0:12e734116fea 1 // Mbed library to control LPD8806-based RGB LED Strips
ehbmbed2 0:12e734116fea 2 // (c) 2011 Jelmer Tiete
ehbmbed2 0:12e734116fea 3 // This library is ported from the Arduino implementation of Adafruit Industries
ehbmbed2 0:12e734116fea 4 // found at: http://github.com/adafruit/LPD8806
ehbmbed2 0:12e734116fea 5 // and their strips: http://www.adafruit.com/products/306
ehbmbed2 0:12e734116fea 6 // Released under the MIT License: http://mbed.org/license/mit
ehbmbed2 1:6ebd3ac910b6 7 //
ehbmbed2 1:6ebd3ac910b6 8 // standard connected to 1st hardware SPI
ehbmbed2 1:6ebd3ac910b6 9 // LPD8806 <> MBED
ehbmbed2 1:6ebd3ac910b6 10 // DATA -> P5
ehbmbed2 1:6ebd3ac910b6 11 // CLOCK -> p7
ehbmbed2 0:12e734116fea 12 /*****************************************************************************/
ehbmbed2 0:12e734116fea 13
ehbmbed2 0:12e734116fea 14 #include "mbed.h"
ehbmbed2 0:12e734116fea 15 #ifndef MBED_LPD8806_H
ehbmbed2 0:12e734116fea 16 #define MBED_LPD8806_H
ehbmbed2 0:12e734116fea 17
ehbmbed2 0:12e734116fea 18 class LPD8806 {
ehbmbed2 0:12e734116fea 19
ehbmbed2 0:12e734116fea 20 public:
ehbmbed2 0:12e734116fea 21
heroic 2:af5af64e114d 22 LPD8806(PinName dataPin, PinName clockPin, int n);
ehbmbed2 0:12e734116fea 23 void
ehbmbed2 0:12e734116fea 24 begin(void),
ehbmbed2 0:12e734116fea 25 show(void),
heroic 2:af5af64e114d 26 blank(void),
ehbmbed2 0:12e734116fea 27 setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b),
heroic 2:af5af64e114d 28 setPixelGB(uint16_t n, uint8_t g, uint8_t b),
heroic 2:af5af64e114d 29 setPixelB(uint16_t n, uint8_t b),
heroic 2:af5af64e114d 30 setPixelG(uint16_t n, uint8_t g),
heroic 2:af5af64e114d 31 setPixelR(uint16_t n, uint8_t r),
heroic 2:af5af64e114d 32
ehbmbed2 0:12e734116fea 33 setPixelColor(uint16_t n, uint32_t c);
ehbmbed2 0:12e734116fea 34 uint16_t
ehbmbed2 0:12e734116fea 35 numPixels(void);
ehbmbed2 0:12e734116fea 36 uint32_t
ehbmbed2 0:12e734116fea 37 Color(uint8_t, uint8_t, uint8_t);
ehbmbed2 0:12e734116fea 38
ehbmbed2 0:12e734116fea 39 private:
heroic 2:af5af64e114d 40 DigitalOut dat;
heroic 2:af5af64e114d 41 DigitalOut clk;
heroic 2:af5af64e114d 42 void write(uint8_t byte);
ehbmbed2 0:12e734116fea 43 uint8_t
ehbmbed2 0:12e734116fea 44 *pixels; // Holds LED color values
ehbmbed2 0:12e734116fea 45 uint16_t
ehbmbed2 0:12e734116fea 46 numLEDs; // Number of RGB LEDs in strand
ehbmbed2 0:12e734116fea 47
ehbmbed2 0:12e734116fea 48 void
ehbmbed2 0:12e734116fea 49 writezeros(uint16_t n);
ehbmbed2 0:12e734116fea 50 };
ehbmbed2 0:12e734116fea 51 #endif