Joseph Kim / Mbed 2 deprecated SSD1306-I2C

Dependencies:   mbed

Committer:
eggsylah
Date:
Thu Jun 15 15:01:14 2017 +0000
Revision:
0:b0151666c710
First working i2c version

Who changed what in which revision?

UserRevisionLine numberNew 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 }