Port of the Adafruit_IS31FL3731 library for Arduino. Enables control of the feather Charliewing LED Matrix peripheral board. Makes use of the I2Cdev library for I2C.
Dependencies: I2Cdev_MAX32630FTHR
Defaulty uses pinmap for the Maxim 32630FTHR Pegasus board. For a different board, change pin definitions in I2Cdev.h
Adafruit_IS31FL3731.h@2:de1066d7f78f, 2018-03-17 (annotated)
- Committer:
- DVLevine
- Date:
- Sat Mar 17 20:41:53 2018 +0000
- Revision:
- 2:de1066d7f78f
- Parent:
- 0:9a73d45a17de
- Child:
- 3:0da61b470b86
fixed some comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DVLevine | 2:de1066d7f78f | 1 | #ifndef _ADAFRUIT_IS31FL3731_H_ |
DVLevine | 0:9a73d45a17de | 2 | #define _ADAFRUIT_IS31FL3731_H_ |
DVLevine | 0:9a73d45a17de | 3 | |
DVLevine | 0:9a73d45a17de | 4 | #include "mbed.h" |
DVLevine | 0:9a73d45a17de | 5 | #include "Adafruit_GFX.h" |
DVLevine | 0:9a73d45a17de | 6 | #include "I2Cdev.h" |
DVLevine | 0:9a73d45a17de | 7 | |
DVLevine | 0:9a73d45a17de | 8 | |
DVLevine | 0:9a73d45a17de | 9 | #define ISSI_ADDR_DEFAULT 0x74 |
DVLevine | 0:9a73d45a17de | 10 | |
DVLevine | 0:9a73d45a17de | 11 | #define ISSI_REG_CONFIG 0x00 |
DVLevine | 0:9a73d45a17de | 12 | #define ISSI_REG_CONFIG_PICTUREMODE 0x00 |
DVLevine | 0:9a73d45a17de | 13 | #define ISSI_REG_CONFIG_AUTOPLAYMODE 0x08 |
DVLevine | 0:9a73d45a17de | 14 | #define ISSI_REG_CONFIG_AUDIOPLAYMODE 0x18 |
DVLevine | 0:9a73d45a17de | 15 | |
DVLevine | 0:9a73d45a17de | 16 | #define ISSI_CONF_PICTUREMODE 0x00 |
DVLevine | 0:9a73d45a17de | 17 | #define ISSI_CONF_AUTOFRAMEMODE 0x04 |
DVLevine | 0:9a73d45a17de | 18 | #define ISSI_CONF_AUDIOMODE 0x08 |
DVLevine | 0:9a73d45a17de | 19 | |
DVLevine | 0:9a73d45a17de | 20 | #define ISSI_REG_PICTUREFRAME 0x01 |
DVLevine | 0:9a73d45a17de | 21 | |
DVLevine | 0:9a73d45a17de | 22 | #define ISSI_REG_SHUTDOWN 0x0A |
DVLevine | 0:9a73d45a17de | 23 | #define ISSI_REG_AUDIOSYNC 0x06 |
DVLevine | 0:9a73d45a17de | 24 | |
DVLevine | 0:9a73d45a17de | 25 | #define ISSI_COMMANDREGISTER 0xFD |
DVLevine | 0:9a73d45a17de | 26 | #define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' |
DVLevine | 0:9a73d45a17de | 27 | |
DVLevine | 0:9a73d45a17de | 28 | #define I2C_SDA P3_4//D14 |
DVLevine | 0:9a73d45a17de | 29 | #define I2C_SCL P3_5//D15 |
DVLevine | 0:9a73d45a17de | 30 | |
DVLevine | 0:9a73d45a17de | 31 | //I2Cdev* myDevI2C = new I2Cdev(); |
DVLevine | 0:9a73d45a17de | 32 | |
DVLevine | 0:9a73d45a17de | 33 | class Adafruit_IS31FL3731 : public Adafruit_GFX { |
DVLevine | 0:9a73d45a17de | 34 | public: |
DVLevine | 0:9a73d45a17de | 35 | Adafruit_IS31FL3731(uint8_t x=16, uint8_t y=9):Adafruit_GFX(x,y){ |
DVLevine | 0:9a73d45a17de | 36 | I2Cdev* myDevI2C = new I2Cdev(); |
DVLevine | 0:9a73d45a17de | 37 | myI2C = myDevI2C; |
DVLevine | 0:9a73d45a17de | 38 | };//, I2Cdev* theI2C=myDevI2C); |
DVLevine | 0:9a73d45a17de | 39 | bool begin(uint8_t addr = ISSI_ADDR_DEFAULT); |
DVLevine | 0:9a73d45a17de | 40 | I2Cdev* myI2C; |
DVLevine | 0:9a73d45a17de | 41 | void drawPixel(int16_t x, int16_t y, uint16_t color); |
DVLevine | 0:9a73d45a17de | 42 | void clear(void); |
DVLevine | 0:9a73d45a17de | 43 | |
DVLevine | 0:9a73d45a17de | 44 | void setLEDPWM(uint8_t lednum, uint8_t pwm, uint8_t bank = 0); |
DVLevine | 0:9a73d45a17de | 45 | void audioSync(bool sync); |
DVLevine | 0:9a73d45a17de | 46 | void setFrame(uint8_t b); |
DVLevine | 0:9a73d45a17de | 47 | void displayFrame(uint8_t frame); |
DVLevine | 0:9a73d45a17de | 48 | |
DVLevine | 0:9a73d45a17de | 49 | |
DVLevine | 0:9a73d45a17de | 50 | protected: |
DVLevine | 0:9a73d45a17de | 51 | void selectBank(uint8_t bank); |
DVLevine | 0:9a73d45a17de | 52 | void writeRegister8(uint8_t bank, uint8_t reg, uint8_t data); |
DVLevine | 0:9a73d45a17de | 53 | uint8_t readRegister8(uint8_t bank, uint8_t reg); |
DVLevine | 0:9a73d45a17de | 54 | uint8_t _i2caddr, _frame; |
DVLevine | 0:9a73d45a17de | 55 | }; |
DVLevine | 0:9a73d45a17de | 56 | |
DVLevine | 0:9a73d45a17de | 57 | class Adafruit_IS31FL3731_Wing : public Adafruit_IS31FL3731 { |
DVLevine | 0:9a73d45a17de | 58 | public: |
DVLevine | 0:9a73d45a17de | 59 | Adafruit_IS31FL3731_Wing():Adafruit_IS31FL3731(16,9){ |
DVLevine | 0:9a73d45a17de | 60 | //myboss = mainboss; |
DVLevine | 0:9a73d45a17de | 61 | };//I2Cdev* theI2C); |
DVLevine | 0:9a73d45a17de | 62 | void drawPixel(int16_t x, int16_t y, uint16_t color); |
DVLevine | 0:9a73d45a17de | 63 | }; |
DVLevine | 0:9a73d45a17de | 64 | |
DVLevine | 0:9a73d45a17de | 65 | |
DVLevine | 0:9a73d45a17de | 66 | |
DVLevine | 0:9a73d45a17de | 67 | #endif |