LPC1768 Mini-DK board with 2.8" SPI TFT and SPI touch

Dependencies:   Mini-DK mbed SDFileSystem

WARNING: filetoflash (SD to CPU flash)

The SPI_TFT library called from Mini-DK.lib contains an option to copy an image from the SD card to the CPU flash memory. This allows you to use an image as background without speed loss when writing other text and graphics.

By default, this option is enabled.

It can be disabled by uncommenting the #define mentioned below in Mini_DK.h:

#define NO_FLASH_BUFFER

Since the flash memory has limited write endurance, DO NOT use this feature when you intend to read multiple images from the SD card (eg: when used as a photo frame).

Committer:
frankvnk
Date:
Tue Nov 04 21:44:46 2014 +0000
Revision:
17:2975b628064f
Parent:
16:784a071dec0e
Updated SPI_TFT_ILI9320 library to the latest version (auto-detect ILI9320, 9325 and 9328)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
frankvnk 10:d07f76421408 1 /*
frankvnk 10:d07f76421408 2 This file contains 3 examples:
frankvnk 10:d07f76421408 3
frankvnk 10:d07f76421408 4 ONE : Original example with paint demo.
frankvnk 10:d07f76421408 5 TWO : Example for displaying a bitmap read from SD card.
frankvnk 10:d07f76421408 6 Download the house.bmp bitmap file from http://mbed.org/media/uploads/frankvnk/house.bmp
frankvnk 10:d07f76421408 7 Copy this file to the root of an SD card, insert it into the Mini-DK.
frankvnk 10:d07f76421408 8 THREE : Example for copying a bitmap from SD to flash memory, use it as background and
frankvnk 10:d07f76421408 9 write text without disrupting the background image.
frankvnk 10:d07f76421408 10 Download the house.bmp bitmap file from http://mbed.org/media/uploads/frankvnk/house.bmp
frankvnk 10:d07f76421408 11 Copy this file to the root of an SD card, insert it into the Mini-DK.
frankvnk 10:d07f76421408 12
frankvnk 10:d07f76421408 13 IMPORTANT:
frankvnk 13:a10300cac491 14 If copy to flash option is not needed - enable //#define NO_FLASH_BUFFER in Mini_DK.h
frankvnk 13:a10300cac491 15
frankvnk 10:d07f76421408 16
frankvnk 10:d07f76421408 17 UNCOMMENT THE DESIRED CODE TO TEST.
frankvnk 10:d07f76421408 18
frankvnk 10:d07f76421408 19 */
frankvnk 10:d07f76421408 20
frankvnk 10:d07f76421408 21 // =========================================================================================================
frankvnk 10:d07f76421408 22 // ================================================== ONE ==================================================
frankvnk 10:d07f76421408 23 // =========================================================================================================
frankvnk 9:3e117b89c705 24 #include "stdio.h"
frankvnk 9:3e117b89c705 25 #include "mbed.h"
frankvnk 9:3e117b89c705 26 #include "Mini_DK.h"
frankvnk 9:3e117b89c705 27
frankvnk 9:3e117b89c705 28 extern unsigned char p1[]; // the mbed logo
frankvnk 9:3e117b89c705 29 #define RGB565CONVERT(red, green, blue) (uint16_t)( (( red >> 3 ) << 11 ) | (( green >> 2 ) << 5 ) | ( blue >> 3 ))
frankvnk 9:3e117b89c705 30
frankvnk 9:3e117b89c705 31 DigitalOut led(DK_LED1);
frankvnk 9:3e117b89c705 32 // TFT -> mosi, miso, sclk, cs
frankvnk 9:3e117b89c705 33 SPI_TFT TFT(LCD_SDI, LCD_SDO, LCD_SCK, LCD_CS,"TFT");
frankvnk 9:3e117b89c705 34 // ADS7843 -> mosi, miso, sclk, cs, irq, SPI_TFT
frankvnk 9:3e117b89c705 35 TouchScreenADS7843 TP(TP_SDI ,TP_SDO ,TP_SCK ,TP_CS ,TP_IRQ, &TFT);
frankvnk 9:3e117b89c705 36
frankvnk 9:3e117b89c705 37 int main()
frankvnk 9:3e117b89c705 38 {
frankvnk 16:784a071dec0e 39 // Structs for storing touchpanel calibration data.
frankvnk 16:784a071dec0e 40 // Can be written to external storage (eg : eeprom),
frankvnk 16:784a071dec0e 41 // read back on startup and written to the touchpanel.
frankvnk 16:784a071dec0e 42 // As a result, the real calibration only needs to be done once.
frankvnk 16:784a071dec0e 43 Matrix matrix;
frankvnk 16:784a071dec0e 44 Coordinate ScreenSample[3];
frankvnk 16:784a071dec0e 45
frankvnk 9:3e117b89c705 46 unsigned short LCD_id;
frankvnk 9:3e117b89c705 47 TFT.claim(stdout); // send stdout to the TFT display
frankvnk 15:5059751d2fa2 48 // Disable stdout buffering, allows us to omit \n with printf.
frankvnk 15:5059751d2fa2 49 // More info at http://www.cplusplus.com/reference/cstdio/setvbuf/
frankvnk 15:5059751d2fa2 50 setvbuf ( stdout , NULL , _IONBF , NULL );
frankvnk 9:3e117b89c705 51
frankvnk 9:3e117b89c705 52 TFT.background(Black); // set background to black
frankvnk 9:3e117b89c705 53 TFT.foreground(White); // set chars to white
frankvnk 9:3e117b89c705 54
frankvnk 9:3e117b89c705 55
frankvnk 9:3e117b89c705 56 // LCD demo
frankvnk 9:3e117b89c705 57 // first show the 4 directions
frankvnk 9:3e117b89c705 58 TFT.cls();
frankvnk 9:3e117b89c705 59 TFT.set_font((unsigned char*) Arial12x12);
frankvnk 9:3e117b89c705 60 TFT.set_orientation(0);
frankvnk 9:3e117b89c705 61 TFT.locate(0,0);
frankvnk 10:d07f76421408 62 printf(" Hello Mbed 0");
frankvnk 9:3e117b89c705 63 TFT.set_orientation(1);
frankvnk 9:3e117b89c705 64 TFT.locate(0,0);
frankvnk 10:d07f76421408 65 printf(" Hello Mbed 1");
frankvnk 9:3e117b89c705 66 TFT.set_orientation(2);
frankvnk 9:3e117b89c705 67 TFT.locate(0,0);
frankvnk 10:d07f76421408 68 printf(" Hello Mbed 2");
frankvnk 9:3e117b89c705 69 TFT.set_orientation(3);
frankvnk 9:3e117b89c705 70 TFT.locate(0,0);
frankvnk 10:d07f76421408 71 printf(" Hello Mbed 3");
frankvnk 9:3e117b89c705 72 TFT.set_orientation(1);
frankvnk 9:3e117b89c705 73 TFT.set_font((unsigned char*) Arial24x23);
frankvnk 9:3e117b89c705 74 TFT.locate(50,100);
frankvnk 10:d07f76421408 75 printf("TFT orientation");
frankvnk 9:3e117b89c705 76
frankvnk 9:3e117b89c705 77 wait(2);
frankvnk 9:3e117b89c705 78
frankvnk 9:3e117b89c705 79 // draw some graphics
frankvnk 9:3e117b89c705 80 TFT.cls();
frankvnk 9:3e117b89c705 81 TFT.set_orientation(1);
frankvnk 9:3e117b89c705 82 TFT.set_font((unsigned char*) Arial24x23);
frankvnk 9:3e117b89c705 83 TFT.locate(120,115);
frankvnk 10:d07f76421408 84 printf("Graphic");
frankvnk 9:3e117b89c705 85 TFT.line(0,0,100,200,Green);
frankvnk 9:3e117b89c705 86 TFT.rect(100,50,50,50,Red);
frankvnk 9:3e117b89c705 87 TFT.fillrect(180,25,40,45,Blue);
frankvnk 9:3e117b89c705 88 TFT.draw_ellipse(80, 150, 33, 33, White);
frankvnk 9:3e117b89c705 89 TFT.fill_ellipse(80, 50, 33, 33, White);
frankvnk 9:3e117b89c705 90 wait(2);
frankvnk 9:3e117b89c705 91 TFT.cls();
frankvnk 9:3e117b89c705 92 TFT.draw_ellipse(160, 120, 100, 50, Yellow);
frankvnk 9:3e117b89c705 93 TFT.draw_ellipse(160, 120, 100, 100, Blue);
frankvnk 9:3e117b89c705 94 TFT.fill_ellipse(160, 120, 80, 40, Green);
frankvnk 9:3e117b89c705 95 wait(2);
frankvnk 9:3e117b89c705 96
frankvnk 9:3e117b89c705 97 // bigger text
frankvnk 9:3e117b89c705 98 TFT.foreground(White);
frankvnk 9:3e117b89c705 99 TFT.background(Blue);
frankvnk 9:3e117b89c705 100 TFT.cls();
frankvnk 9:3e117b89c705 101 TFT.set_font((unsigned char*) Arial24x23);
frankvnk 9:3e117b89c705 102 TFT.locate(0,0);
frankvnk 10:d07f76421408 103 printf("Different Fonts :");
frankvnk 9:3e117b89c705 104
frankvnk 9:3e117b89c705 105 TFT.set_font((unsigned char*) Neu42x35);
frankvnk 9:3e117b89c705 106 TFT.locate(0,50);
frankvnk 10:d07f76421408 107 printf("Hello");
frankvnk 9:3e117b89c705 108 TFT.set_font((unsigned char*) Arial24x23);
frankvnk 9:3e117b89c705 109 TFT.locate(50,100);
frankvnk 10:d07f76421408 110 printf("Hello");
frankvnk 9:3e117b89c705 111 TFT.set_font((unsigned char*) Arial12x12);
frankvnk 9:3e117b89c705 112 TFT.locate(55,150);
frankvnk 10:d07f76421408 113 printf("Hello");
frankvnk 9:3e117b89c705 114
frankvnk 9:3e117b89c705 115 TFT.set_orientation(2);
frankvnk 9:3e117b89c705 116 TFT.set_font((unsigned char*) Arial24x23);
frankvnk 9:3e117b89c705 117 TFT.locate(10,10);
frankvnk 10:d07f76421408 118 printf("Hi mbed");
frankvnk 9:3e117b89c705 119 wait(2);
frankvnk 9:3e117b89c705 120
frankvnk 9:3e117b89c705 121 // mbed logo
frankvnk 9:3e117b89c705 122 TFT.set_orientation(1);
frankvnk 9:3e117b89c705 123 TFT.background(Black);
frankvnk 9:3e117b89c705 124 TFT.cls();
frankvnk 9:3e117b89c705 125 TFT.Bitmap(90,90,172,55,p1);
frankvnk 9:3e117b89c705 126
frankvnk 9:3e117b89c705 127 // Read LCD ID
frankvnk 9:3e117b89c705 128 TFT.set_orientation(0);
frankvnk 9:3e117b89c705 129 LCD_id = TFT.Read_ID();
frankvnk 9:3e117b89c705 130 TFT.locate(10,10);
frankvnk 10:d07f76421408 131 printf("LCD: ILI%04X", LCD_id);
frankvnk 9:3e117b89c705 132 wait(2);
frankvnk 9:3e117b89c705 133
frankvnk 9:3e117b89c705 134 // RGB color wheel demo (cycle through all colors)
frankvnk 9:3e117b89c705 135 TFT.cls();
frankvnk 9:3e117b89c705 136 TFT.foreground(Yellow); // set chars to yellow
frankvnk 9:3e117b89c705 137 TFT.set_font((unsigned char*) Arial12x12);
frankvnk 9:3e117b89c705 138 TFT.locate(10,10);
frankvnk 10:d07f76421408 139 printf("RGB color wheel (2x)");
frankvnk 9:3e117b89c705 140
frankvnk 9:3e117b89c705 141 uint8_t r = 255, g = 0, b = 0, step = 1, i;
frankvnk 9:3e117b89c705 142 for (i=0;i<2;i++)
frankvnk 9:3e117b89c705 143 {
frankvnk 9:3e117b89c705 144 for(;g<255;g+=step) {TFT.fillrect(70,110,100,100,RGB565CONVERT(r, g, b));} // Cycle from FF0000 to FFFF00 : red to yellow
frankvnk 9:3e117b89c705 145 for(;r>0;r-=step) {TFT.fillrect(70,110,100,100,RGB565CONVERT(r, g, b));} // Cycle from FFFF00 to 00FF00 : yellow to green
frankvnk 9:3e117b89c705 146 for(;b<255;b+=step) {TFT.fillrect(70,110,100,100,RGB565CONVERT(r, g, b));} // Cycle from 00FF00 to 00FFFF : green to cyan
frankvnk 9:3e117b89c705 147 for(;g>0;g-=step) {TFT.fillrect(70,110,100,100,RGB565CONVERT(r, g, b));} // Cycle from 00FFFF to 0000FF : cyan to blue
frankvnk 9:3e117b89c705 148 for(;r<255;r+=step) {TFT.fillrect(70,110,100,100,RGB565CONVERT(r, g, b));} // Cycle from 0000FF to FF00FF : blue to purple
frankvnk 9:3e117b89c705 149 for(;b>0;b-=step) {TFT.fillrect(70,110,100,100,RGB565CONVERT(r, g, b));} // Cycle from FF00FF to FF0000 : purple to red
frankvnk 9:3e117b89c705 150 }
frankvnk 9:3e117b89c705 151 wait(2);
frankvnk 9:3e117b89c705 152
frankvnk 9:3e117b89c705 153 // Touchpanel demo
frankvnk 9:3e117b89c705 154 TP.TouchPanel_Calibrate();
frankvnk 9:3e117b89c705 155 TFT.set_font((unsigned char*) Arial12x12);
frankvnk 9:3e117b89c705 156 TFT.set_orientation(0);
frankvnk 16:784a071dec0e 157
frankvnk 16:784a071dec0e 158 TFT.cls();
frankvnk 16:784a071dec0e 159 TFT.locate(0,20);
frankvnk 16:784a071dec0e 160 // read calibration results
frankvnk 16:784a071dec0e 161 TP.GetCalibration(&matrix, &ScreenSample[0]);
frankvnk 16:784a071dec0e 162 printf("Read calibration results.\n");
frankvnk 16:784a071dec0e 163 printf("matrix.An = %d\n", matrix.An);
frankvnk 16:784a071dec0e 164 printf("matrix.Bn = %d\n", matrix.Bn);
frankvnk 16:784a071dec0e 165 printf("matrix.Cn = %d\n", matrix.Cn);
frankvnk 16:784a071dec0e 166 printf("matrix.Dn = %d\n", matrix.Dn);
frankvnk 16:784a071dec0e 167 printf("matrix.En = %d\n", matrix.En);
frankvnk 16:784a071dec0e 168 printf("matrix.Fn = %d\n", matrix.Fn);
frankvnk 16:784a071dec0e 169 printf("matrix.Di = %d\n", matrix.Divider);
frankvnk 16:784a071dec0e 170 for (i=0;i<3;i++)
frankvnk 16:784a071dec0e 171 printf("sample x[%d] = %d\nsample y[%d] = %d\n", i, ScreenSample[i].x, i, ScreenSample[i].y);
frankvnk 16:784a071dec0e 172 // Write calibration results
frankvnk 16:784a071dec0e 173 printf("\nWrite calibration results...\n");
frankvnk 16:784a071dec0e 174 TP.SetCalibration(&matrix, &ScreenSample[0]);
frankvnk 16:784a071dec0e 175 printf("Done.\nTouch panel to read again.\n");
frankvnk 16:784a071dec0e 176 while(TP._tp_irq);
frankvnk 16:784a071dec0e 177 // read calibration results
frankvnk 16:784a071dec0e 178 TFT.cls();
frankvnk 16:784a071dec0e 179 TFT.locate(0,20);
frankvnk 16:784a071dec0e 180 printf("Calibration results.\n\n");
frankvnk 16:784a071dec0e 181 printf("matrix.An = %d\n", matrix.An);
frankvnk 16:784a071dec0e 182 printf("matrix.Bn = %d\n", matrix.Bn);
frankvnk 16:784a071dec0e 183 printf("matrix.Cn = %d\n", matrix.Cn);
frankvnk 16:784a071dec0e 184 printf("matrix.Dn = %d\n", matrix.Dn);
frankvnk 16:784a071dec0e 185 printf("matrix.En = %d\n", matrix.En);
frankvnk 16:784a071dec0e 186 printf("matrix.Fn = %d\n", matrix.Fn);
frankvnk 16:784a071dec0e 187 printf("matrix.Di = %d\n", matrix.Divider);
frankvnk 16:784a071dec0e 188 for (i=0;i<3;i++)
frankvnk 16:784a071dec0e 189 printf("sample x[%d] = %d\nsample y[%d] = %d\n", i, ScreenSample[i].x, i, ScreenSample[i].y);
frankvnk 16:784a071dec0e 190
frankvnk 9:3e117b89c705 191 TFT.locate(0,0);
frankvnk 10:d07f76421408 192 printf(" X:");
frankvnk 9:3e117b89c705 193 TFT.locate(70,0);
frankvnk 10:d07f76421408 194 printf(" Y:");
frankvnk 9:3e117b89c705 195 while (1)
frankvnk 9:3e117b89c705 196 {
frankvnk 9:3e117b89c705 197 if (!TP._tp_irq)
frankvnk 9:3e117b89c705 198 {
frankvnk 15:5059751d2fa2 199 if (TP.Read_Ads7843())
frankvnk 9:3e117b89c705 200 {
frankvnk 9:3e117b89c705 201 TP.getDisplayPoint() ;
frankvnk 9:3e117b89c705 202 TP.TP_DrawPoint(TP.display.x,TP.display.y, Blue);
frankvnk 9:3e117b89c705 203 TFT.locate(25,0);
frankvnk 10:d07f76421408 204 printf("%03d",TP.display.x);
frankvnk 9:3e117b89c705 205 TFT.locate(95,0);
frankvnk 10:d07f76421408 206 printf("%03d",TP.display.y);
frankvnk 9:3e117b89c705 207 // Touchscreen area is larger than LCD area.
frankvnk 9:3e117b89c705 208 // We use the bottom area outside the LCD area to clear the screen (y value > 320).
frankvnk 9:3e117b89c705 209 if (TP.display.y > 320)
frankvnk 9:3e117b89c705 210 {
frankvnk 9:3e117b89c705 211 TFT.cls();
frankvnk 9:3e117b89c705 212 TFT.locate(0,0);
frankvnk 10:d07f76421408 213 printf(" X:");
frankvnk 9:3e117b89c705 214 TFT.locate(70,0);
frankvnk 10:d07f76421408 215 printf(" Y:");
frankvnk 9:3e117b89c705 216 }
frankvnk 9:3e117b89c705 217 }
frankvnk 9:3e117b89c705 218 }
frankvnk 9:3e117b89c705 219 }
frankvnk 9:3e117b89c705 220 }
frankvnk 10:d07f76421408 221
frankvnk 10:d07f76421408 222 /*
frankvnk 10:d07f76421408 223 // =========================================================================================================
frankvnk 10:d07f76421408 224 // ================================================== TWO ==================================================
frankvnk 10:d07f76421408 225 // =========================================================================================================
frankvnk 10:d07f76421408 226
frankvnk 10:d07f76421408 227 #include "stdio.h"
frankvnk 10:d07f76421408 228 #include "mbed.h"
frankvnk 10:d07f76421408 229 #include "SDFileSystem.h"
frankvnk 10:d07f76421408 230 #include "Mini_DK.h"
frankvnk 10:d07f76421408 231
frankvnk 10:d07f76421408 232 // SD card
frankvnk 10:d07f76421408 233 SDFileSystem sd(SD_SDI, SD_SDO, SD_SCK, SD_CS, "sd");
frankvnk 10:d07f76421408 234 // TFT -> mosi, miso, sclk, cs
frankvnk 10:d07f76421408 235 SPI_TFT TFT(LCD_SDI, LCD_SDO, LCD_SCK, LCD_CS,"TFT");
frankvnk 10:d07f76421408 236 // ADS7843 -> mosi, miso, sclk, cs, irq, SPI_TFT
frankvnk 10:d07f76421408 237 TouchScreenADS7843 TP(TP_SDI ,TP_SDO ,TP_SCK ,TP_CS ,TP_IRQ, &TFT);
frankvnk 10:d07f76421408 238
frankvnk 10:d07f76421408 239 int main()
frankvnk 10:d07f76421408 240 {
frankvnk 10:d07f76421408 241 TFT.background(Black); // set background to black
frankvnk 10:d07f76421408 242 TFT.foreground(White); // set chars to white
frankvnk 10:d07f76421408 243
frankvnk 10:d07f76421408 244 TFT.claim(stdout); // send stdout to the TFT display
frankvnk 15:5059751d2fa2 245 // Disable stdout buffering, allows us to omit \n with printf.
frankvnk 15:5059751d2fa2 246 // More info at http://www.cplusplus.com/reference/cstdio/setvbuf/
frankvnk 15:5059751d2fa2 247 setvbuf ( stdout , NULL , _IONBF , NULL );
frankvnk 15:5059751d2fa2 248
frankvnk 10:d07f76421408 249 TFT.cls();
frankvnk 10:d07f76421408 250 TFT.set_font((unsigned char*) Arial12x12);
frankvnk 10:d07f76421408 251 TFT.set_orientation(1);
frankvnk 10:d07f76421408 252
frankvnk 10:d07f76421408 253 DISABLE_LCD_MISO;
frankvnk 10:d07f76421408 254 int dummy = TFT.Bitmap(0,0,"/sd/house.bmp");
frankvnk 10:d07f76421408 255 ENABLE_LCD_MISO;
frankvnk 10:d07f76421408 256 TFT.locate(0,0);
frankvnk 10:d07f76421408 257 printf("%02d",dummy);
frankvnk 10:d07f76421408 258 }
frankvnk 10:d07f76421408 259 */
frankvnk 10:d07f76421408 260
frankvnk 10:d07f76421408 261 /*
frankvnk 10:d07f76421408 262 // =========================================================================================================
frankvnk 10:d07f76421408 263 // ================================================= THREE =================================================
frankvnk 10:d07f76421408 264 // =========================================================================================================
frankvnk 10:d07f76421408 265
frankvnk 10:d07f76421408 266 #include "stdio.h"
frankvnk 10:d07f76421408 267 #include "mbed.h"
frankvnk 10:d07f76421408 268 #include "SDFileSystem.h"
frankvnk 10:d07f76421408 269 #include "Mini_DK.h"
frankvnk 10:d07f76421408 270
frankvnk 10:d07f76421408 271 // SD card
frankvnk 10:d07f76421408 272 SDFileSystem sd(SD_SDI, SD_SDO, SD_SCK, SD_CS, "sd");
frankvnk 10:d07f76421408 273 // TFT -> mosi, miso, sclk, cs
frankvnk 10:d07f76421408 274 SPI_TFT TFT(LCD_SDI, LCD_SDO, LCD_SCK, LCD_CS,"TFT");
frankvnk 10:d07f76421408 275 // ADS7843 -> mosi, miso, sclk, cs, irq, SPI_TFT
frankvnk 10:d07f76421408 276 TouchScreenADS7843 TP(TP_SDI ,TP_SDO ,TP_SCK ,TP_CS ,TP_IRQ, &TFT);
frankvnk 10:d07f76421408 277
frankvnk 10:d07f76421408 278
frankvnk 10:d07f76421408 279 Timer timer;
frankvnk 10:d07f76421408 280
frankvnk 10:d07f76421408 281 int main()
frankvnk 10:d07f76421408 282 {
frankvnk 10:d07f76421408 283 DISABLE_LCD_MISO;
frankvnk 10:d07f76421408 284 TFT.background(Black); // set background to black
frankvnk 10:d07f76421408 285 TFT.foreground(White); // set chars to white
frankvnk 10:d07f76421408 286
frankvnk 10:d07f76421408 287 TFT.claim(stdout); // send stdout to the TFT display
frankvnk 15:5059751d2fa2 288 // Disable stdout buffering, allows us to omit \n with printf.
frankvnk 15:5059751d2fa2 289 // More info at http://www.cplusplus.com/reference/cstdio/setvbuf/
frankvnk 15:5059751d2fa2 290 setvbuf ( stdout , NULL , _IONBF , NULL );
frankvnk 15:5059751d2fa2 291
frankvnk 10:d07f76421408 292 TFT.cls();
frankvnk 10:d07f76421408 293 TFT.set_font((unsigned char*) Arial12x12);
frankvnk 10:d07f76421408 294 TFT.set_orientation(1);
frankvnk 10:d07f76421408 295
frankvnk 10:d07f76421408 296 TFT.locate(0,200);
frankvnk 10:d07f76421408 297 printf("Loading from SD...");
frankvnk 10:d07f76421408 298 TFT.Bitmap(0,0,"/sd/house.bmp");
frankvnk 10:d07f76421408 299
frankvnk 10:d07f76421408 300 TFT.locate(0,0);
frankvnk 10:d07f76421408 301 printf("Copying to flash...");
frankvnk 10:d07f76421408 302 TFT.fileToFlash("/sd/house.bmp");
frankvnk 10:d07f76421408 303 TFT.locate(0,40);
frankvnk 10:d07f76421408 304 printf("Done: CLS in 2 seconds");
frankvnk 10:d07f76421408 305 wait(2);
frankvnk 10:d07f76421408 306 TFT.backgroundImage(false);
frankvnk 10:d07f76421408 307 TFT.cls();
frankvnk 10:d07f76421408 308 wait(2);
frankvnk 10:d07f76421408 309 TFT.backgroundImage(true);
frankvnk 10:d07f76421408 310
frankvnk 10:d07f76421408 311
frankvnk 10:d07f76421408 312 timer.reset();
frankvnk 10:d07f76421408 313 timer.start();
frankvnk 10:d07f76421408 314 TFT.cls();
frankvnk 10:d07f76421408 315 timer.stop();
frankvnk 10:d07f76421408 316 TFT.foreground(Black);
frankvnk 10:d07f76421408 317 TFT.locate(0,200);
frankvnk 10:d07f76421408 318 printf("Wrote background in %d ms",timer.read_ms());
frankvnk 10:d07f76421408 319 TFT.foreground(Black);
frankvnk 10:d07f76421408 320
frankvnk 10:d07f76421408 321 TFT.set_orientation(3);
frankvnk 10:d07f76421408 322 TFT.locate(0,200);
frankvnk 10:d07f76421408 323 printf("Wrote background in %d ms",timer.read_ms());
frankvnk 10:d07f76421408 324
frankvnk 10:d07f76421408 325 wait(5);
frankvnk 10:d07f76421408 326 TFT.cls();
frankvnk 10:d07f76421408 327 TFT.set_font((unsigned char*) Neu42x35);
frankvnk 10:d07f76421408 328 TFT.locate(0,50);
frankvnk 10:d07f76421408 329 printf("Orient = 3");
frankvnk 10:d07f76421408 330 TFT.set_orientation(0);
frankvnk 10:d07f76421408 331 TFT.locate(0,50);
frankvnk 10:d07f76421408 332 printf("Orient = 0");
frankvnk 10:d07f76421408 333 wait(5);
frankvnk 10:d07f76421408 334
frankvnk 10:d07f76421408 335 TFT.set_orientation(0);
frankvnk 10:d07f76421408 336 TFT.cls();
frankvnk 10:d07f76421408 337 TFT.locate(0,50);
frankvnk 10:d07f76421408 338 printf("Orient = 0");
frankvnk 10:d07f76421408 339
frankvnk 10:d07f76421408 340 while(1);
frankvnk 10:d07f76421408 341 }
frankvnk 15:5059751d2fa2 342 */