DMA-enabled high data rate driver for Heroic Robotics LED strips.
LedStrip.h@10:5b3be78ce6bd, 2014-05-31 (annotated)
- Committer:
- heroic
- Date:
- Sat May 31 18:41:56 2014 +0000
- Revision:
- 10:5b3be78ce6bd
- Parent:
- 0:1518e6eb9bde
Initial commit of FastPixelLPD8806 open source driver.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
heroic | 0:1518e6eb9bde | 1 | // Parent class for all addressable LED strips. |
heroic | 0:1518e6eb9bde | 2 | // Partially based on work by and (c) 2011 Jelmer Tiete |
heroic | 0:1518e6eb9bde | 3 | // whose library is ported from the Arduino implementation of Adafruit Industries |
heroic | 0:1518e6eb9bde | 4 | // found at: http://github.com/adafruit/LPD8806 |
heroic | 0:1518e6eb9bde | 5 | // and their strips: http://www.adafruit.com/products/306 |
heroic | 0:1518e6eb9bde | 6 | // Released under the MIT License: http://mbed.org/license/mit |
heroic | 0:1518e6eb9bde | 7 | |
heroic | 0:1518e6eb9bde | 8 | // This is a pure virtual parent class for all LED strips, so that different types |
heroic | 0:1518e6eb9bde | 9 | // of strip may be used in a single array or container. |
heroic | 0:1518e6eb9bde | 10 | |
heroic | 0:1518e6eb9bde | 11 | #include "mbed.h" |
heroic | 0:1518e6eb9bde | 12 | #ifndef LEDSTRIP_H |
heroic | 0:1518e6eb9bde | 13 | #define LEDSTRIP_H |
heroic | 0:1518e6eb9bde | 14 | |
heroic | 0:1518e6eb9bde | 15 | class LedStrip { |
heroic | 0:1518e6eb9bde | 16 | public: |
heroic | 0:1518e6eb9bde | 17 | virtual void begin(void)=0; |
heroic | 0:1518e6eb9bde | 18 | virtual void show(void)=0; |
heroic | 0:1518e6eb9bde | 19 | virtual void blank(void)=0; |
heroic | 0:1518e6eb9bde | 20 | virtual void setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b)=0; |
heroic | 0:1518e6eb9bde | 21 | virtual void setPackedPixels(uint8_t * buffer, uint32_t n)=0; |
heroic | 0:1518e6eb9bde | 22 | virtual void setPixelB(uint16_t n, uint8_t b)=0; |
heroic | 0:1518e6eb9bde | 23 | virtual void setPixelG(uint16_t n, uint8_t g)=0; |
heroic | 0:1518e6eb9bde | 24 | virtual void setPixelR(uint16_t n, uint8_t r)=0; |
heroic | 0:1518e6eb9bde | 25 | virtual void setPixelColor(uint16_t n, uint32_t c)=0; |
heroic | 0:1518e6eb9bde | 26 | virtual uint16_t numPixels(void)=0; |
heroic | 0:1518e6eb9bde | 27 | virtual uint32_t Color(uint8_t, uint8_t, uint8_t)=0; |
heroic | 0:1518e6eb9bde | 28 | virtual uint32_t total_luminance(void)=0; |
heroic | 0:1518e6eb9bde | 29 | }; |
heroic | 0:1518e6eb9bde | 30 | #endif |