DMA-enabled high data rate driver for Heroic Robotics LED strips.

Dependents:   FastPixelDemo

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LedStrip.h Source File

LedStrip.h

00001 // Parent class for all addressable LED strips.
00002 // Partially based on work by and (c) 2011 Jelmer Tiete
00003 // whose library is ported from the Arduino implementation of Adafruit Industries
00004 // found at: http://github.com/adafruit/LPD8806
00005 // and their strips: http://www.adafruit.com/products/306
00006 // Released under the MIT License: http://mbed.org/license/mit
00007 
00008 // This is a pure virtual parent class for all LED strips, so that different types
00009 // of strip may be used in a single array or container.
00010 
00011 #include "mbed.h"
00012 #ifndef LEDSTRIP_H
00013 #define LEDSTRIP_H
00014  
00015 class LedStrip {
00016  public:
00017   virtual void begin(void)=0;
00018   virtual void show(void)=0;
00019   virtual void blank(void)=0;
00020   virtual void setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b)=0;
00021   virtual void setPackedPixels(uint8_t * buffer, uint32_t n)=0;
00022   virtual void setPixelB(uint16_t n, uint8_t b)=0;
00023   virtual void setPixelG(uint16_t n, uint8_t g)=0;
00024   virtual void setPixelR(uint16_t n, uint8_t r)=0;
00025   virtual void setPixelColor(uint16_t n, uint32_t c)=0;
00026   virtual uint16_t numPixels(void)=0;
00027   virtual uint32_t Color(uint8_t, uint8_t, uint8_t)=0;
00028   virtual uint32_t total_luminance(void)=0;
00029 };
00030 #endif