Forked from Neal Horman: Adafruit_GFX, a derived version of the BSD licensed Adafrut GFX library for the SSD1306 controller for an OLED 128x32 or 128x64 display using SPI or I2C. Now it is adopted also for the SH1106 I2C 128x64 display as well...
Dependents: Lab06_oled_i2c Lab06_BME280_oled Lab06_oled_clock I2C_SSD1306andSH1106_nucleo_F446RE
Adafruit_SSD1306.cpp@13:8f03f908f22a, 2014-10-21 (annotated)
- Committer:
- nkhorman
- Date:
- Tue Oct 21 02:30:58 2014 +0000
- Revision:
- 13:8f03f908f22a
- Parent:
- 11:86909e6db3c8
- Child:
- 15:77feec1c0684
flesh out the config defines
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nkhorman | 0:c3dcd4c4983a | 1 | /********************************************************************* |
nkhorman | 0:c3dcd4c4983a | 2 | This is a library for our Monochrome OLEDs based on SSD1306 drivers |
nkhorman | 0:c3dcd4c4983a | 3 | |
nkhorman | 0:c3dcd4c4983a | 4 | Pick one up today in the adafruit shop! |
nkhorman | 0:c3dcd4c4983a | 5 | ------> http://www.adafruit.com/category/63_98 |
nkhorman | 0:c3dcd4c4983a | 6 | |
nkhorman | 0:c3dcd4c4983a | 7 | These displays use SPI to communicate, 4 or 5 pins are required to |
nkhorman | 0:c3dcd4c4983a | 8 | interface |
nkhorman | 0:c3dcd4c4983a | 9 | |
nkhorman | 0:c3dcd4c4983a | 10 | Adafruit invests time and resources providing this open source code, |
nkhorman | 0:c3dcd4c4983a | 11 | please support Adafruit and open-source hardware by purchasing |
nkhorman | 0:c3dcd4c4983a | 12 | products from Adafruit! |
nkhorman | 0:c3dcd4c4983a | 13 | |
nkhorman | 0:c3dcd4c4983a | 14 | Written by Limor Fried/Ladyada for Adafruit Industries. |
nkhorman | 0:c3dcd4c4983a | 15 | BSD license, check license.txt for more information |
nkhorman | 0:c3dcd4c4983a | 16 | All text above, and the splash screen below must be included in any redistribution |
nkhorman | 0:c3dcd4c4983a | 17 | *********************************************************************/ |
nkhorman | 0:c3dcd4c4983a | 18 | |
nkhorman | 0:c3dcd4c4983a | 19 | /* |
nkhorman | 9:ddb97c9850a2 | 20 | * Modified by Neal Horman 7/14/2012 for use in mbed |
nkhorman | 0:c3dcd4c4983a | 21 | */ |
nkhorman | 0:c3dcd4c4983a | 22 | |
nkhorman | 0:c3dcd4c4983a | 23 | #include "mbed.h" |
nkhorman | 0:c3dcd4c4983a | 24 | #include "Adafruit_SSD1306.h" |
nkhorman | 0:c3dcd4c4983a | 25 | |
nkhorman | 9:ddb97c9850a2 | 26 | #define SSD1306_SETCONTRAST 0x81 |
nkhorman | 9:ddb97c9850a2 | 27 | #define SSD1306_DISPLAYALLON_RESUME 0xA4 |
nkhorman | 9:ddb97c9850a2 | 28 | #define SSD1306_DISPLAYALLON 0xA5 |
nkhorman | 9:ddb97c9850a2 | 29 | #define SSD1306_NORMALDISPLAY 0xA6 |
nkhorman | 9:ddb97c9850a2 | 30 | #define SSD1306_INVERTDISPLAY 0xA7 |
nkhorman | 9:ddb97c9850a2 | 31 | #define SSD1306_DISPLAYOFF 0xAE |
nkhorman | 9:ddb97c9850a2 | 32 | #define SSD1306_DISPLAYON 0xAF |
nkhorman | 9:ddb97c9850a2 | 33 | #define SSD1306_SETDISPLAYOFFSET 0xD3 |
nkhorman | 9:ddb97c9850a2 | 34 | #define SSD1306_SETCOMPINS 0xDA |
nkhorman | 9:ddb97c9850a2 | 35 | #define SSD1306_SETVCOMDETECT 0xDB |
nkhorman | 9:ddb97c9850a2 | 36 | #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 |
nkhorman | 9:ddb97c9850a2 | 37 | #define SSD1306_SETPRECHARGE 0xD9 |
nkhorman | 9:ddb97c9850a2 | 38 | #define SSD1306_SETMULTIPLEX 0xA8 |
nkhorman | 9:ddb97c9850a2 | 39 | #define SSD1306_SETLOWCOLUMN 0x00 |
nkhorman | 9:ddb97c9850a2 | 40 | #define SSD1306_SETHIGHCOLUMN 0x10 |
nkhorman | 9:ddb97c9850a2 | 41 | #define SSD1306_SETSTARTLINE 0x40 |
nkhorman | 9:ddb97c9850a2 | 42 | #define SSD1306_MEMORYMODE 0x20 |
nkhorman | 9:ddb97c9850a2 | 43 | #define SSD1306_COMSCANINC 0xC0 |
nkhorman | 9:ddb97c9850a2 | 44 | #define SSD1306_COMSCANDEC 0xC8 |
nkhorman | 9:ddb97c9850a2 | 45 | #define SSD1306_SEGREMAP 0xA0 |
nkhorman | 9:ddb97c9850a2 | 46 | #define SSD1306_CHARGEPUMP 0x8D |
nkhorman | 0:c3dcd4c4983a | 47 | |
nkhorman | 0:c3dcd4c4983a | 48 | void Adafruit_SSD1306::begin(uint8_t vccstate) |
nkhorman | 0:c3dcd4c4983a | 49 | { |
nkhorman | 0:c3dcd4c4983a | 50 | rst = 1; |
nkhorman | 0:c3dcd4c4983a | 51 | // VDD (3.3V) goes high at start, lets just chill for a ms |
nkhorman | 0:c3dcd4c4983a | 52 | wait_ms(1); |
nkhorman | 0:c3dcd4c4983a | 53 | // bring reset low |
nkhorman | 0:c3dcd4c4983a | 54 | rst = 0; |
nkhorman | 0:c3dcd4c4983a | 55 | // wait 10ms |
nkhorman | 0:c3dcd4c4983a | 56 | wait_ms(10); |
nkhorman | 0:c3dcd4c4983a | 57 | // bring out of reset |
nkhorman | 0:c3dcd4c4983a | 58 | rst = 1; |
nkhorman | 0:c3dcd4c4983a | 59 | // turn on VCC (9V?) |
nkhorman | 9:ddb97c9850a2 | 60 | |
nkhorman | 9:ddb97c9850a2 | 61 | command(SSD1306_DISPLAYOFF); |
nkhorman | 9:ddb97c9850a2 | 62 | command(SSD1306_SETDISPLAYCLOCKDIV); |
nkhorman | 9:ddb97c9850a2 | 63 | command(0x80); // the suggested ratio 0x80 |
nkhorman | 9:ddb97c9850a2 | 64 | |
nkhorman | 9:ddb97c9850a2 | 65 | command(SSD1306_SETMULTIPLEX); |
nkhorman | 9:ddb97c9850a2 | 66 | command(_rawHeight-1); |
nkhorman | 9:ddb97c9850a2 | 67 | |
nkhorman | 9:ddb97c9850a2 | 68 | command(SSD1306_SETDISPLAYOFFSET); |
nkhorman | 9:ddb97c9850a2 | 69 | command(0x0); // no offset |
nkhorman | 9:ddb97c9850a2 | 70 | |
nkhorman | 9:ddb97c9850a2 | 71 | command(SSD1306_SETSTARTLINE | 0x0); // line #0 |
nkhorman | 9:ddb97c9850a2 | 72 | |
nkhorman | 9:ddb97c9850a2 | 73 | command(SSD1306_CHARGEPUMP); |
nkhorman | 9:ddb97c9850a2 | 74 | command((vccstate == SSD1306_EXTERNALVCC) ? 0x10 : 0x14); |
nkhorman | 9:ddb97c9850a2 | 75 | |
nkhorman | 9:ddb97c9850a2 | 76 | command(SSD1306_MEMORYMODE); |
nkhorman | 9:ddb97c9850a2 | 77 | command(0x00); // 0x0 act like ks0108 |
chrta | 4:853097cfa773 | 78 | |
nkhorman | 9:ddb97c9850a2 | 79 | command(SSD1306_SEGREMAP | 0x1); |
nkhorman | 9:ddb97c9850a2 | 80 | |
nkhorman | 9:ddb97c9850a2 | 81 | command(SSD1306_COMSCANDEC); |
nkhorman | 9:ddb97c9850a2 | 82 | |
nkhorman | 9:ddb97c9850a2 | 83 | command(SSD1306_SETCOMPINS); |
nkhorman | 9:ddb97c9850a2 | 84 | command(_rawHeight == 32 ? 0x02 : 0x12); // TODO - calculate based on _rawHieght ? |
nkhorman | 9:ddb97c9850a2 | 85 | |
nkhorman | 9:ddb97c9850a2 | 86 | command(SSD1306_SETCONTRAST); |
nkhorman | 9:ddb97c9850a2 | 87 | command(_rawHeight == 32 ? 0x8F : ((vccstate == SSD1306_EXTERNALVCC) ? 0x9F : 0xCF) ); |
nkhorman | 9:ddb97c9850a2 | 88 | |
nkhorman | 9:ddb97c9850a2 | 89 | command(SSD1306_SETPRECHARGE); |
nkhorman | 9:ddb97c9850a2 | 90 | command((vccstate == SSD1306_EXTERNALVCC) ? 0x22 : 0xF1); |
nkhorman | 9:ddb97c9850a2 | 91 | |
nkhorman | 9:ddb97c9850a2 | 92 | command(SSD1306_SETVCOMDETECT); |
nkhorman | 9:ddb97c9850a2 | 93 | command(0x40); |
nkhorman | 9:ddb97c9850a2 | 94 | |
nkhorman | 9:ddb97c9850a2 | 95 | command(SSD1306_DISPLAYALLON_RESUME); |
nkhorman | 9:ddb97c9850a2 | 96 | |
nkhorman | 9:ddb97c9850a2 | 97 | command(SSD1306_NORMALDISPLAY); |
nkhorman | 0:c3dcd4c4983a | 98 | |
nkhorman | 9:ddb97c9850a2 | 99 | command(SSD1306_DISPLAYON); |
nkhorman | 0:c3dcd4c4983a | 100 | } |
nkhorman | 0:c3dcd4c4983a | 101 | |
nkhorman | 9:ddb97c9850a2 | 102 | // Set a single pixel |
nkhorman | 0:c3dcd4c4983a | 103 | void Adafruit_SSD1306::drawPixel(int16_t x, int16_t y, uint16_t color) |
nkhorman | 0:c3dcd4c4983a | 104 | { |
nkhorman | 0:c3dcd4c4983a | 105 | if ((x < 0) || (x >= width()) || (y < 0) || (y >= height())) |
nkhorman | 0:c3dcd4c4983a | 106 | return; |
nkhorman | 0:c3dcd4c4983a | 107 | |
nkhorman | 0:c3dcd4c4983a | 108 | // check rotation, move pixel around if necessary |
nkhorman | 0:c3dcd4c4983a | 109 | switch (getRotation()) |
nkhorman | 0:c3dcd4c4983a | 110 | { |
nkhorman | 0:c3dcd4c4983a | 111 | case 1: |
nkhorman | 0:c3dcd4c4983a | 112 | swap(x, y); |
nkhorman | 0:c3dcd4c4983a | 113 | x = _rawWidth - x - 1; |
nkhorman | 0:c3dcd4c4983a | 114 | break; |
nkhorman | 0:c3dcd4c4983a | 115 | case 2: |
nkhorman | 0:c3dcd4c4983a | 116 | x = _rawWidth - x - 1; |
nkhorman | 0:c3dcd4c4983a | 117 | y = _rawHeight - y - 1; |
nkhorman | 0:c3dcd4c4983a | 118 | break; |
nkhorman | 0:c3dcd4c4983a | 119 | case 3: |
nkhorman | 0:c3dcd4c4983a | 120 | swap(x, y); |
nkhorman | 0:c3dcd4c4983a | 121 | y = _rawHeight - y - 1; |
nkhorman | 0:c3dcd4c4983a | 122 | break; |
nkhorman | 0:c3dcd4c4983a | 123 | } |
nkhorman | 0:c3dcd4c4983a | 124 | |
nkhorman | 0:c3dcd4c4983a | 125 | // x is which column |
nkhorman | 0:c3dcd4c4983a | 126 | if (color == WHITE) |
nkhorman | 9:ddb97c9850a2 | 127 | buffer[x+ (y/8)*_rawWidth] |= _BV((y%8)); |
nkhorman | 9:ddb97c9850a2 | 128 | else // else black |
nkhorman | 9:ddb97c9850a2 | 129 | buffer[x+ (y/8)*_rawWidth] &= ~_BV((y%8)); |
nkhorman | 0:c3dcd4c4983a | 130 | } |
nkhorman | 0:c3dcd4c4983a | 131 | |
nkhorman | 0:c3dcd4c4983a | 132 | void Adafruit_SSD1306::invertDisplay(bool i) |
nkhorman | 0:c3dcd4c4983a | 133 | { |
nkhorman | 9:ddb97c9850a2 | 134 | command(i ? SSD1306_INVERTDISPLAY : SSD1306_NORMALDISPLAY); |
nkhorman | 0:c3dcd4c4983a | 135 | } |
nkhorman | 0:c3dcd4c4983a | 136 | |
nkhorman | 9:ddb97c9850a2 | 137 | // Send the display buffer out to the display |
nkhorman | 9:ddb97c9850a2 | 138 | void Adafruit_SSD1306::display(void) |
nkhorman | 0:c3dcd4c4983a | 139 | { |
nkhorman | 9:ddb97c9850a2 | 140 | command(SSD1306_SETLOWCOLUMN | 0x0); // low col = 0 |
nkhorman | 9:ddb97c9850a2 | 141 | command(SSD1306_SETHIGHCOLUMN | 0x0); // hi col = 0 |
nkhorman | 9:ddb97c9850a2 | 142 | command(SSD1306_SETSTARTLINE | 0x0); // line #0 |
nkhorman | 9:ddb97c9850a2 | 143 | sendDisplayBuffer(); |
nkhorman | 0:c3dcd4c4983a | 144 | } |
nkhorman | 0:c3dcd4c4983a | 145 | |
nkhorman | 9:ddb97c9850a2 | 146 | // Clear the display buffer. Requires a display() call at some point afterwards |
nkhorman | 9:ddb97c9850a2 | 147 | void Adafruit_SSD1306::clearDisplay(void) |
nkhorman | 0:c3dcd4c4983a | 148 | { |
nkhorman | 9:ddb97c9850a2 | 149 | std::fill(buffer.begin(),buffer.end(),0); |
nkhorman | 0:c3dcd4c4983a | 150 | } |
nkhorman | 0:c3dcd4c4983a | 151 | |
nkhorman | 9:ddb97c9850a2 | 152 | void Adafruit_SSD1306::splash(void) |
nkhorman | 0:c3dcd4c4983a | 153 | { |
nkhorman | 9:ddb97c9850a2 | 154 | #ifndef NO_SPLASH_ADAFRUIT |
nkhorman | 9:ddb97c9850a2 | 155 | uint8_t adaFruitLogo[64 * 128 / 8] = |
nkhorman | 9:ddb97c9850a2 | 156 | { |
nkhorman | 9:ddb97c9850a2 | 157 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 158 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 159 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 160 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, |
nkhorman | 9:ddb97c9850a2 | 161 | 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 162 | 0x00, 0x80, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 165 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 166 | 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 167 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, |
nkhorman | 9:ddb97c9850a2 | 168 | 0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xFF, |
nkhorman | 9:ddb97c9850a2 | 169 | 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 170 | 0x80, 0xFF, 0xFF, 0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, |
nkhorman | 9:ddb97c9850a2 | 171 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x8C, 0x8E, 0x84, 0x00, 0x00, 0x80, 0xF8, |
nkhorman | 9:ddb97c9850a2 | 172 | 0xF8, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 173 | 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, |
nkhorman | 9:ddb97c9850a2 | 174 | 0x00, 0xE0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 175 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xC7, 0x01, 0x01, |
nkhorman | 9:ddb97c9850a2 | 176 | 0x01, 0x01, 0x83, 0xFF, 0xFF, 0x00, 0x00, 0x7C, 0xFE, 0xC7, 0x01, 0x01, 0x01, 0x01, 0x83, 0xFF, |
nkhorman | 9:ddb97c9850a2 | 177 | 0xFF, 0xFF, 0x00, 0x38, 0xFE, 0xC7, 0x83, 0x01, 0x01, 0x01, 0x83, 0xC7, 0xFF, 0xFF, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 178 | 0x01, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0xFF, 0xFF, 0x07, 0x01, 0x01, 0x01, 0x00, 0x00, 0x7F, 0xFF, |
nkhorman | 9:ddb97c9850a2 | 179 | 0x80, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0xFF, |
nkhorman | 9:ddb97c9850a2 | 180 | 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 181 | 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xC7, 0xC7, 0x8F, |
nkhorman | 9:ddb97c9850a2 | 182 | 0x8F, 0x9F, 0xBF, 0xFF, 0xFF, 0xC3, 0xC0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xFC, |
nkhorman | 9:ddb97c9850a2 | 183 | 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x00, 0x01, 0x03, 0x03, 0x03, |
nkhorman | 9:ddb97c9850a2 | 184 | 0x03, 0x03, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, |
nkhorman | 9:ddb97c9850a2 | 185 | 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 186 | 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
nkhorman | 9:ddb97c9850a2 | 187 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, |
nkhorman | 9:ddb97c9850a2 | 188 | 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 189 | // 128x32^^^ 128x64vvv |
nkhorman | 9:ddb97c9850a2 | 190 | 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, |
nkhorman | 9:ddb97c9850a2 | 191 | 0x87, 0xC7, 0xF7, 0xFF, 0xFF, 0x1F, 0x1F, 0x3D, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0x7C, 0x7D, 0xFF, |
nkhorman | 9:ddb97c9850a2 | 192 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x07, 0x00, 0x30, 0x30, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 194 | 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xC0, 0x00, |
nkhorman | 9:ddb97c9850a2 | 196 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 197 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 198 | 0x00, 0xC0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x3F, 0x1F, |
nkhorman | 9:ddb97c9850a2 | 199 | 0x0F, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, |
nkhorman | 9:ddb97c9850a2 | 200 | 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 201 | 0x00, 0xFC, 0xFE, 0xFC, 0x0C, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0xF0, 0xF8, 0x1C, 0x0E, |
nkhorman | 9:ddb97c9850a2 | 202 | 0x06, 0x06, 0x06, 0x0C, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFC, |
nkhorman | 9:ddb97c9850a2 | 203 | 0xFE, 0xFC, 0x00, 0x18, 0x3C, 0x7E, 0x66, 0xE6, 0xCE, 0x84, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0x06, |
nkhorman | 9:ddb97c9850a2 | 204 | 0x06, 0xFC, 0xFE, 0xFC, 0x0C, 0x06, 0x06, 0x06, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0xC0, 0xF8, |
nkhorman | 9:ddb97c9850a2 | 205 | 0xFC, 0x4E, 0x46, 0x46, 0x46, 0x4E, 0x7C, 0x78, 0x40, 0x18, 0x3C, 0x76, 0xE6, 0xCE, 0xCC, 0x80, |
nkhorman | 9:ddb97c9850a2 | 206 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 207 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x0F, 0x03, |
nkhorman | 9:ddb97c9850a2 | 208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 209 | 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x03, 0x07, 0x0E, 0x0C, |
nkhorman | 9:ddb97c9850a2 | 210 | 0x18, 0x18, 0x0C, 0x06, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x01, 0x0F, 0x0E, 0x0C, 0x18, 0x0C, 0x0F, |
nkhorman | 9:ddb97c9850a2 | 211 | 0x07, 0x01, 0x00, 0x04, 0x0E, 0x0C, 0x18, 0x0C, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, |
nkhorman | 9:ddb97c9850a2 | 212 | 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x07, |
nkhorman | 9:ddb97c9850a2 | 213 | 0x07, 0x0C, 0x0C, 0x18, 0x1C, 0x0C, 0x06, 0x06, 0x00, 0x04, 0x0E, 0x0C, 0x18, 0x0C, 0x0F, 0x07, |
nkhorman | 9:ddb97c9850a2 | 214 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 215 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 216 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 217 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 218 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 219 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 220 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nkhorman | 9:ddb97c9850a2 | 221 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
nkhorman | 9:ddb97c9850a2 | 222 | }; |
nkhorman | 9:ddb97c9850a2 | 223 | |
nkhorman | 9:ddb97c9850a2 | 224 | std::copy( |
nkhorman | 9:ddb97c9850a2 | 225 | &adaFruitLogo[0] |
nkhorman | 9:ddb97c9850a2 | 226 | , &adaFruitLogo[0] + (_rawHeight == 32 ? sizeof(adaFruitLogo)/2 : sizeof(adaFruitLogo)) |
nkhorman | 9:ddb97c9850a2 | 227 | , buffer.begin() |
nkhorman | 9:ddb97c9850a2 | 228 | ); |
Neal Horman |
6:1be3e3b46eb7 | 229 | #endif |
nkhorman | 0:c3dcd4c4983a | 230 | } |