Mbed driver for adafruit trellis.
Dependents: Adafruit_Trellis_Hello_World
Adafruit_Trellis.h@0:bbc12ba2cb6c, 2016-03-13 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |