Adafruit_LEDBackpack.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /***************************************************
  2. This is a library for our I2C LED Backpacks
  3. Designed specifically to work with the Adafruit LED Matrix backpacks
  4. ----> http://www.adafruit.com/products/
  5. ----> http://www.adafruit.com/products/
  6. These displays use I2C to communicate, 2 pins are required to
  7. interface. There are multiple selectable I2C addresses. For backpacks
  8. with 2 Address Select pins: 0x70, 0x71, 0x72 or 0x73. For backpacks
  9. with 3 Address Select pins: 0x70 thru 0x77
  10. Adafruit invests time and resources providing this open source code,
  11. please support Adafruit and open-source hardware by purchasing
  12. products from Adafruit!
  13. Written by Limor Fried/Ladyada for Adafruit Industries.
  14. MIT license, all text above must be included in any redistribution
  15. ****************************************************/
  16. #ifndef Adafruit_LEDBackpack_h
  17. #define Adafruit_LEDBackpack_h
  18. #if (ARDUINO >= 100)
  19. #include "Arduino.h"
  20. #else
  21. #include "WProgram.h"
  22. #endif
  23. #include <Wire.h>
  24. #include "Adafruit_GFX.h"
  25. #define LED_ON 1
  26. #define LED_OFF 0
  27. #define LED_RED 1
  28. #define LED_YELLOW 2
  29. #define LED_GREEN 3
  30. #define HT16K33_BLINK_CMD 0x80
  31. #define HT16K33_BLINK_DISPLAYON 0x01
  32. #define HT16K33_BLINK_OFF 0
  33. #define HT16K33_BLINK_2HZ 1
  34. #define HT16K33_BLINK_1HZ 2
  35. #define HT16K33_BLINK_HALFHZ 3
  36. #define HT16K33_CMD_BRIGHTNESS 0xE0
  37. #define SEVENSEG_DIGITS 5
  38. // this is the raw HT16K33 controller
  39. class Adafruit_LEDBackpack {
  40. public:
  41. Adafruit_LEDBackpack(void);
  42. void begin(uint8_t _addr);
  43. void setBrightness(uint8_t b);
  44. void blinkRate(uint8_t b);
  45. void writeDisplay(void);
  46. void clear(void);
  47. uint16_t displaybuffer[8];
  48. void init(uint8_t a);
  49. protected:
  50. uint8_t i2c_addr;
  51. };
  52. class Adafruit_AlphaNum4 : public Adafruit_LEDBackpack {
  53. public:
  54. Adafruit_AlphaNum4(void);
  55. void writeDigitRaw(uint8_t n, uint16_t bitmask);
  56. void writeDigitAscii(uint8_t n, uint8_t ascii, boolean dot = false);
  57. private:
  58. };
  59. class Adafruit_24bargraph : public Adafruit_LEDBackpack {
  60. public:
  61. Adafruit_24bargraph(void);
  62. void setBar(uint8_t bar, uint8_t color);
  63. private:
  64. };
  65. class Adafruit_8x16matrix : public Adafruit_LEDBackpack, public Adafruit_GFX {
  66. public:
  67. Adafruit_8x16matrix(void);
  68. void drawPixel(int16_t x, int16_t y, uint16_t color);
  69. private:
  70. };
  71. class Adafruit_8x16minimatrix : public Adafruit_LEDBackpack, public Adafruit_GFX {
  72. public:
  73. Adafruit_8x16minimatrix(void);
  74. void drawPixel(int16_t x, int16_t y, uint16_t color);
  75. private:
  76. };
  77. class Adafruit_8x8matrix : public Adafruit_LEDBackpack, public Adafruit_GFX {
  78. public:
  79. Adafruit_8x8matrix(void);
  80. void drawPixel(int16_t x, int16_t y, uint16_t color);
  81. private:
  82. };
  83. class Adafruit_BicolorMatrix : public Adafruit_LEDBackpack, public Adafruit_GFX {
  84. public:
  85. Adafruit_BicolorMatrix(void);
  86. void drawPixel(int16_t x, int16_t y, uint16_t color);
  87. private:
  88. };
  89. #define DEC 10
  90. #define HEX 16
  91. #define OCT 8
  92. #define BIN 2
  93. #define BYTE 0
  94. class Adafruit_7segment : public Adafruit_LEDBackpack {
  95. public:
  96. Adafruit_7segment(void);
  97. size_t write(uint8_t c);
  98. void print(char, int = BYTE);
  99. void print(unsigned char, int = BYTE);
  100. void print(int, int = DEC);
  101. void print(unsigned int, int = DEC);
  102. void print(long, int = DEC);
  103. void print(unsigned long, int = DEC);
  104. void print(double, int = 2);
  105. void println(char, int = BYTE);
  106. void println(unsigned char, int = BYTE);
  107. void println(int, int = DEC);
  108. void println(unsigned int, int = DEC);
  109. void println(long, int = DEC);
  110. void println(unsigned long, int = DEC);
  111. void println(double, int = 2);
  112. void println(void);
  113. void writeDigitRaw(uint8_t x, uint8_t bitmask);
  114. void writeDigitNum(uint8_t x, uint8_t num, boolean dot = false);
  115. void drawColon(boolean state);
  116. void printNumber(long, uint8_t = 2);
  117. void printFloat(double, uint8_t = 2, uint8_t = DEC);
  118. void printError(void);
  119. void writeColon(void);
  120. private:
  121. uint8_t position;
  122. };
  123. #endif // Adafruit_LEDBackpack_h