Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:b0151666c710, 2017-06-15 (annotated)
- Committer:
- eggsylah
- Date:
- Thu Jun 15 15:01:14 2017 +0000
- Revision:
- 0:b0151666c710
First working i2c version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eggsylah | 0:b0151666c710 | 1 | #include "mbed.h" |
eggsylah | 0:b0151666c710 | 2 | |
eggsylah | 0:b0151666c710 | 3 | #include "SSD1306-Library.h" |
eggsylah | 0:b0151666c710 | 4 | #include "FreeSans9pt7b.h" |
eggsylah | 0:b0151666c710 | 5 | |
eggsylah | 0:b0151666c710 | 6 | |
eggsylah | 0:b0151666c710 | 7 | Serial pc(USBTX, USBRX); |
eggsylah | 0:b0151666c710 | 8 | |
eggsylah | 0:b0151666c710 | 9 | DigitalOut gpo(D0); |
eggsylah | 0:b0151666c710 | 10 | DigitalOut led(LED_RED); |
eggsylah | 0:b0151666c710 | 11 | |
eggsylah | 0:b0151666c710 | 12 | /************************************************** |
eggsylah | 0:b0151666c710 | 13 | * graphics_simple_demo |
eggsylah | 0:b0151666c710 | 14 | **************************************************/ |
eggsylah | 0:b0151666c710 | 15 | void graphics_simple_demo(SSD1306 display) { |
eggsylah | 0:b0151666c710 | 16 | display.setRotation(0); |
eggsylah | 0:b0151666c710 | 17 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 18 | display.drawFastVLine(SSD1306_LCDWIDTH/2, 0, SSD1306_LCDHEIGHT, WHITE); |
eggsylah | 0:b0151666c710 | 19 | display.display(); |
eggsylah | 0:b0151666c710 | 20 | |
eggsylah | 0:b0151666c710 | 21 | // wait(1); |
eggsylah | 0:b0151666c710 | 22 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 23 | display.drawFastHLine(0, SSD1306_LCDHEIGHT/2, SSD1306_LCDWIDTH, WHITE); |
eggsylah | 0:b0151666c710 | 24 | display.display(); |
eggsylah | 0:b0151666c710 | 25 | } |
eggsylah | 0:b0151666c710 | 26 | |
eggsylah | 0:b0151666c710 | 27 | /************************************************** |
eggsylah | 0:b0151666c710 | 28 | * graphics_speed_demo |
eggsylah | 0:b0151666c710 | 29 | **************************************************/ |
eggsylah | 0:b0151666c710 | 30 | void graphics_speed_demo(SSD1306 display, bool trail) { |
eggsylah | 0:b0151666c710 | 31 | display.setRotation(0); |
eggsylah | 0:b0151666c710 | 32 | //display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 33 | |
eggsylah | 0:b0151666c710 | 34 | int32_t y = 0; |
eggsylah | 0:b0151666c710 | 35 | int32_t delta_y = 1; |
eggsylah | 0:b0151666c710 | 36 | |
eggsylah | 0:b0151666c710 | 37 | for (int32_t x=0; x<display.width(); x++) { |
eggsylah | 0:b0151666c710 | 38 | display.drawFastVLine(x, 0, y, WHITE); |
eggsylah | 0:b0151666c710 | 39 | display.display(); |
eggsylah | 0:b0151666c710 | 40 | if (!trail) |
eggsylah | 0:b0151666c710 | 41 | display.drawFastVLine(x, 0, y, BLACK); |
eggsylah | 0:b0151666c710 | 42 | y += delta_y; |
eggsylah | 0:b0151666c710 | 43 | if ((y<0) || (y >= display.height())) |
eggsylah | 0:b0151666c710 | 44 | delta_y = -delta_y; |
eggsylah | 0:b0151666c710 | 45 | } |
eggsylah | 0:b0151666c710 | 46 | } |
eggsylah | 0:b0151666c710 | 47 | /************************************************** |
eggsylah | 0:b0151666c710 | 48 | * graphics_line_demo |
eggsylah | 0:b0151666c710 | 49 | **************************************************/ |
eggsylah | 0:b0151666c710 | 50 | void graphics_line_demo(SSD1306 display, int32_t count) { |
eggsylah | 0:b0151666c710 | 51 | display.setRotation(0); |
eggsylah | 0:b0151666c710 | 52 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 53 | |
eggsylah | 0:b0151666c710 | 54 | //int32_t y = 0; |
eggsylah | 0:b0151666c710 | 55 | int32_t delta_y = 3; |
eggsylah | 0:b0151666c710 | 56 | int32_t delta_x = 5; |
eggsylah | 0:b0151666c710 | 57 | |
eggsylah | 0:b0151666c710 | 58 | switch (count % 4) { |
eggsylah | 0:b0151666c710 | 59 | ////////////////////////////////////////////////////////////////// |
eggsylah | 0:b0151666c710 | 60 | case 0: |
eggsylah | 0:b0151666c710 | 61 | for (int32_t x=0; x<display.width(); x+=delta_x) |
eggsylah | 0:b0151666c710 | 62 | display.drawFastVLine(x, 0, display.height(), WHITE); |
eggsylah | 0:b0151666c710 | 63 | |
eggsylah | 0:b0151666c710 | 64 | for (int32_t y=0; y<display.height(); y+=delta_y) |
eggsylah | 0:b0151666c710 | 65 | display.drawFastHLine(0, y, display.width(), WHITE); |
eggsylah | 0:b0151666c710 | 66 | break; |
eggsylah | 0:b0151666c710 | 67 | ////////////////////////////////////////////////////////////////// |
eggsylah | 0:b0151666c710 | 68 | case 1: |
eggsylah | 0:b0151666c710 | 69 | delta_y = 2; |
eggsylah | 0:b0151666c710 | 70 | delta_x = 2; |
eggsylah | 0:b0151666c710 | 71 | for (int32_t x=0; x<display.width(); x+=delta_x) |
eggsylah | 0:b0151666c710 | 72 | display.drawFastVLine(x, 0, display.height(), WHITE); |
eggsylah | 0:b0151666c710 | 73 | |
eggsylah | 0:b0151666c710 | 74 | for (int32_t y=0; y<display.height(); y+=delta_y) |
eggsylah | 0:b0151666c710 | 75 | display.drawFastHLine(0, y, display.width(), WHITE); |
eggsylah | 0:b0151666c710 | 76 | break; |
eggsylah | 0:b0151666c710 | 77 | ////////////////////////////////////////////////////////////////// |
eggsylah | 0:b0151666c710 | 78 | case 2: |
eggsylah | 0:b0151666c710 | 79 | { |
eggsylah | 0:b0151666c710 | 80 | int32_t w = display.width(); |
eggsylah | 0:b0151666c710 | 81 | int32_t h = display.height(); |
eggsylah | 0:b0151666c710 | 82 | delta_y = 4; |
eggsylah | 0:b0151666c710 | 83 | delta_x = 4; |
eggsylah | 0:b0151666c710 | 84 | for (int32_t x=0; x<w/2; x+=delta_x) { |
eggsylah | 0:b0151666c710 | 85 | display.drawLine(w/2, h-x, w-x, h, WHITE); |
eggsylah | 0:b0151666c710 | 86 | display.drawLine(w/2, h-x, x, h, WHITE); |
eggsylah | 0:b0151666c710 | 87 | } |
eggsylah | 0:b0151666c710 | 88 | display.drawLine(w/2, 0, w/2, h, WHITE); |
eggsylah | 0:b0151666c710 | 89 | break; |
eggsylah | 0:b0151666c710 | 90 | } |
eggsylah | 0:b0151666c710 | 91 | ////////////////////////////////////////////////////////////////// |
eggsylah | 0:b0151666c710 | 92 | case 3: |
eggsylah | 0:b0151666c710 | 93 | { |
eggsylah | 0:b0151666c710 | 94 | int32_t w = display.width(); |
eggsylah | 0:b0151666c710 | 95 | int32_t h = display.height(); |
eggsylah | 0:b0151666c710 | 96 | delta_x = 4; |
eggsylah | 0:b0151666c710 | 97 | display.drawLine(0, 0, w, 0, WHITE); |
eggsylah | 0:b0151666c710 | 98 | for (int32_t x=0; x<w/2; x+=delta_x) { |
eggsylah | 0:b0151666c710 | 99 | display.drawLine(w/2+x, 0, w, 2*(w-2*x)*x/h, WHITE); |
eggsylah | 0:b0151666c710 | 100 | display.drawLine(w/2-x, 0, 0, 2*(w-2*x)*x/h, WHITE); |
eggsylah | 0:b0151666c710 | 101 | } |
eggsylah | 0:b0151666c710 | 102 | break; |
eggsylah | 0:b0151666c710 | 103 | } |
eggsylah | 0:b0151666c710 | 104 | } |
eggsylah | 0:b0151666c710 | 105 | ////////////////////////////////////////////////////////////////// |
eggsylah | 0:b0151666c710 | 106 | |
eggsylah | 0:b0151666c710 | 107 | display.display(); |
eggsylah | 0:b0151666c710 | 108 | } |
eggsylah | 0:b0151666c710 | 109 | |
eggsylah | 0:b0151666c710 | 110 | /************************************************** |
eggsylah | 0:b0151666c710 | 111 | * graphics_demo |
eggsylah | 0:b0151666c710 | 112 | **************************************************/ |
eggsylah | 0:b0151666c710 | 113 | #define GDLOGO_W 111 |
eggsylah | 0:b0151666c710 | 114 | #define GDLOGO_H 48 |
eggsylah | 0:b0151666c710 | 115 | |
eggsylah | 0:b0151666c710 | 116 | const uint8_t gdLogo[GDLOGO_H/8 * GDLOGO_W] = { |
eggsylah | 0:b0151666c710 | 117 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
eggsylah | 0:b0151666c710 | 118 | 0x00, 0x00, 0xC0, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x00, 0x00, |
eggsylah | 0:b0151666c710 | 119 | 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, |
eggsylah | 0:b0151666c710 | 120 | 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, |
eggsylah | 0:b0151666c710 | 121 | 0x00, 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x07, 0x01, 0x00, |
eggsylah | 0:b0151666c710 | 122 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x0F, 0x0F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
eggsylah | 0:b0151666c710 | 123 | }; |
eggsylah | 0:b0151666c710 | 124 | |
eggsylah | 0:b0151666c710 | 125 | void drawBitmap(SSD1306 display, int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color) { |
eggsylah | 0:b0151666c710 | 126 | |
eggsylah | 0:b0151666c710 | 127 | int16_t i, j = (w + 7) / 8; |
eggsylah | 0:b0151666c710 | 128 | uint8_t byte; |
eggsylah | 0:b0151666c710 | 129 | |
eggsylah | 0:b0151666c710 | 130 | for(i=0; i<w; i++ ) { |
eggsylah | 0:b0151666c710 | 131 | for(j=0; j<h; j++) { |
eggsylah | 0:b0151666c710 | 132 | if(j & 7) |
eggsylah | 0:b0151666c710 | 133 | byte >>= 1; |
eggsylah | 0:b0151666c710 | 134 | else |
eggsylah | 0:b0151666c710 | 135 | byte = bitmap[w*j/8 + i]; |
eggsylah | 0:b0151666c710 | 136 | if(byte & 1) |
eggsylah | 0:b0151666c710 | 137 | display.drawPixel(x+i, y+j, color); |
eggsylah | 0:b0151666c710 | 138 | } |
eggsylah | 0:b0151666c710 | 139 | } |
eggsylah | 0:b0151666c710 | 140 | } |
eggsylah | 0:b0151666c710 | 141 | |
eggsylah | 0:b0151666c710 | 142 | |
eggsylah | 0:b0151666c710 | 143 | void testdrawchar(SSD1306 display) { |
eggsylah | 0:b0151666c710 | 144 | display.setTextSize(1); |
eggsylah | 0:b0151666c710 | 145 | display.setTextColor(WHITE); |
eggsylah | 0:b0151666c710 | 146 | display.setCursor(0,0); |
eggsylah | 0:b0151666c710 | 147 | |
eggsylah | 0:b0151666c710 | 148 | for (uint8_t i=0; i < 168; i++) { |
eggsylah | 0:b0151666c710 | 149 | if (i % 21 == 20) |
eggsylah | 0:b0151666c710 | 150 | display.write('\n'); |
eggsylah | 0:b0151666c710 | 151 | if (i != '\n') |
eggsylah | 0:b0151666c710 | 152 | display.write(i); |
eggsylah | 0:b0151666c710 | 153 | } |
eggsylah | 0:b0151666c710 | 154 | display.display(); |
eggsylah | 0:b0151666c710 | 155 | } |
eggsylah | 0:b0151666c710 | 156 | |
eggsylah | 0:b0151666c710 | 157 | void doText(SSD1306 display, bool both=true) { |
eggsylah | 0:b0151666c710 | 158 | display.setTextSize(1); |
eggsylah | 0:b0151666c710 | 159 | display.setTextColor(WHITE); |
eggsylah | 0:b0151666c710 | 160 | display.setCursor(0,both ? 0 : 12); |
eggsylah | 0:b0151666c710 | 161 | display.println("Hello, world!"); |
eggsylah | 0:b0151666c710 | 162 | if (both) |
eggsylah | 0:b0151666c710 | 163 | display.setTextColor(BLACK, WHITE); // 'inverted' text |
eggsylah | 0:b0151666c710 | 164 | display.println("3.141592"); |
eggsylah | 0:b0151666c710 | 165 | if (both) { |
eggsylah | 0:b0151666c710 | 166 | display.setTextSize(2); |
eggsylah | 0:b0151666c710 | 167 | display.setTextColor(WHITE); |
eggsylah | 0:b0151666c710 | 168 | display.print("0x"); display.println("DEADBEEF"); |
eggsylah | 0:b0151666c710 | 169 | } |
eggsylah | 0:b0151666c710 | 170 | display.display(); |
eggsylah | 0:b0151666c710 | 171 | } |
eggsylah | 0:b0151666c710 | 172 | |
eggsylah | 0:b0151666c710 | 173 | |
eggsylah | 0:b0151666c710 | 174 | void graphics_demo(SSD1306 display) { |
eggsylah | 0:b0151666c710 | 175 | display.setRotation(0); |
eggsylah | 0:b0151666c710 | 176 | |
eggsylah | 0:b0151666c710 | 177 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 178 | drawBitmap(display, 8, 16, gdLogo, GDLOGO_W, GDLOGO_H, 2); |
eggsylah | 0:b0151666c710 | 179 | //display.startscrolldiagleft(3, 0x0F); |
eggsylah | 0:b0151666c710 | 180 | display.display(); |
eggsylah | 0:b0151666c710 | 181 | wait(8); |
eggsylah | 0:b0151666c710 | 182 | display.stopscroll(); |
eggsylah | 0:b0151666c710 | 183 | |
eggsylah | 0:b0151666c710 | 184 | display.setFont(NULL); |
eggsylah | 0:b0151666c710 | 185 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 186 | display.fillCircle(display.width()/2, display.height()/2, display.height()/2-1, WHITE); |
eggsylah | 0:b0151666c710 | 187 | display.display(); |
eggsylah | 0:b0151666c710 | 188 | wait(2); |
eggsylah | 0:b0151666c710 | 189 | |
eggsylah | 0:b0151666c710 | 190 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 191 | display.drawFastVLine(0, 16, 32, WHITE); |
eggsylah | 0:b0151666c710 | 192 | display.drawFastHLine(0, 16, 32, WHITE); |
eggsylah | 0:b0151666c710 | 193 | display.display(); |
eggsylah | 0:b0151666c710 | 194 | wait(2); |
eggsylah | 0:b0151666c710 | 195 | |
eggsylah | 0:b0151666c710 | 196 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 197 | testdrawchar(display); |
eggsylah | 0:b0151666c710 | 198 | wait(4); |
eggsylah | 0:b0151666c710 | 199 | |
eggsylah | 0:b0151666c710 | 200 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 201 | doText(display); |
eggsylah | 0:b0151666c710 | 202 | wait(4); |
eggsylah | 0:b0151666c710 | 203 | |
eggsylah | 0:b0151666c710 | 204 | display.clearDisplay(); |
eggsylah | 0:b0151666c710 | 205 | display.setFont(&FreeSans9pt7b); |
eggsylah | 0:b0151666c710 | 206 | doText(display, false); |
eggsylah | 0:b0151666c710 | 207 | wait(2); |
eggsylah | 0:b0151666c710 | 208 | |
eggsylah | 0:b0151666c710 | 209 | |
eggsylah | 0:b0151666c710 | 210 | display.startscrollleft(8, 0x0F); |
eggsylah | 0:b0151666c710 | 211 | wait(4); |
eggsylah | 0:b0151666c710 | 212 | } |
eggsylah | 0:b0151666c710 | 213 | |
eggsylah | 0:b0151666c710 | 214 | |
eggsylah | 0:b0151666c710 | 215 | |
eggsylah | 0:b0151666c710 | 216 | /************************************************** |
eggsylah | 0:b0151666c710 | 217 | * main |
eggsylah | 0:b0151666c710 | 218 | **************************************************/ |
eggsylah | 0:b0151666c710 | 219 | int main() |
eggsylah | 0:b0151666c710 | 220 | { |
eggsylah | 0:b0151666c710 | 221 | int32_t count = 0; |
eggsylah | 0:b0151666c710 | 222 | pc.baud(115200); |
eggsylah | 0:b0151666c710 | 223 | pc.printf("SSD1306 I2C Demo\r\n"); |
eggsylah | 0:b0151666c710 | 224 | |
eggsylah | 0:b0151666c710 | 225 | SSD1306 display = SSD1306(); |
eggsylah | 0:b0151666c710 | 226 | display.begin(true); |
eggsylah | 0:b0151666c710 | 227 | |
eggsylah | 0:b0151666c710 | 228 | while (true) { |
eggsylah | 0:b0151666c710 | 229 | gpo = !gpo; // toggle pin |
eggsylah | 0:b0151666c710 | 230 | led = !led; // toggle led |
eggsylah | 0:b0151666c710 | 231 | wait(1); |
eggsylah | 0:b0151666c710 | 232 | graphics_line_demo(display, count); |
eggsylah | 0:b0151666c710 | 233 | //graphics_simple_demo(display); |
eggsylah | 0:b0151666c710 | 234 | //graphics_speed_demo(display, (count%3)==0); |
eggsylah | 0:b0151666c710 | 235 | //graphics_demo(display); |
eggsylah | 0:b0151666c710 | 236 | |
eggsylah | 0:b0151666c710 | 237 | pc.printf("Count: %d\r\n", count); |
eggsylah | 0:b0151666c710 | 238 | |
eggsylah | 0:b0151666c710 | 239 | count++; |
eggsylah | 0:b0151666c710 | 240 | } |
eggsylah | 0:b0151666c710 | 241 | } |