Mbed driver for adafruit trellis.

Dependents:   Adafruit_Trellis_Hello_World

Committer:
wliu88
Date:
Sun Mar 13 04:59:13 2016 +0000
Revision:
0:bbc12ba2cb6c
Child:
1:3a43c8b959d8
Adafruit_Trellis library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wliu88 0:bbc12ba2cb6c 1 // Set _BV if not already set
wliu88 0:bbc12ba2cb6c 2 #ifndef _BV
wliu88 0:bbc12ba2cb6c 3 #define _BV(bit) (1 << (bit))
wliu88 0:bbc12ba2cb6c 4 #endif
wliu88 0:bbc12ba2cb6c 5
wliu88 0:bbc12ba2cb6c 6 #include "mbed.h"
wliu88 0:bbc12ba2cb6c 7
wliu88 0:bbc12ba2cb6c 8 #define LED_ON 1
wliu88 0:bbc12ba2cb6c 9 #define LED_OFF 0
wliu88 0:bbc12ba2cb6c 10
wliu88 0:bbc12ba2cb6c 11 #define HT16K33_BLINK_OFF 0
wliu88 0:bbc12ba2cb6c 12 #define HT16K33_BLINK_2HZ 1
wliu88 0:bbc12ba2cb6c 13 #define HT16K33_BLINK_1HZ 2
wliu88 0:bbc12ba2cb6c 14 #define HT16K33_BLINK_HALFHZ 3
wliu88 0:bbc12ba2cb6c 15
wliu88 0:bbc12ba2cb6c 16
wliu88 0:bbc12ba2cb6c 17 // this is the raw HT16K33 controller
wliu88 0:bbc12ba2cb6c 18 class Adafruit_Trellis {
wliu88 0:bbc12ba2cb6c 19 public:
wliu88 0:bbc12ba2cb6c 20 Adafruit_Trellis(void);
wliu88 0:bbc12ba2cb6c 21 void begin(I2C *_wire, uint8_t _addr);
wliu88 0:bbc12ba2cb6c 22 void setBrightness(uint8_t b);
wliu88 0:bbc12ba2cb6c 23 void blinkRate(uint8_t b);
wliu88 0:bbc12ba2cb6c 24 void writeDisplay(void);
wliu88 0:bbc12ba2cb6c 25 void clear(void);
wliu88 0:bbc12ba2cb6c 26
wliu88 0:bbc12ba2cb6c 27 bool isLED(uint8_t x);
wliu88 0:bbc12ba2cb6c 28 void setLED(uint8_t x);
wliu88 0:bbc12ba2cb6c 29 void clrLED(uint8_t x);
wliu88 0:bbc12ba2cb6c 30
wliu88 0:bbc12ba2cb6c 31 bool isKeyPressed(uint8_t k);
wliu88 0:bbc12ba2cb6c 32 bool wasKeyPressed(uint8_t k);
wliu88 0:bbc12ba2cb6c 33 bool readSwitches(void);
wliu88 0:bbc12ba2cb6c 34 bool justPressed(uint8_t k);
wliu88 0:bbc12ba2cb6c 35 bool justReleased(uint8_t k);
wliu88 0:bbc12ba2cb6c 36
wliu88 0:bbc12ba2cb6c 37 uint16_t displaybuffer[8];
wliu88 0:bbc12ba2cb6c 38
wliu88 0:bbc12ba2cb6c 39 void init(uint8_t a);
wliu88 0:bbc12ba2cb6c 40
wliu88 0:bbc12ba2cb6c 41 private:
wliu88 0:bbc12ba2cb6c 42 uint8_t keys[6], lastkeys[6];
wliu88 0:bbc12ba2cb6c 43
wliu88 0:bbc12ba2cb6c 44 uint8_t i2c_addr;
wliu88 0:bbc12ba2cb6c 45 char cmd[20];
wliu88 0:bbc12ba2cb6c 46 I2C *wire;
wliu88 0:bbc12ba2cb6c 47 };