This is a library for the Adafruit LED Backpacks. This library works with the Adafruit Mini 8x8.

Dependents:   CompSci335Project TritiumSim

How to use this library:

main.cpp

#include "mbed.h"
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"

I2C i2c(p9, p10);

Adafruit_8x8matrix matrix = Adafruit_8x8matrix(&i2c);

int main() {
    matrix.begin(0x70);
    while(1) {
        matrix.clear();
        for (int i = 0; i < 8; i++) {
          for (int j = 0; j < 8; j++) {
              matrix.drawPixel(i, j, LED_ON);  
          }
        }
        matrix.writeDisplay();  // write the changes we just made to the display
        wait(60);
    }
}

Adafruit_LEDBackpack.h

Committer:
luizhespanha
Date:
2013-08-16
Revision:
1:f066d5347c60
Parent:
0:e81a6274acce

File content as of revision 1:f066d5347c60:

/*************************************************** 
  This is a library for our I2C LED Backpacks

  Designed specifically to work with the Adafruit LED Matrix backpacks 
  ----> http://www.adafruit.com/products/
  ----> http://www.adafruit.com/products/

  These displays use I2C to communicate, 2 pins are required to 
  interface. There are multiple selectable I2C addresses. For backpacks
  with 2 Address Select pins: 0x70, 0x71, 0x72 or 0x73. For backpacks
  with 3 Address Select pins: 0x70 thru 0x77

  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/
 
 /*
 *  Modified by Luiz Hespanha (http://www.d3.do) 8/16/2013 for use in LPC1768
 */

#include "mbed.h"
#include "Adafruit_GFX.h"

#define LED_ON 1
#define LED_OFF 0

#define LED_RED 1
#define LED_YELLOW 2
#define LED_GREEN 3
 


#define HT16K33_BLINK_CMD 0x80
#define HT16K33_BLINK_DISPLAYON 0x01
#define HT16K33_BLINK_OFF 0
#define HT16K33_BLINK_2HZ  1
#define HT16K33_BLINK_1HZ  2
#define HT16K33_BLINK_HALFHZ  3

#define HT16K33_CMD_BRIGHTNESS 0x0E

// this is the raw HT16K33 controller
class Adafruit_LEDBackpack {
 public:
  Adafruit_LEDBackpack(I2C *i2c);
  void begin(uint8_t _addr);
  void setBrightness(uint8_t b);
  void blinkRate(uint8_t b);
  void writeDisplay(void);
  void clear(void);

  uint16_t displaybuffer[8]; 

  void init(uint8_t a);

  protected:
    I2C *_i2c;
  
 private:
  uint8_t i2c_addr;
};

class Adafruit_8x8matrix : public Adafruit_LEDBackpack, public Adafruit_GFX {
 public:
  Adafruit_8x8matrix(I2C *i2c);

  void drawPixel(int16_t x, int16_t y, uint16_t color);

 private:
};