k og
/
Aitendo_LCD018-05P28P_HelloWorld
Aitendo 128 x 160 STN LCD
main.cpp@0:6a73dfa821a8, 2016-09-24 (annotated)
- Committer:
- og
- Date:
- Sat Sep 24 12:50:32 2016 +0000
- Revision:
- 0:6a73dfa821a8
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
og | 0:6a73dfa821a8 | 1 | /** |
og | 0:6a73dfa821a8 | 2 | http://suz-avr.sblo.jp/article/37364983.html |
og | 0:6a73dfa821a8 | 3 | http://elegadget.blog.fc2.com/blog-entry-5.html |
og | 0:6a73dfa821a8 | 4 | http://stm32f4.web.fc2.com/STM32F1/momiji_LCD018.html |
og | 0:6a73dfa821a8 | 5 | |
og | 0:6a73dfa821a8 | 6 | ARCH PRO: D14, D15 Open Drain port, need pull up R. |
og | 0:6a73dfa821a8 | 7 | NUCLEO: D0, D1 assigned UART port. |
og | 0:6a73dfa821a8 | 8 | |
og | 0:6a73dfa821a8 | 9 | not support rotation. |
og | 0:6a73dfa821a8 | 10 | **/ |
og | 0:6a73dfa821a8 | 11 | |
og | 0:6a73dfa821a8 | 12 | #include "mbed.h" |
og | 0:6a73dfa821a8 | 13 | #include "HD66766.h" |
og | 0:6a73dfa821a8 | 14 | |
og | 0:6a73dfa821a8 | 15 | #define DEBUG 0 |
og | 0:6a73dfa821a8 | 16 | |
og | 0:6a73dfa821a8 | 17 | #define BLACK 0x0000 |
og | 0:6a73dfa821a8 | 18 | #define BLUE 0x001F |
og | 0:6a73dfa821a8 | 19 | #define RED 0xF800 |
og | 0:6a73dfa821a8 | 20 | #define GREEN 0x07E0 |
og | 0:6a73dfa821a8 | 21 | #define CYAN 0x07FF |
og | 0:6a73dfa821a8 | 22 | #define MAGENTA 0xF81F |
og | 0:6a73dfa821a8 | 23 | #define YELLOW 0xFFE0 |
og | 0:6a73dfa821a8 | 24 | #define WHITE 0xFFFF |
og | 0:6a73dfa821a8 | 25 | |
og | 0:6a73dfa821a8 | 26 | |
og | 0:6a73dfa821a8 | 27 | #if defined(TARGET_ARCH_PRO) |
og | 0:6a73dfa821a8 | 28 | HD66766 lcd(A0, A1, A2, A3, A4, |
og | 0:6a73dfa821a8 | 29 | D0, D1, D2, D3, D4, D5, D6, D7, |
og | 0:6a73dfa821a8 | 30 | D8, D9, D10, D11, D12, D13, D14, D15); |
og | 0:6a73dfa821a8 | 31 | Serial pc(USBTX, USBRX); |
og | 0:6a73dfa821a8 | 32 | //#elif defined TARGET_NUCLEO_F103RB |
og | 0:6a73dfa821a8 | 33 | //HD66766 lcd(A0, A1, A2, A3, A4, |
og | 0:6a73dfa821a8 | 34 | // D0, D1, D2, D3, D4, D5, D6, D7, |
og | 0:6a73dfa821a8 | 35 | // D8, D9, D10, D11, D12, D13, D14, D15); |
og | 0:6a73dfa821a8 | 36 | //Serial pc(SERIAL_TX, SERIAL_RX); |
og | 0:6a73dfa821a8 | 37 | //#elif defined TARGET_NUCLEO_F446RE |
og | 0:6a73dfa821a8 | 38 | //HD66766 lcd(A0, A1, A2, A3, A4, |
og | 0:6a73dfa821a8 | 39 | // D0, D1, D2, D3, D4, D5, D6, D7, |
og | 0:6a73dfa821a8 | 40 | // D8, D9, D10, D11, D12, D13, D14, D15); |
og | 0:6a73dfa821a8 | 41 | //Serial pc(SERIAL_TX, SERIAL_RX); |
og | 0:6a73dfa821a8 | 42 | |
og | 0:6a73dfa821a8 | 43 | #endif |
og | 0:6a73dfa821a8 | 44 | void testText() { |
og | 0:6a73dfa821a8 | 45 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 46 | lcd.setCursor(0, 30); |
og | 0:6a73dfa821a8 | 47 | lcd.setTextColor(RED); |
og | 0:6a73dfa821a8 | 48 | lcd.setTextSize(1); |
og | 0:6a73dfa821a8 | 49 | lcd.println("Hello World!\n"); |
og | 0:6a73dfa821a8 | 50 | wait_ms(500); |
og | 0:6a73dfa821a8 | 51 | lcd.setTextColor(YELLOW); |
og | 0:6a73dfa821a8 | 52 | lcd.setTextSize(2); |
og | 0:6a73dfa821a8 | 53 | lcd.println("Hello World!\n"); |
og | 0:6a73dfa821a8 | 54 | wait_ms(500); |
og | 0:6a73dfa821a8 | 55 | lcd.setTextColor(GREEN); |
og | 0:6a73dfa821a8 | 56 | lcd.setTextSize(3); |
og | 0:6a73dfa821a8 | 57 | lcd.println("Hello World!\n"); |
og | 0:6a73dfa821a8 | 58 | wait_ms(500); |
og | 0:6a73dfa821a8 | 59 | lcd.setTextColor(CYAN); |
og | 0:6a73dfa821a8 | 60 | lcd.setTextSize(3); |
og | 0:6a73dfa821a8 | 61 | lcd.println("Hello World!\n"); |
og | 0:6a73dfa821a8 | 62 | wait_ms(500); |
og | 0:6a73dfa821a8 | 63 | lcd.setTextColor(MAGENTA); |
og | 0:6a73dfa821a8 | 64 | lcd.setTextSize(2); |
og | 0:6a73dfa821a8 | 65 | lcd.println("Hello World!\n"); |
og | 0:6a73dfa821a8 | 66 | wait_ms(500); |
og | 0:6a73dfa821a8 | 67 | lcd.setTextColor(WHITE); |
og | 0:6a73dfa821a8 | 68 | lcd.setTextSize(1); |
og | 0:6a73dfa821a8 | 69 | lcd.println("Hello World!\n"); |
og | 0:6a73dfa821a8 | 70 | wait_ms(500); |
og | 0:6a73dfa821a8 | 71 | lcd.setTextColor(BLUE); |
og | 0:6a73dfa821a8 | 72 | lcd.setTextSize(1); |
og | 0:6a73dfa821a8 | 73 | lcd.println("1234.567\n"); |
og | 0:6a73dfa821a8 | 74 | wait_ms(500); |
og | 0:6a73dfa821a8 | 75 | |
og | 0:6a73dfa821a8 | 76 | } |
og | 0:6a73dfa821a8 | 77 | |
og | 0:6a73dfa821a8 | 78 | void testfillcircles(uint8_t radius, uint16_t color) { |
og | 0:6a73dfa821a8 | 79 | for (uint16_t x=radius; x < lcd.width(); x+=radius*2) { |
og | 0:6a73dfa821a8 | 80 | for (uint16_t y=radius; y < lcd.height(); y+=radius*2) { |
og | 0:6a73dfa821a8 | 81 | lcd.fillCircle(x, y, radius, color); |
og | 0:6a73dfa821a8 | 82 | } |
og | 0:6a73dfa821a8 | 83 | } |
og | 0:6a73dfa821a8 | 84 | } |
og | 0:6a73dfa821a8 | 85 | |
og | 0:6a73dfa821a8 | 86 | void testdrawcircles(uint8_t radius, uint16_t color) { |
og | 0:6a73dfa821a8 | 87 | for (uint16_t x=0; x < lcd.width()+radius; x+=radius*2) { |
og | 0:6a73dfa821a8 | 88 | for (uint16_t y=0; y < lcd.height()+radius; y+=radius*2) { |
og | 0:6a73dfa821a8 | 89 | lcd.drawCircle(x, y, radius, color); |
og | 0:6a73dfa821a8 | 90 | } |
og | 0:6a73dfa821a8 | 91 | } |
og | 0:6a73dfa821a8 | 92 | } |
og | 0:6a73dfa821a8 | 93 | |
og | 0:6a73dfa821a8 | 94 | void testfillrects(uint16_t color1, uint16_t color2) { |
og | 0:6a73dfa821a8 | 95 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 96 | for (uint16_t x=lcd.width()-1; x > 6; x-=6) { |
og | 0:6a73dfa821a8 | 97 | //Serial.println(x, DEC); |
og | 0:6a73dfa821a8 | 98 | lcd.fillRect(lcd.width()/2 -x/2, lcd.height()/2 -x/2 , x, x, color1); |
og | 0:6a73dfa821a8 | 99 | lcd.drawRect(lcd.width()/2 -x/2, lcd.height()/2 -x/2 , x, x, color2); |
og | 0:6a73dfa821a8 | 100 | } |
og | 0:6a73dfa821a8 | 101 | } |
og | 0:6a73dfa821a8 | 102 | |
og | 0:6a73dfa821a8 | 103 | void testdrawrects(uint16_t color) { |
og | 0:6a73dfa821a8 | 104 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 105 | for (uint16_t x=0; x < lcd.width(); x+=6) { |
og | 0:6a73dfa821a8 | 106 | //pc.printf("%d\r\n", x); |
og | 0:6a73dfa821a8 | 107 | lcd.drawRect(lcd.width()/2 -x/2, lcd.height()/2 -x/2 , x, x, color); |
og | 0:6a73dfa821a8 | 108 | } |
og | 0:6a73dfa821a8 | 109 | } |
og | 0:6a73dfa821a8 | 110 | |
og | 0:6a73dfa821a8 | 111 | void testFillRoundRect() { |
og | 0:6a73dfa821a8 | 112 | lcd.fillScreen(RED); |
og | 0:6a73dfa821a8 | 113 | |
og | 0:6a73dfa821a8 | 114 | for (uint16_t x=lcd.width(); x > 20 ; x-=6) { |
og | 0:6a73dfa821a8 | 115 | lcd.fillRoundRect(lcd.width()/2 -x/2, lcd.height()/2 -x/2 , x, x, x/8, lcd.Color565(0, x<<1, 0)); |
og | 0:6a73dfa821a8 | 116 | } |
og | 0:6a73dfa821a8 | 117 | } |
og | 0:6a73dfa821a8 | 118 | |
og | 0:6a73dfa821a8 | 119 | void testfilltriangles() { |
og | 0:6a73dfa821a8 | 120 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 121 | |
og | 0:6a73dfa821a8 | 122 | for (uint16_t i=lcd.width()/2; i>10; i-=5) { |
og | 0:6a73dfa821a8 | 123 | lcd.fillTriangle(lcd.width()/2, lcd.height()/2-i, |
og | 0:6a73dfa821a8 | 124 | lcd.width()/2-i, lcd.height()/2+i, |
og | 0:6a73dfa821a8 | 125 | lcd.width()/2+i, lcd.height()/2+i, |
og | 0:6a73dfa821a8 | 126 | BLUE); |
og | 0:6a73dfa821a8 | 127 | lcd.drawTriangle(lcd.width()/2, lcd.height()/2-i, |
og | 0:6a73dfa821a8 | 128 | lcd.width()/2-i, lcd.height()/2+i, |
og | 0:6a73dfa821a8 | 129 | lcd.width()/2+i, lcd.height()/2+i, GREEN); |
og | 0:6a73dfa821a8 | 130 | } |
og | 0:6a73dfa821a8 | 131 | } |
og | 0:6a73dfa821a8 | 132 | |
og | 0:6a73dfa821a8 | 133 | void testtriangles() { |
og | 0:6a73dfa821a8 | 134 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 135 | for (uint16_t i=0; i<lcd.width()/2; i+=5) { |
og | 0:6a73dfa821a8 | 136 | lcd.drawTriangle(lcd.width()/2, lcd.height()/2-i, |
og | 0:6a73dfa821a8 | 137 | lcd.width()/2-i, lcd.height()/2+i, |
og | 0:6a73dfa821a8 | 138 | lcd.width()/2+i, lcd.height()/2+i, YELLOW); |
og | 0:6a73dfa821a8 | 139 | } |
og | 0:6a73dfa821a8 | 140 | /* |
og | 0:6a73dfa821a8 | 141 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 142 | for (uint16_t i=0; i<lcd.width()/2; i+=5) { |
og | 0:6a73dfa821a8 | 143 | lcd.drawTriangle(lcd.width()/2, lcd.height()/2-i, |
og | 0:6a73dfa821a8 | 144 | lcd.width()/2-i, lcd.height()/2+i, |
og | 0:6a73dfa821a8 | 145 | lcd.width()/2+i, lcd.height()/2+i, lcd.Color565(0, i, 0)); |
og | 0:6a73dfa821a8 | 146 | } |
og | 0:6a73dfa821a8 | 147 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 148 | for (uint16_t i=0; i<lcd.width()/2; i+=5) { |
og | 0:6a73dfa821a8 | 149 | lcd.drawTriangle(lcd.width()/2, lcd.height()/2-i, |
og | 0:6a73dfa821a8 | 150 | lcd.width()/2-i, lcd.height()/2+i, |
og | 0:6a73dfa821a8 | 151 | lcd.width()/2+i, lcd.height()/2+i, lcd.Color565(i, 0, 0)); |
og | 0:6a73dfa821a8 | 152 | } |
og | 0:6a73dfa821a8 | 153 | */ |
og | 0:6a73dfa821a8 | 154 | } |
og | 0:6a73dfa821a8 | 155 | |
og | 0:6a73dfa821a8 | 156 | void testfastlines(uint16_t color1, uint16_t color2) { |
og | 0:6a73dfa821a8 | 157 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 158 | for (uint16_t y=0; y < lcd.height(); y+=4) { |
og | 0:6a73dfa821a8 | 159 | // pc.printf("%d\r\n", y); |
og | 0:6a73dfa821a8 | 160 | lcd.drawHorizontalLine(0, y, lcd.width(), color1); |
og | 0:6a73dfa821a8 | 161 | } |
og | 0:6a73dfa821a8 | 162 | for (uint16_t x=0; x < lcd.width(); x+=4) { |
og | 0:6a73dfa821a8 | 163 | // pc.printf("%d\r\n", x); |
og | 0:6a73dfa821a8 | 164 | lcd.drawVerticalLine(x, 0, lcd.height(), color2); |
og | 0:6a73dfa821a8 | 165 | } |
og | 0:6a73dfa821a8 | 166 | |
og | 0:6a73dfa821a8 | 167 | } |
og | 0:6a73dfa821a8 | 168 | |
og | 0:6a73dfa821a8 | 169 | void testlines(uint16_t color) { |
og | 0:6a73dfa821a8 | 170 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 171 | for (uint16_t x=0; x < lcd.width(); x+=6) { |
og | 0:6a73dfa821a8 | 172 | lcd.drawLine(0, 0, x, lcd.height()-1, color); |
og | 0:6a73dfa821a8 | 173 | } |
og | 0:6a73dfa821a8 | 174 | for (uint16_t y=0; y < lcd.height(); y+=6) { |
og | 0:6a73dfa821a8 | 175 | lcd.drawLine(0, 0, lcd.width()-1, y, color); |
og | 0:6a73dfa821a8 | 176 | } |
og | 0:6a73dfa821a8 | 177 | |
og | 0:6a73dfa821a8 | 178 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 179 | for (uint16_t x=0; x < lcd.width(); x+=6) { |
og | 0:6a73dfa821a8 | 180 | lcd.drawLine(lcd.width()-1, 0, x, lcd.height()-1, color); |
og | 0:6a73dfa821a8 | 181 | } |
og | 0:6a73dfa821a8 | 182 | for (uint16_t y=0; y < lcd.height(); y+=6) { |
og | 0:6a73dfa821a8 | 183 | lcd.drawLine(lcd.width()-1, 0, 0, y, color); |
og | 0:6a73dfa821a8 | 184 | } |
og | 0:6a73dfa821a8 | 185 | |
og | 0:6a73dfa821a8 | 186 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 187 | for (uint16_t x=0; x < lcd.width(); x+=6) { |
og | 0:6a73dfa821a8 | 188 | lcd.drawLine(0, lcd.height()-1, x, 0, color); |
og | 0:6a73dfa821a8 | 189 | } |
og | 0:6a73dfa821a8 | 190 | for (uint16_t y=0; y < lcd.height(); y+=6) { |
og | 0:6a73dfa821a8 | 191 | lcd.drawLine(0, lcd.height()-1, lcd.width()-1, y, color); |
og | 0:6a73dfa821a8 | 192 | } |
og | 0:6a73dfa821a8 | 193 | |
og | 0:6a73dfa821a8 | 194 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 195 | for (uint16_t x=0; x < lcd.width(); x+=6) { |
og | 0:6a73dfa821a8 | 196 | lcd.drawLine(lcd.width()-1, lcd.height()-1, x, 0, color); |
og | 0:6a73dfa821a8 | 197 | } |
og | 0:6a73dfa821a8 | 198 | for (uint16_t y=0; y < lcd.height(); y+=6) { |
og | 0:6a73dfa821a8 | 199 | lcd.drawLine(lcd.width()-1, lcd.height()-1, 0, y, color); |
og | 0:6a73dfa821a8 | 200 | } |
og | 0:6a73dfa821a8 | 201 | } |
og | 0:6a73dfa821a8 | 202 | |
og | 0:6a73dfa821a8 | 203 | void testBars() { |
og | 0:6a73dfa821a8 | 204 | //for (int id = 0x0000; id <= 0x0007; id++) { |
og | 0:6a73dfa821a8 | 205 | //lcd.writeRegister(0x0005, id<<3); // Entry Mode |
og | 0:6a73dfa821a8 | 206 | lcd.goHome(); |
og | 0:6a73dfa821a8 | 207 | |
og | 0:6a73dfa821a8 | 208 | uint16_t i,j; |
og | 0:6a73dfa821a8 | 209 | lcd.writeCommand(0x0022); |
og | 0:6a73dfa821a8 | 210 | for(i=0; i < lcd.height(); i++) |
og | 0:6a73dfa821a8 | 211 | { |
og | 0:6a73dfa821a8 | 212 | for(j=0; j < 64; j++) |
og | 0:6a73dfa821a8 | 213 | { |
og | 0:6a73dfa821a8 | 214 | if (i>79) lcd.writeData(BLACK); |
og | 0:6a73dfa821a8 | 215 | //else if(i>239) lcd.writeData(YELLOW); |
og | 0:6a73dfa821a8 | 216 | //else if(i>199) lcd.writeData(MAGENTA); |
og | 0:6a73dfa821a8 | 217 | //else if(i>159) lcd.writeData(RED); |
og | 0:6a73dfa821a8 | 218 | //else if(i>119) lcd.writeData(CYAN); |
og | 0:6a73dfa821a8 | 219 | //else if(i>79) lcd.writeData(GREEN); |
og | 0:6a73dfa821a8 | 220 | //else if(i>39) lcd.writeData(BLUE); |
og | 0:6a73dfa821a8 | 221 | else lcd.writeData(WHITE); |
og | 0:6a73dfa821a8 | 222 | //wait_ms(1); |
og | 0:6a73dfa821a8 | 223 | } |
og | 0:6a73dfa821a8 | 224 | for(j=0; j < 64; j++) |
og | 0:6a73dfa821a8 | 225 | { |
og | 0:6a73dfa821a8 | 226 | if (i>139) lcd.writeData(WHITE); |
og | 0:6a73dfa821a8 | 227 | else if(i>119) lcd.writeData(BLUE); |
og | 0:6a73dfa821a8 | 228 | else if(i>99) lcd.writeData(GREEN); |
og | 0:6a73dfa821a8 | 229 | else if(i>79) lcd.writeData(CYAN); |
og | 0:6a73dfa821a8 | 230 | else if(i>59) lcd.writeData(RED); |
og | 0:6a73dfa821a8 | 231 | else if(i>39) lcd.writeData(MAGENTA); |
og | 0:6a73dfa821a8 | 232 | else if(i>19) lcd.writeData(YELLOW); |
og | 0:6a73dfa821a8 | 233 | else lcd.writeData(BLACK); |
og | 0:6a73dfa821a8 | 234 | //wait_ms(1); |
og | 0:6a73dfa821a8 | 235 | } |
og | 0:6a73dfa821a8 | 236 | } |
og | 0:6a73dfa821a8 | 237 | //wait(5); |
og | 0:6a73dfa821a8 | 238 | //} |
og | 0:6a73dfa821a8 | 239 | } |
og | 0:6a73dfa821a8 | 240 | char BUF[16]; |
og | 0:6a73dfa821a8 | 241 | main() |
og | 0:6a73dfa821a8 | 242 | { |
og | 0:6a73dfa821a8 | 243 | wait(1); |
og | 0:6a73dfa821a8 | 244 | uint16_t identifier = lcd.readRegister(0x0); |
og | 0:6a73dfa821a8 | 245 | uint16_t c, y; |
og | 0:6a73dfa821a8 | 246 | uint16_t mode; |
og | 0:6a73dfa821a8 | 247 | if (identifier == 0x0766) { |
og | 0:6a73dfa821a8 | 248 | pc.printf("Found HD66766\n"); |
og | 0:6a73dfa821a8 | 249 | } else { |
og | 0:6a73dfa821a8 | 250 | pc.printf("Unknown driver chip %X\n",identifier); |
og | 0:6a73dfa821a8 | 251 | while (1); |
og | 0:6a73dfa821a8 | 252 | } |
og | 0:6a73dfa821a8 | 253 | lcd.initDisplay(); |
og | 0:6a73dfa821a8 | 254 | mode = 0; |
og | 0:6a73dfa821a8 | 255 | while(1){ |
og | 0:6a73dfa821a8 | 256 | //lcd.mirror(1); |
og | 0:6a73dfa821a8 | 257 | switch(mode) { |
og | 0:6a73dfa821a8 | 258 | case 0: { |
og | 0:6a73dfa821a8 | 259 | testText(); |
og | 0:6a73dfa821a8 | 260 | testBars(); |
og | 0:6a73dfa821a8 | 261 | wait(1); |
og | 0:6a73dfa821a8 | 262 | break; |
og | 0:6a73dfa821a8 | 263 | } |
og | 0:6a73dfa821a8 | 264 | case 1: { |
og | 0:6a73dfa821a8 | 265 | testfastlines(CYAN, MAGENTA); |
og | 0:6a73dfa821a8 | 266 | break; |
og | 0:6a73dfa821a8 | 267 | } |
og | 0:6a73dfa821a8 | 268 | case 2: { |
og | 0:6a73dfa821a8 | 269 | testtriangles(); |
og | 0:6a73dfa821a8 | 270 | testfilltriangles(); |
og | 0:6a73dfa821a8 | 271 | break; |
og | 0:6a73dfa821a8 | 272 | } |
og | 0:6a73dfa821a8 | 273 | case 3: { |
og | 0:6a73dfa821a8 | 274 | testfillcircles(50, RED); |
og | 0:6a73dfa821a8 | 275 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 276 | testdrawcircles(10, YELLOW); |
og | 0:6a73dfa821a8 | 277 | break; |
og | 0:6a73dfa821a8 | 278 | } |
og | 0:6a73dfa821a8 | 279 | case 4: { |
og | 0:6a73dfa821a8 | 280 | testdrawrects(GREEN); |
og | 0:6a73dfa821a8 | 281 | testlines(BLUE); |
og | 0:6a73dfa821a8 | 282 | testfillrects(RED, WHITE); |
og | 0:6a73dfa821a8 | 283 | testFillRoundRect(); |
og | 0:6a73dfa821a8 | 284 | testdrawrects(GREEN); |
og | 0:6a73dfa821a8 | 285 | break; |
og | 0:6a73dfa821a8 | 286 | } |
og | 0:6a73dfa821a8 | 287 | case 5: { |
og | 0:6a73dfa821a8 | 288 | lcd.fillScreen(BLACK); |
og | 0:6a73dfa821a8 | 289 | lcd.setTextColor(WHITE); |
og | 0:6a73dfa821a8 | 290 | lcd.setTextSize(1); |
og | 0:6a73dfa821a8 | 291 | lcd.drawPixel(0,0,WHITE); |
og | 0:6a73dfa821a8 | 292 | lcd.setCursor(5, 0); |
og | 0:6a73dfa821a8 | 293 | for (y = 0; y < 176; y ++) { |
og | 0:6a73dfa821a8 | 294 | if (y > 140) { |
og | 0:6a73dfa821a8 | 295 | sprintf(BUF, "%d\n", y); |
og | 0:6a73dfa821a8 | 296 | lcd.println(BUF); |
og | 0:6a73dfa821a8 | 297 | } |
og | 0:6a73dfa821a8 | 298 | if (y % 10 == 0 ) c = CYAN; |
og | 0:6a73dfa821a8 | 299 | else c = YELLOW; |
og | 0:6a73dfa821a8 | 300 | lcd.drawPixel(0, y, c); |
og | 0:6a73dfa821a8 | 301 | wait_ms(100); |
og | 0:6a73dfa821a8 | 302 | } |
og | 0:6a73dfa821a8 | 303 | lcd.fillScreen(RED); |
og | 0:6a73dfa821a8 | 304 | wait(1); |
og | 0:6a73dfa821a8 | 305 | lcd.fillScreen(GREEN); |
og | 0:6a73dfa821a8 | 306 | wait(1); |
og | 0:6a73dfa821a8 | 307 | lcd.fillScreen(BLUE); |
og | 0:6a73dfa821a8 | 308 | wait(1); |
og | 0:6a73dfa821a8 | 309 | lcd.fillScreen(WHITE); |
og | 0:6a73dfa821a8 | 310 | wait(1); |
og | 0:6a73dfa821a8 | 311 | break; |
og | 0:6a73dfa821a8 | 312 | } |
og | 0:6a73dfa821a8 | 313 | |
og | 0:6a73dfa821a8 | 314 | } |
og | 0:6a73dfa821a8 | 315 | mode++; |
og | 0:6a73dfa821a8 | 316 | } |
og | 0:6a73dfa821a8 | 317 | } |