Displays JPG named Logo from SD card

Dependencies:   FT800_3 SDFileSystem mbed

Committer:
montgojj
Date:
Fri Aug 05 18:59:54 2016 +0000
Revision:
1:9221588f4198
Parent:
0:d53f428d8f41
Releasing everything for final work day.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
montgojj 0:d53f428d8f41 1 #include "mbed.h"
montgojj 0:d53f428d8f41 2 #include "FT_Platform.h"
montgojj 0:d53f428d8f41 3 #include "FT_color.h"
montgojj 0:d53f428d8f41 4 #include "stdio.h"
montgojj 0:d53f428d8f41 5 #include "float.h"
montgojj 0:d53f428d8f41 6 #include "SDFileSystem.h"
montgojj 0:d53f428d8f41 7
montgojj 0:d53f428d8f41 8 #define SAMAPP_DELAY_BTW_APIS (1000)
montgojj 0:d53f428d8f41 9 #define SAMAPP_ENABLE_DELAY() Ft_Gpu_Hal_Sleep(SAMAPP_DELAY_BTW_APIS)
montgojj 0:d53f428d8f41 10 #define SAMAPP_ENABLE_DELAY_VALUE(x) Ft_Gpu_Hal_Sleep(x)
montgojj 0:d53f428d8f41 11
montgojj 0:d53f428d8f41 12 FT800 TFT(D11,D12,D13,D9,D8,D14);
montgojj 0:d53f428d8f41 13 SDFileSystem sd(D11, D12, D13, D10, "sd");
montgojj 0:d53f428d8f41 14
montgojj 0:d53f428d8f41 15 // global Vars
montgojj 0:d53f428d8f41 16 unsigned int r, b, g;
montgojj 0:d53f428d8f41 17 char buffer[50];
montgojj 0:d53f428d8f41 18
montgojj 0:d53f428d8f41 19 /* function to load jpg file from internal filesystem */
montgojj 0:d53f428d8f41 20 /* into FT800 buffer and decode JPG to bitmap */
montgojj 0:d53f428d8f41 21 /* return 0 if jpg is ok */
montgojj 0:d53f428d8f41 22 /* return x_size and y_size of jpg */
montgojj 0:d53f428d8f41 23
montgojj 0:d53f428d8f41 24 int main()
montgojj 0:d53f428d8f41 25 {
montgojj 0:d53f428d8f41 26 ft_int16_t x_size,y_size;
montgojj 0:d53f428d8f41 27
montgojj 1:9221588f4198 28 TFT.MemWrite(REG_ROTATE,1);
montgojj 1:9221588f4198 29 TFT.Rotate(1);
montgojj 1:9221588f4198 30 //TFT.Calibrate(); // calibrate the touch screen
montgojj 1:9221588f4198 31 TFT.DLstart();
montgojj 1:9221588f4198 32 TFT.DL(CLEAR_COLOR_RGB(255,255,255));
montgojj 1:9221588f4198 33 TFT.DL(CLEAR(1,1,1));
montgojj 1:9221588f4198 34
montgojj 1:9221588f4198 35 TFT.DL(BITMAP_HANDLE(0));
montgojj 1:9221588f4198 36 TFT.Load_jpg("/sd/Logo.jpg",& x_size,& y_size, 0);
montgojj 1:9221588f4198 37
montgojj 1:9221588f4198 38 TFT.DL(DISPLAY()); // Display the image
montgojj 1:9221588f4198 39 TFT.Swap(); // Swap the current display list
montgojj 1:9221588f4198 40 TFT.Flush_Co_Buffer(); // Download the command list into fifo
montgojj 1:9221588f4198 41 TFT.WaitCmdfifo_empty();
montgojj 0:d53f428d8f41 42
montgojj 1:9221588f4198 43 TFT.Track(225, 375, 350, 30, 1);
montgojj 1:9221588f4198 44 TFT.Flush_Co_Buffer(); // Download the commands into fifo
montgojj 1:9221588f4198 45 TFT.WaitCmdfifo_empty(); // Wait till coprocessor completes the operation
montgojj 1:9221588f4198 46 while(1) {
montgojj 1:9221588f4198 47 TFT.DLstart();
montgojj 1:9221588f4198 48 TFT.DL(CLEAR_COLOR_RGB(255,255,255));
montgojj 1:9221588f4198 49 TFT.DL(CLEAR(1,1,1));
montgojj 0:d53f428d8f41 50 TFT.DL(BEGIN(BITMAPS));
montgojj 1:9221588f4198 51 TFT.DL(VERTEX2II(512,50,0,0)); //Write logo (bitmap handle 0) to pixel 512
montgojj 1:9221588f4198 52 TFT.DL(VERTEX_TRANSLATE_X(50*16)); //Translate by 50 pixels
montgojj 1:9221588f4198 53 TFT.DL(VERTEX2II(511,200,0,0)); //Write logo
montgojj 1:9221588f4198 54 TFT.DL(VERTEX_TRANSLATE_X(0*16)); //Translate back
montgojj 1:9221588f4198 55 TFT.DL(DISPLAY()); // Display the image
montgojj 0:d53f428d8f41 56 TFT.Swap(); // Swap the current display list
montgojj 0:d53f428d8f41 57 TFT.Flush_Co_Buffer(); // Download the command list into fifo
montgojj 1:9221588f4198 58 TFT.WaitCmdfifo_empty(); // Wait till coprocessor completes the operation
montgojj 1:9221588f4198 59
montgojj 1:9221588f4198 60
montgojj 1:9221588f4198 61
montgojj 1:9221588f4198 62
montgojj 1:9221588f4198 63
montgojj 1:9221588f4198 64 /*ft_uint8_t tagval = 0;
montgojj 1:9221588f4198 65 TrackRegisterVal = TFT.Rd32(REG_TRACKER); // check if one of the two tracking fields is touched
montgojj 1:9221588f4198 66 tagval = TrackRegisterVal & 0xff;
montgojj 1:9221588f4198 67
montgojj 1:9221588f4198 68
montgojj 1:9221588f4198 69 TFT.DL(COLOR_RGB(0x00,0x7C,0xC4));
montgojj 1:9221588f4198 70 TFT.Text(265, 200, 31, 0, "ITV 1 Pressure");
montgojj 1:9221588f4198 71 TFT.DL(BEGIN(RECTS));
montgojj 1:9221588f4198 72 TFT.DL(VERTEX2F(300*16,265*16));
montgojj 1:9221588f4198 73 TFT.DL(VERTEX2F(505*16,330*16));
montgojj 1:9221588f4198 74 TFT.DL(END());
montgojj 1:9221588f4198 75 TFT.DL(COLOR_RGB(255,255,255));
montgojj 1:9221588f4198 76 sprintf(buffer, "%.1f", ITVpressure1_feedback);
montgojj 1:9221588f4198 77 TFT.Text(325,275,31,0,buffer);
montgojj 1:9221588f4198 78 TFT.Text(415, 275, 31, 0, " PSI");
montgojj 1:9221588f4198 79 ITVpressure1_feedback = 0;
montgojj 1:9221588f4198 80 TFT.DL(COLOR_RGB(255,255,255));
montgojj 1:9221588f4198 81
montgojj 1:9221588f4198 82 TFT.FgColor(COLOR_RGB(0,124,196));
montgojj 1:9221588f4198 83 TFT.BgColor(COLOR_RGB(0,124,196));
montgojj 1:9221588f4198 84 TFT.DL(TAG(1)); // assign TAG value 1
montgojj 1:9221588f4198 85 TFT.Slider(225,375,350,30,0,ITVpressure1_user_input,65535);*/
montgojj 0:d53f428d8f41 86
montgojj 1:9221588f4198 87
montgojj 0:d53f428d8f41 88 }
montgojj 0:d53f428d8f41 89 }
montgojj 0:d53f428d8f41 90
montgojj 0:d53f428d8f41 91
montgojj 0:d53f428d8f41 92