Kevin Leong / Mbed 2 deprecated Program3

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
kkleong
Date:
Sun Nov 15 22:31:19 2020 +0000
Revision:
1:9770f292298c
Parent:
0:e579c6f35abf
Child:
2:1be4e7457636
Added some

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kkleong 0:e579c6f35abf 1 #include "mbed.h"
kkleong 0:e579c6f35abf 2 #include "TS_DISCO_F429ZI.h"
kkleong 0:e579c6f35abf 3 #include "LCD_DISCO_F429ZI.h"
kkleong 0:e579c6f35abf 4
kkleong 0:e579c6f35abf 5 extern "C" uint32_t getQuad ( uint16_t x, uint16_t y);
kkleong 0:e579c6f35abf 6 extern "C" uint32_t swapRedBlue ( uint32_t color);
kkleong 0:e579c6f35abf 7 extern "C" uint32_t toggleAlphaMSB ( uint32_t color);
kkleong 0:e579c6f35abf 8 //extern "C" uint32_t rotateRGBBytes ( uint32_t color);
kkleong 0:e579c6f35abf 9 //extern "C" uint32_t setRGBBits ( uint32_t color, uint8_t n);
kkleong 0:e579c6f35abf 10
kkleong 0:e579c6f35abf 11 LCD_DISCO_F429ZI lcd;
kkleong 0:e579c6f35abf 12 TS_DISCO_F429ZI ts;
kkleong 0:e579c6f35abf 13
kkleong 0:e579c6f35abf 14 int main()
kkleong 0:e579c6f35abf 15 {
kkleong 0:e579c6f35abf 16 TS_StateTypeDef TS_State;
kkleong 0:e579c6f35abf 17 uint16_t x, y;
kkleong 0:e579c6f35abf 18 uint8_t text[30];
kkleong 1:9770f292298c 19 uint8_t status;
kkleong 0:e579c6f35abf 20
kkleong 0:e579c6f35abf 21 BSP_LCD_SetFont(&Font20);
kkleong 1:9770f292298c 22
kkleong 1:9770f292298c 23 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
kkleong 0:e579c6f35abf 24
kkleong 1:9770f292298c 25 if (status != TS_OK)
kkleong 1:9770f292298c 26 {
kkleong 1:9770f292298c 27 lcd.Clear(LCD_COLOR_RED);
kkleong 1:9770f292298c 28 lcd.SetBackColor(LCD_COLOR_RED);
kkleong 1:9770f292298c 29 lcd.SetTextColor(LCD_COLOR_WHITE);
kkleong 1:9770f292298c 30 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
kkleong 1:9770f292298c 31 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
kkleong 1:9770f292298c 32 }
kkleong 1:9770f292298c 33 else
kkleong 1:9770f292298c 34 {
kkleong 1:9770f292298c 35 lcd.Clear(LCD_COLOR_GREEN);
kkleong 1:9770f292298c 36 lcd.SetBackColor(LCD_COLOR_GREEN);
kkleong 1:9770f292298c 37 lcd.SetTextColor(LCD_COLOR_WHITE);
kkleong 1:9770f292298c 38 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
kkleong 1:9770f292298c 39 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
kkleong 1:9770f292298c 40 }
kkleong 1:9770f292298c 41
kkleong 1:9770f292298c 42 wait(1);
kkleong 1:9770f292298c 43 lcd.Clear(LCD_COLOR_BLUE);
kkleong 1:9770f292298c 44 lcd.SetBackColor(LCD_COLOR_BLUE);
kkleong 1:9770f292298c 45
kkleong 1:9770f292298c 46
kkleong 0:e579c6f35abf 47 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Project 3!!!", CENTER_MODE);
kkleong 1:9770f292298c 48
kkleong 0:e579c6f35abf 49 wait(1);
kkleong 1:9770f292298c 50
kkleong 0:e579c6f35abf 51 int xSize = lcd.GetXSize()/2;
kkleong 0:e579c6f35abf 52 int ySize = lcd.GetYSize()/2;
kkleong 0:e579c6f35abf 53
kkleong 0:e579c6f35abf 54 uint32_t blue = 0xFF0000FF;
kkleong 0:e579c6f35abf 55 uint32_t green = 0xFF00FF00;
kkleong 0:e579c6f35abf 56 uint32_t red = 0xFFFF0000;
kkleong 0:e579c6f35abf 57 uint32_t yellow = 0xFFFFFF00;
kkleong 0:e579c6f35abf 58
kkleong 0:e579c6f35abf 59 lcd.SetTextColor(blue); //blue
kkleong 0:e579c6f35abf 60 lcd.FillRect(0, 0, xSize, ySize);
kkleong 0:e579c6f35abf 61 lcd.SetTextColor(green); //green
kkleong 0:e579c6f35abf 62 lcd.FillRect(0, ySize, xSize, ySize);
kkleong 0:e579c6f35abf 63 lcd.SetTextColor(red); //red
kkleong 0:e579c6f35abf 64 lcd.FillRect(xSize, 0, xSize, ySize);
kkleong 0:e579c6f35abf 65 lcd.SetTextColor(yellow); //yellow
kkleong 0:e579c6f35abf 66 lcd.FillRect(xSize, ySize, xSize, ySize);
kkleong 0:e579c6f35abf 67
kkleong 0:e579c6f35abf 68 while(1)
kkleong 0:e579c6f35abf 69 {
kkleong 0:e579c6f35abf 70 ts.GetState(&TS_State);
kkleong 0:e579c6f35abf 71 if (TS_State.TouchDetected)
kkleong 0:e579c6f35abf 72 {
kkleong 0:e579c6f35abf 73 x = TS_State.X;
kkleong 0:e579c6f35abf 74 y = TS_State.Y;
kkleong 0:e579c6f35abf 75 sprintf((char*)text, "x=%d y=%d ", x, y);
kkleong 1:9770f292298c 76 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
kkleong 1:9770f292298c 77 }
kkleong 1:9770f292298c 78
kkleong 1:9770f292298c 79 int quad = getQuad(x, y);
kkleong 1:9770f292298c 80
kkleong 0:e579c6f35abf 81
kkleong 0:e579c6f35abf 82 if(quad == 1){
kkleong 0:e579c6f35abf 83 blue = swapRedBlue(blue);
kkleong 0:e579c6f35abf 84 lcd.SetTextColor(blue);
kkleong 0:e579c6f35abf 85 lcd.FillRect(0, 0, xSize, ySize);
kkleong 0:e579c6f35abf 86 }
kkleong 0:e579c6f35abf 87 else if(quad == 2){
kkleong 0:e579c6f35abf 88 red = toggleAlphaMSB(red);
kkleong 0:e579c6f35abf 89 lcd.SetTextColor(red);
kkleong 0:e579c6f35abf 90 lcd.FillRect(xSize, 0, xSize, ySize);
kkleong 0:e579c6f35abf 91 }
kkleong 0:e579c6f35abf 92 else if(quad == 3){
kkleong 1:9770f292298c 93
kkleong 0:e579c6f35abf 94 }
kkleong 0:e579c6f35abf 95 else if(quad == 4){
kkleong 0:e579c6f35abf 96
kkleong 0:e579c6f35abf 97 }
kkleong 0:e579c6f35abf 98
kkleong 1:9770f292298c 99 wait(.2);
kkleong 0:e579c6f35abf 100 }
kkleong 0:e579c6f35abf 101 }