Demo of GP9002 VFD in grayscale mode
Dependencies: Adafruit-GFX-Library-master Adafruit-GP9002-Grayscale-VFD-Library mbed
Fork of GP9002adafruit by
GraphicVFDtest.cpp@8:3de7c8c0207a, 2016-05-08 (annotated)
- Committer:
- oliverb
- Date:
- Sun May 08 15:45:35 2016 +0000
- Revision:
- 8:3de7c8c0207a
- Parent:
- 6:d576976977a5
Made final adafruit bitmap work
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
oliverb | 2:efef4231b922 | 1 | #include <SPI.h> |
oliverb | 2:efef4231b922 | 2 | #include "Adafruit_GFX.h" |
oliverb | 2:efef4231b922 | 3 | #include "Adafruit_GP9002.h" |
oliverb | 2:efef4231b922 | 4 | |
oliverb | 2:efef4231b922 | 5 | #define _MOSI p5 // VFD PIN#12 |
oliverb | 2:efef4231b922 | 6 | #define _MISO p6 // VFD PIN#8 |
oliverb | 2:efef4231b922 | 7 | #define _CLK p7 // VFD PIN#11 |
oliverb | 2:efef4231b922 | 8 | #define _CS p8 // VFD PIN#13 |
oliverb | 2:efef4231b922 | 9 | #define _DC p22 // VFD PIN#14 |
oliverb | 2:efef4231b922 | 10 | // connect VFD #15, #16, #17 to 5V |
oliverb | 2:efef4231b922 | 11 | // connect VFD #9 #18 #19 #20 to ground |
oliverb | 2:efef4231b922 | 12 | SPI SPIport(_MOSI,_MISO,_CLK); |
oliverb | 2:efef4231b922 | 13 | Adafruit_GP9002 display = Adafruit_GP9002(SPIport, _CS, _DC); |
oliverb | 2:efef4231b922 | 14 | |
oliverb | 2:efef4231b922 | 15 | // if using hardware SPI on an UNO or other classic Arduino, the pinouts are the same as |
oliverb | 2:efef4231b922 | 16 | // above. |
oliverb | 2:efef4231b922 | 17 | //Adafruit_GP9002 display = Adafruit_GP9002(_CS, _DC); |
oliverb | 2:efef4231b922 | 18 | |
oliverb | 2:efef4231b922 | 19 | #ifndef min |
oliverb | 2:efef4231b922 | 20 | #define min(a,b) ((a)<(b)?(a):(b)) |
oliverb | 2:efef4231b922 | 21 | #endif |
oliverb | 2:efef4231b922 | 22 | #ifndef max |
oliverb | 2:efef4231b922 | 23 | #define max(a,b) ((a)>(b)?(a):(b)) |
oliverb | 2:efef4231b922 | 24 | #endif |
oliverb | 2:efef4231b922 | 25 | |
oliverb | 2:efef4231b922 | 26 | |
oliverb | 2:efef4231b922 | 27 | #define NUMFLAKES 10 |
oliverb | 2:efef4231b922 | 28 | #define XPOS 0 |
oliverb | 2:efef4231b922 | 29 | #define YPOS 1 |
oliverb | 2:efef4231b922 | 30 | #define DELTAY 2 |
oliverb | 2:efef4231b922 | 31 | |
oliverb | 2:efef4231b922 | 32 | |
oliverb | 2:efef4231b922 | 33 | #define LOGO16_GLCD_HEIGHT 16 |
oliverb | 2:efef4231b922 | 34 | #define LOGO16_GLCD_WIDTH 16 |
oliverb | 2:efef4231b922 | 35 | const unsigned char logo16_glcd_bmp[] = |
oliverb | 2:efef4231b922 | 36 | { 0b00000000, 0b11000000, |
oliverb | 2:efef4231b922 | 37 | 0b00000001, 0b11000000, |
oliverb | 2:efef4231b922 | 38 | 0b00000001, 0b11000000, |
oliverb | 2:efef4231b922 | 39 | 0b00000011, 0b11100000, |
oliverb | 2:efef4231b922 | 40 | 0b11110011, 0b11100000, |
oliverb | 2:efef4231b922 | 41 | 0b11111110, 0b11111000, |
oliverb | 2:efef4231b922 | 42 | 0b01111110, 0b11111111, |
oliverb | 2:efef4231b922 | 43 | 0b00110011, 0b10011111, |
oliverb | 2:efef4231b922 | 44 | 0b00011111, 0b11111100, |
oliverb | 2:efef4231b922 | 45 | 0b00001101, 0b01110000, |
oliverb | 2:efef4231b922 | 46 | 0b00011011, 0b10100000, |
oliverb | 2:efef4231b922 | 47 | 0b00111111, 0b11100000, |
oliverb | 2:efef4231b922 | 48 | 0b00111111, 0b11110000, |
oliverb | 2:efef4231b922 | 49 | 0b01111100, 0b11110000, |
oliverb | 2:efef4231b922 | 50 | 0b01110000, 0b01110000, |
oliverb | 2:efef4231b922 | 51 | 0b00000000, 0b00110000 }; |
oliverb | 2:efef4231b922 | 52 | |
oliverb | 2:efef4231b922 | 53 | #include "adabmp.c" |
oliverb | 2:efef4231b922 | 54 | |
oliverb | 3:db1141757323 | 55 | extern const unsigned char BitReverseTable256[]; |
oliverb | 2:efef4231b922 | 56 | |
oliverb | 2:efef4231b922 | 57 | |
oliverb | 2:efef4231b922 | 58 | void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) { |
oliverb | 2:efef4231b922 | 59 | uint8_t icons[NUMFLAKES][3]; |
oliverb | 2:efef4231b922 | 60 | srand(666); // whatever seed |
oliverb | 2:efef4231b922 | 61 | |
oliverb | 2:efef4231b922 | 62 | // initialize |
oliverb | 2:efef4231b922 | 63 | for (uint8_t f=0; f< NUMFLAKES; f++) { |
oliverb | 2:efef4231b922 | 64 | icons[f][XPOS] = rand() % display.width(); |
oliverb | 2:efef4231b922 | 65 | icons[f][YPOS] = 0; |
oliverb | 2:efef4231b922 | 66 | icons[f][DELTAY] = rand() % 5 + 1; |
oliverb | 2:efef4231b922 | 67 | |
oliverb | 2:efef4231b922 | 68 | /* Serial.print("x: "); |
oliverb | 2:efef4231b922 | 69 | Serial.print(icons[f][XPOS], DEC); |
oliverb | 2:efef4231b922 | 70 | Serial.print(" y: "); |
oliverb | 2:efef4231b922 | 71 | Serial.print(icons[f][YPOS], DEC); |
oliverb | 2:efef4231b922 | 72 | Serial.print(" dy: "); |
oliverb | 2:efef4231b922 | 73 | Serial.println(icons[f][DELTAY], DEC); |
oliverb | 2:efef4231b922 | 74 | */ } |
oliverb | 2:efef4231b922 | 75 | |
oliverb | 2:efef4231b922 | 76 | while (1) { |
oliverb | 2:efef4231b922 | 77 | // draw each icon |
oliverb | 2:efef4231b922 | 78 | for (uint8_t f=0; f< NUMFLAKES; f++) { |
oliverb | 2:efef4231b922 | 79 | display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, WHITE); |
oliverb | 2:efef4231b922 | 80 | } |
oliverb | 2:efef4231b922 | 81 | wait_ms(200); |
oliverb | 2:efef4231b922 | 82 | |
oliverb | 2:efef4231b922 | 83 | // then erase it + move it |
oliverb | 2:efef4231b922 | 84 | for (uint8_t f=0; f< NUMFLAKES; f++) { |
oliverb | 2:efef4231b922 | 85 | display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, BLACK); |
oliverb | 2:efef4231b922 | 86 | // move it |
oliverb | 2:efef4231b922 | 87 | icons[f][YPOS] += icons[f][DELTAY]; |
oliverb | 2:efef4231b922 | 88 | // if its gone, reinit |
oliverb | 2:efef4231b922 | 89 | if (icons[f][YPOS] > display.height()) { |
oliverb | 2:efef4231b922 | 90 | icons[f][XPOS] = rand() % display.width(); |
oliverb | 2:efef4231b922 | 91 | icons[f][YPOS] = 0; |
oliverb | 2:efef4231b922 | 92 | icons[f][DELTAY] = rand() % 5 + 1; |
oliverb | 2:efef4231b922 | 93 | } |
oliverb | 2:efef4231b922 | 94 | } |
oliverb | 2:efef4231b922 | 95 | } |
oliverb | 2:efef4231b922 | 96 | } |
oliverb | 2:efef4231b922 | 97 | |
oliverb | 2:efef4231b922 | 98 | |
oliverb | 2:efef4231b922 | 99 | void testdrawchar(void) { |
oliverb | 2:efef4231b922 | 100 | display.setTextSize(1); |
oliverb | 2:efef4231b922 | 101 | display.setTextColor(WHITE); |
oliverb | 2:efef4231b922 | 102 | display.setCursor(0,0); |
oliverb | 2:efef4231b922 | 103 | |
oliverb | 2:efef4231b922 | 104 | for (uint8_t i=0; i < 168; i++) { |
oliverb | 2:efef4231b922 | 105 | if (i == '\n') continue; |
oliverb | 2:efef4231b922 | 106 | display.putc(i); |
oliverb | 2:efef4231b922 | 107 | //if ((i > 0) && (i % 14 == 0)) |
oliverb | 2:efef4231b922 | 108 | //display.println(); |
oliverb | 2:efef4231b922 | 109 | } |
oliverb | 2:efef4231b922 | 110 | } |
oliverb | 2:efef4231b922 | 111 | |
oliverb | 2:efef4231b922 | 112 | void testdrawcircle(void) { |
oliverb | 2:efef4231b922 | 113 | for (uint8_t i=0; i<display.height(); i+=2) { |
oliverb | 2:efef4231b922 | 114 | display.drawCircle(display.width()/2, display.height()/2, i, WHITE); |
oliverb | 2:efef4231b922 | 115 | } |
oliverb | 2:efef4231b922 | 116 | } |
oliverb | 2:efef4231b922 | 117 | |
oliverb | 2:efef4231b922 | 118 | void testfillrect(void) { |
oliverb | 2:efef4231b922 | 119 | uint8_t color = 1; |
oliverb | 2:efef4231b922 | 120 | for (uint8_t i=0; i<display.height()/2; i+=3) { |
oliverb | 2:efef4231b922 | 121 | // alternate colors |
oliverb | 6:d576976977a5 | 122 | display.fillRect(i, i, display.width()-i*2, display.height()-i*2, color%4); |
oliverb | 2:efef4231b922 | 123 | color++; |
oliverb | 2:efef4231b922 | 124 | } |
oliverb | 2:efef4231b922 | 125 | } |
oliverb | 2:efef4231b922 | 126 | |
oliverb | 2:efef4231b922 | 127 | void testdrawtriangle(void) { |
oliverb | 2:efef4231b922 | 128 | for (int16_t i=0; i<min(display.width(),display.height())/2; i+=5) { |
oliverb | 2:efef4231b922 | 129 | display.drawTriangle(display.width()/2, display.height()/2-i, |
oliverb | 2:efef4231b922 | 130 | display.width()/2-i, display.height()/2+i, |
oliverb | 2:efef4231b922 | 131 | display.width()/2+i, display.height()/2+i, WHITE); |
oliverb | 2:efef4231b922 | 132 | } |
oliverb | 2:efef4231b922 | 133 | } |
oliverb | 2:efef4231b922 | 134 | |
oliverb | 2:efef4231b922 | 135 | void testfilltriangle(void) { |
oliverb | 6:d576976977a5 | 136 | uint8_t color = 3; |
oliverb | 2:efef4231b922 | 137 | for (int16_t i=min(display.width(),display.height())/2; i>0; i-=5) { |
oliverb | 2:efef4231b922 | 138 | display.fillTriangle(display.width()/2, display.height()/2-i, |
oliverb | 2:efef4231b922 | 139 | display.width()/2-i, display.height()/2+i, |
oliverb | 2:efef4231b922 | 140 | display.width()/2+i, display.height()/2+i, color); |
oliverb | 6:d576976977a5 | 141 | if (color) color--; |
oliverb | 6:d576976977a5 | 142 | else color = 3; |
oliverb | 2:efef4231b922 | 143 | } |
oliverb | 2:efef4231b922 | 144 | } |
oliverb | 0:414a9e6fed37 | 145 | |
oliverb | 2:efef4231b922 | 146 | void testdrawroundrect(void) { |
oliverb | 3:db1141757323 | 147 | for (uint8_t i=2; i<display.height()/4; i+=2) { |
oliverb | 6:d576976977a5 | 148 | display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, 3); |
oliverb | 2:efef4231b922 | 149 | } |
oliverb | 2:efef4231b922 | 150 | } |
oliverb | 2:efef4231b922 | 151 | |
oliverb | 2:efef4231b922 | 152 | void testfillroundrect(void) { |
oliverb | 2:efef4231b922 | 153 | uint8_t color = WHITE; |
oliverb | 2:efef4231b922 | 154 | for (uint8_t i=0; i<display.height()/4-2; i+=2) { |
oliverb | 2:efef4231b922 | 155 | display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, color); |
oliverb | 6:d576976977a5 | 156 | if (color) color--; |
oliverb | 6:d576976977a5 | 157 | else color = 3; |
oliverb | 2:efef4231b922 | 158 | } |
oliverb | 2:efef4231b922 | 159 | } |
oliverb | 2:efef4231b922 | 160 | |
oliverb | 2:efef4231b922 | 161 | void testdrawrect(void) { |
oliverb | 2:efef4231b922 | 162 | for (uint8_t i=0; i<display.height()/2; i+=2) { |
oliverb | 2:efef4231b922 | 163 | display.drawRect(i, i, display.width()-2*i, display.height()-2*i, WHITE); |
oliverb | 2:efef4231b922 | 164 | } |
oliverb | 2:efef4231b922 | 165 | } |
oliverb | 2:efef4231b922 | 166 | |
oliverb | 2:efef4231b922 | 167 | void testdrawline() { |
oliverb | 2:efef4231b922 | 168 | for (uint8_t i=0; i<display.width(); i+=4) { |
oliverb | 2:efef4231b922 | 169 | display.drawLine(0, 0, i, display.height()-1, WHITE); |
oliverb | 2:efef4231b922 | 170 | } |
oliverb | 2:efef4231b922 | 171 | for (uint8_t i=0; i<display.height(); i+=4) { |
oliverb | 2:efef4231b922 | 172 | display.drawLine(0, 0, display.width()-1, i, WHITE); |
oliverb | 2:efef4231b922 | 173 | } |
oliverb | 2:efef4231b922 | 174 | wait_ms(250); |
oliverb | 2:efef4231b922 | 175 | |
oliverb | 2:efef4231b922 | 176 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 177 | for (uint8_t i=0; i<display.width(); i+=4) { |
oliverb | 2:efef4231b922 | 178 | display.drawLine(0, display.height()-1, i, 0, WHITE); |
oliverb | 2:efef4231b922 | 179 | } |
oliverb | 2:efef4231b922 | 180 | for (int8_t i=display.height()-1; i>=0; i-=4) { |
oliverb | 2:efef4231b922 | 181 | display.drawLine(0, display.height()-1, display.width()-1, i, WHITE); |
oliverb | 2:efef4231b922 | 182 | } |
oliverb | 2:efef4231b922 | 183 | wait_ms(250); |
oliverb | 2:efef4231b922 | 184 | |
oliverb | 2:efef4231b922 | 185 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 186 | for (int8_t i=display.width()-1; i>=0; i-=4) { |
oliverb | 2:efef4231b922 | 187 | display.drawLine(display.width()-1, display.height()-1, i, 0, WHITE); |
oliverb | 2:efef4231b922 | 188 | } |
oliverb | 2:efef4231b922 | 189 | for (int8_t i=display.height()-1; i>=0; i-=4) { |
oliverb | 2:efef4231b922 | 190 | display.drawLine(display.width()-1, display.height()-1, 0, i, WHITE); |
oliverb | 2:efef4231b922 | 191 | } |
oliverb | 2:efef4231b922 | 192 | wait_ms(250); |
oliverb | 2:efef4231b922 | 193 | |
oliverb | 2:efef4231b922 | 194 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 195 | for (uint8_t i=0; i<display.height(); i+=4) { |
oliverb | 2:efef4231b922 | 196 | display.drawLine(display.width()-1, 0, 0, i, WHITE); |
oliverb | 2:efef4231b922 | 197 | } |
oliverb | 2:efef4231b922 | 198 | for (uint8_t i=0; i<display.width(); i+=4) { |
oliverb | 2:efef4231b922 | 199 | display.drawLine(display.width()-1, 0, i, display.height()-1, WHITE); |
oliverb | 2:efef4231b922 | 200 | } |
oliverb | 2:efef4231b922 | 201 | wait_ms(250); |
oliverb | 2:efef4231b922 | 202 | } |
oliverb | 2:efef4231b922 | 203 | |
oliverb | 2:efef4231b922 | 204 | int main() { |
oliverb | 2:efef4231b922 | 205 | // Serial.begin(9600); |
oliverb | 2:efef4231b922 | 206 | |
oliverb | 2:efef4231b922 | 207 | display.begin(); |
oliverb | 2:efef4231b922 | 208 | // init done |
oliverb | 2:efef4231b922 | 209 | |
oliverb | 3:db1141757323 | 210 | // wait_ms(2000); |
oliverb | 6:d576976977a5 | 211 | // display.clearDisplay(); // clears the screen and buffer redundant |
oliverb | 2:efef4231b922 | 212 | /* |
oliverb | 3:db1141757323 | 213 | display.drawPixel(10, 10, WHITE); |
oliverb | 2:efef4231b922 | 214 | display.drawPixel(20, 20, WHITE); |
oliverb | 3:db1141757323 | 215 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 216 | |
oliverb | 2:efef4231b922 | 217 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 218 | |
oliverb | 2:efef4231b922 | 219 | // draw many lines |
oliverb | 2:efef4231b922 | 220 | testdrawline(); |
oliverb | 2:efef4231b922 | 221 | delay(2000); |
oliverb | 2:efef4231b922 | 222 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 223 | // draw rectangles |
oliverb | 2:efef4231b922 | 224 | testdrawrect(); |
oliverb | 2:efef4231b922 | 225 | delay(2000); |
oliverb | 2:efef4231b922 | 226 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 227 | |
oliverb | 2:efef4231b922 | 228 | // draw multiple rectangles |
oliverb | 2:efef4231b922 | 229 | testfillrect(); |
oliverb | 2:efef4231b922 | 230 | delay(2000); |
oliverb | 2:efef4231b922 | 231 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 232 | |
oliverb | 2:efef4231b922 | 233 | // draw mulitple circles |
oliverb | 2:efef4231b922 | 234 | testdrawcircle(); |
oliverb | 2:efef4231b922 | 235 | delay(2000); |
oliverb | 2:efef4231b922 | 236 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 237 | */ |
oliverb | 2:efef4231b922 | 238 | |
oliverb | 2:efef4231b922 | 239 | // draw a circle, 10 pixel radius |
oliverb | 2:efef4231b922 | 240 | display.fillCircle(20, 20, 20, WHITE); |
oliverb | 2:efef4231b922 | 241 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 242 | |
oliverb | 2:efef4231b922 | 243 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 244 | testdrawroundrect(); |
oliverb | 2:efef4231b922 | 245 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 246 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 247 | |
oliverb | 2:efef4231b922 | 248 | testfillroundrect(); |
oliverb | 2:efef4231b922 | 249 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 250 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 251 | |
oliverb | 2:efef4231b922 | 252 | testdrawtriangle(); |
oliverb | 2:efef4231b922 | 253 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 254 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 255 | |
oliverb | 2:efef4231b922 | 256 | testfilltriangle(); |
oliverb | 2:efef4231b922 | 257 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 258 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 259 | |
oliverb | 2:efef4231b922 | 260 | // draw the first ~12 characters in the font |
oliverb | 2:efef4231b922 | 261 | testdrawchar(); |
oliverb | 2:efef4231b922 | 262 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 263 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 264 | |
oliverb | 2:efef4231b922 | 265 | // text display tests |
oliverb | 2:efef4231b922 | 266 | display.setTextSize(1); |
oliverb | 2:efef4231b922 | 267 | display.setTextColor(WHITE); |
oliverb | 2:efef4231b922 | 268 | display.setCursor(0,0); |
oliverb | 3:db1141757323 | 269 | display.printf("Hello, world!\n"); |
oliverb | 2:efef4231b922 | 270 | display.setTextColor(BLACK, WHITE); // 'inverted' text |
oliverb | 2:efef4231b922 | 271 | display.printf("%f",3.141592); |
oliverb | 2:efef4231b922 | 272 | display.setTextSize(2); |
oliverb | 2:efef4231b922 | 273 | display.setTextColor(WHITE); |
oliverb | 2:efef4231b922 | 274 | display.printf("0x%8x",0xDEADBEEF); |
oliverb | 2:efef4231b922 | 275 | wait_ms(2000); |
oliverb | 2:efef4231b922 | 276 | |
oliverb | 2:efef4231b922 | 277 | // miniature bitmap display |
oliverb | 2:efef4231b922 | 278 | display.clearDisplay(); |
oliverb | 2:efef4231b922 | 279 | display.drawBitmap(30, 16, logo16_glcd_bmp, 16, 16, 1); |
oliverb | 2:efef4231b922 | 280 | |
oliverb | 2:efef4231b922 | 281 | wait_ms(2000); |
oliverb | 8:3de7c8c0207a | 282 | display.clearDisplay(); |
oliverb | 8:3de7c8c0207a | 283 | /* display.command(GP9002_ADDRINCR); |
oliverb | 3:db1141757323 | 284 | display.command(GP9002_ADDRL); |
oliverb | 3:db1141757323 | 285 | display.dataWrite(0x00); |
oliverb | 3:db1141757323 | 286 | display.command(GP9002_ADDRH); |
oliverb | 3:db1141757323 | 287 | display.dataWrite(0x00); |
oliverb | 3:db1141757323 | 288 | display.command(GP9002_DATAWRITE); |
oliverb | 8:3de7c8c0207a | 289 | */ |
oliverb | 8:3de7c8c0207a | 290 | int x=0; |
oliverb | 8:3de7c8c0207a | 291 | int y; |
oliverb | 8:3de7c8c0207a | 292 | int byte; |
oliverb | 8:3de7c8c0207a | 293 | for(uint32_t count2=0; count2<128; count2++) { |
oliverb | 8:3de7c8c0207a | 294 | y=0; |
oliverb | 8:3de7c8c0207a | 295 | for(uint32_t count=count2; count<0x400; count+=128) { |
oliverb | 8:3de7c8c0207a | 296 | byte=adabmp[count]; |
oliverb | 8:3de7c8c0207a | 297 | for(int count3=0; count3<8;count3++) { |
oliverb | 8:3de7c8c0207a | 298 | if (byte & 0x01) display.drawPixel(x,y,WHITE); |
oliverb | 8:3de7c8c0207a | 299 | byte >>=1; |
oliverb | 8:3de7c8c0207a | 300 | y++; |
oliverb | 8:3de7c8c0207a | 301 | } |
oliverb | 8:3de7c8c0207a | 302 | } |
oliverb | 8:3de7c8c0207a | 303 | x++; |
oliverb | 8:3de7c8c0207a | 304 | } |
oliverb | 8:3de7c8c0207a | 305 | |
oliverb | 2:efef4231b922 | 306 | } |
oliverb | 2:efef4231b922 | 307 | |
oliverb | 2:efef4231b922 | 308 | |
oliverb | 2:efef4231b922 | 309 | void loop() { |
oliverb | 2:efef4231b922 | 310 | |
oliverb | 2:efef4231b922 | 311 | } |