Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of SD600A by
LPD8806.h@2:af5af64e114d, 2012-09-16 (annotated)
- 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?
User | Revision | Line number | New 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 |