hello world
Dependencies: BSP_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed
main.cpp
- Committer:
- asifcse14
- Date:
- 2018-07-03
- Revision:
- 0:be79e80adffc
File content as of revision 0:be79e80adffc:
#include "mbed.h" #include "TS_DISCO_F429ZI.h" #include "LCD_DISCO_F429ZI.h" #include "math.h" #define PI 3.14159265 LCD_DISCO_F429ZI lcd; TS_DISCO_F429ZI ts; int main() { TS_StateTypeDef TS_State; uint16_t x, y; uint8_t text[30]; uint8_t status; int p = 0; BSP_LCD_SetFont(&Font20); //lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Special Thanks", CENTER_MODE); //lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"To", CENTER_MODE); //lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"Ejaz Jamil Sir", CENTER_MODE); //wait(2); status = ts.Init(lcd.GetXSize(), lcd.GetYSize()); if (status != TS_OK) { lcd.Clear(LCD_COLOR_RED); lcd.SetBackColor(LCD_COLOR_RED); lcd.SetTextColor(LCD_COLOR_WHITE); lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DRIVER FAIL", CENTER_MODE); } else { lcd.Clear(LCD_COLOR_GREEN); lcd.SetBackColor(LCD_COLOR_GREEN); lcd.SetTextColor(LCD_COLOR_WHITE); lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DRIVER OK", CENTER_MODE); } //wait(2); lcd.Clear(LCD_COLOR_WHITE); lcd.SetBackColor(LCD_COLOR_WHITE); lcd.SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetFont(&Font24); lcd.DisplayStringAt(0, 10, (uint8_t *)"obaak App", CENTER_MODE); BSP_LCD_SetFont(&Font20); lcd.DisplayStringAt(0, 44, (uint8_t *)"Select Menu", CENTER_MODE); BSP_LCD_SetFont(&Font16); lcd.SetTextColor(LCD_COLOR_GREEN); lcd.FillRect(75, 83, 80, 30); lcd.SetBackColor(LCD_COLOR_GREEN); lcd.SetTextColor(LCD_COLOR_WHITE); lcd.DisplayStringAt(0, 90, (uint8_t *)"sin(x)", CENTER_MODE); BSP_LCD_SetFont(&Font16); lcd.SetTextColor(LCD_COLOR_GREEN); lcd.FillRect(75, 120, 80, 30); lcd.SetBackColor(LCD_COLOR_GREEN); lcd.SetTextColor(LCD_COLOR_WHITE); lcd.DisplayStringAt(0, 127, (uint8_t *)"cos(x)", CENTER_MODE); /* BSP_LCD_SetFont(&Font16); lcd.SetTextColor(LCD_COLOR_RED); lcd.FillRect(30, 160, 170, 30); lcd.SetBackColor(LCD_COLOR_RED); lcd.SetTextColor(LCD_COLOR_WHITE); lcd.DisplayStringAt(0, 167, (uint8_t *)"sin(x) & cos(x)", CENTER_MODE); */ BSP_LCD_SetFont(&Font16); lcd.SetTextColor(LCD_COLOR_BLUE); lcd.FillRect(75, 160, 80, 30); lcd.SetBackColor(LCD_COLOR_BLUE); lcd.SetTextColor(LCD_COLOR_WHITE); lcd.DisplayStringAt(0, 167, (uint8_t *)"ECG", CENTER_MODE); lcd.SetTextColor(LCD_COLOR_BLACK); lcd.DrawLine(10, 250, 30, 250); lcd.DrawLine(30, 250, 30, 270); lcd.DrawLine(30, 252, 15, 261); lcd.DrawLine(15, 261, 30, 270); lcd.DrawLine(30, 250, 35, 250); lcd.DrawLine(35, 250, 35, 270); lcd.DrawCircle(43, 255, 5); lcd.DrawLine(37, 261, 47, 270); lcd.DrawLine(50, 250, 70, 250); lcd.DrawLine(70, 250, 70, 270); //lcd.DrawLine(30, 252, 15, 261); //lcd.DrawLine(15, 261, 30, 270); lcd.DrawLine(70, 250, 75, 250); lcd.DrawLine(75, 250, 75, 270); //lcd.DrawPixel(64, 259, LCD_COLOR_RED); lcd.DrawPixel(69, 263, LCD_COLOR_BLACK); lcd.DrawPixel(68, 262, LCD_COLOR_BLACK); lcd.DrawPixel(67, 261, LCD_COLOR_BLACK); lcd.DrawPixel(66, 260, LCD_COLOR_BLACK); lcd.DrawPixel(65, 260, LCD_COLOR_BLACK); lcd.DrawPixel(64, 260, LCD_COLOR_BLACK); lcd.DrawPixel(63, 261, LCD_COLOR_BLACK); lcd.DrawPixel(62, 262, LCD_COLOR_BLACK); lcd.DrawPixel(61, 263, LCD_COLOR_BLACK); lcd.DrawLine(61, 263, 61, 267); lcd.DrawPixel(60, 263, LCD_COLOR_BLACK); lcd.DrawPixel(59, 262, LCD_COLOR_BLACK); lcd.DrawPixel(58, 261, LCD_COLOR_BLACK); lcd.DrawPixel(57, 260, LCD_COLOR_BLACK); lcd.DrawPixel(56, 260, LCD_COLOR_BLACK); lcd.DrawPixel(55, 260, LCD_COLOR_BLACK); lcd.DrawPixel(54, 261, LCD_COLOR_BLACK); lcd.DrawPixel(53, 262, LCD_COLOR_BLACK); lcd.DrawPixel(52, 263, LCD_COLOR_BLACK); lcd.DrawLine(52, 263, 52, 268); lcd.DrawCircle(54, 267, 2); lcd.DrawLine(75, 250, 85, 250); lcd.DrawPixel(84, 251, LCD_COLOR_BLACK); lcd.DrawPixel(83, 252, LCD_COLOR_BLACK); lcd.DrawPixel(82, 253, LCD_COLOR_BLACK); lcd.DrawPixel(81, 254, LCD_COLOR_BLACK); lcd.DrawPixel(80, 255, LCD_COLOR_BLACK); lcd.DrawPixel(79.5, 256, LCD_COLOR_BLACK); lcd.DrawPixel(79, 257, LCD_COLOR_BLACK); lcd.DrawPixel(78.5, 258, LCD_COLOR_BLACK); lcd.DrawPixel(78, 259, LCD_COLOR_BLACK); lcd.DrawPixel(77.5, 260, LCD_COLOR_BLACK); lcd.DrawPixel(77.5, 261, LCD_COLOR_BLACK); lcd.DrawPixel(78, 262, LCD_COLOR_BLACK); lcd.DrawPixel(78.5, 263, LCD_COLOR_BLACK); lcd.DrawPixel(79, 264, LCD_COLOR_BLACK); lcd.DrawPixel(79.5, 265, LCD_COLOR_BLACK); lcd.DrawPixel(80, 266, LCD_COLOR_BLACK); lcd.DrawPixel(81, 267, LCD_COLOR_BLACK); lcd.DrawPixel(82, 268, LCD_COLOR_BLACK); lcd.DrawPixel(83, 269, LCD_COLOR_BLACK); lcd.DrawPixel(84, 270, LCD_COLOR_BLACK); lcd.DrawCircle(86, 268, 2); while(1) { ts.GetState(&TS_State); if (TS_State.TouchDetected) { x = TS_State.X; y = TS_State.Y; if(x>74 && x<156){ if(y>82 && y<114){ //sin p = 1;break; } else if(y>119 && y<151){ //cos p = 2;break; } else if(y>159 && y<191){ //ecg p = 4;break; } }/*else if(x>29 && x<201 && y>159 && y<191){ //sin & cos p = 3;break; }*/ //sprintf((char*)text, "x=%d y=%d ", x, y); //lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE); } } lcd.SetBackColor(LCD_COLOR_WHITE); if(p==1){ while(1){ lcd.Clear(LCD_COLOR_WHITE); lcd.SetTextColor(LCD_COLOR_BLUE); lcd.DrawLine(10, 50, 10, 200); //lcd.DrawLine(20, 0, 20, 320); //lcd.DrawLine(30, 0, 30, 320); lcd.DrawLine(10, 125, 235, 125); //lcd.DrawLine(0, 20, 240, 20); //lcd.DrawLine(0, 30, 240, 30); BSP_LCD_SetFont(&Font8); lcd.DisplayStringAt(0, 50, (uint8_t *)"+1", LEFT_MODE); lcd.DisplayStringAt(0, 123, (uint8_t *)" 0", LEFT_MODE); lcd.DisplayStringAt(0, 198, (uint8_t *)"-1", LEFT_MODE); double val, out; int b = 0; for(double y = 0; y<225; y=y+0.625){ val = PI / 180.0; val = val * b; out = sin(-val)*75.0; double temp = out*1.33*(-1); out+=125; double c = cos(val)*75.0; c+=125; double ttt = y + 10.0; lcd.DrawPixel(ttt, out, LCD_COLOR_RED); //lcd.DrawPixel(ttt, c, LCD_COLOR_RED); b++; BSP_LCD_SetFont(&Font12); uint8_t text[30]; sprintf((char*)text, "x:%d(deg) sin(x):%.2lf", b, temp/100); lcd.DisplayStringAt(0, 280, (uint8_t *)&text, LEFT_MODE); //x++; wait(0.1); b++; } wait(2); } }else if(p==2){ while(1){ lcd.Clear(LCD_COLOR_WHITE); lcd.SetTextColor(LCD_COLOR_BLUE); lcd.DrawLine(10, 50, 10, 200); //lcd.DrawLine(20, 0, 20, 320); //lcd.DrawLine(30, 0, 30, 320); lcd.DrawLine(10, 125, 235, 125); //lcd.DrawLine(0, 20, 240, 20); //lcd.DrawLine(0, 30, 240, 30); BSP_LCD_SetFont(&Font8); lcd.DisplayStringAt(0, 50, (uint8_t *)"+1", LEFT_MODE); lcd.DisplayStringAt(0, 123, (uint8_t *)" 0", LEFT_MODE); lcd.DisplayStringAt(0, 198, (uint8_t *)"-1", LEFT_MODE); double val, out; int b = 0; for(double y = 0; y<450; y=y+0.3125){ val = PI / 180.0; val = val * b; out = cos(val)*75.0*(-1); double temp = out*1.33*(-1); out+=125; double c = cos(val)*75.0; c+=125; double ttt = y + 10.0; lcd.DrawPixel(ttt, out, LCD_COLOR_RED); //lcd.DrawPixel(ttt, c, LCD_COLOR_RED); b++; BSP_LCD_SetFont(&Font12); uint8_t text[30]; sprintf((char*)text, "x:%d(deg) cos(x):%.2lf", b, temp/100); lcd.DisplayStringAt(0, 280, (uint8_t *)&text, LEFT_MODE); //x++; wait(0.1); b++; } wait(2); } }else if(p==3){ while(1){ } }else if(p==4){ // ECG Demo lcd.SetTextColor(LCD_COLOR_RED); while(1){ lcd.Clear(LCD_COLOR_WHITE); /* lcd.DrawLine(10, 160, 20, 160);lcd.DrawLine(10, 161, 20, 161);wait(0.1); lcd.DrawLine(20, 160, 45, 85);lcd.DrawLine(21, 160, 46, 85);wait(0.1); lcd.DrawLine(45, 85, 70, 235);lcd.DrawLine(46, 85, 71, 235);wait(0.1); lcd.DrawLine(70, 235, 95, 140);lcd.DrawLine(71, 235, 96, 140);wait(0.1); lcd.DrawLine(95, 140, 100, 170);lcd.DrawLine(96, 140, 101, 170);wait(0.1); lcd.DrawLine(100, 170, 105, 160);lcd.DrawLine(101, 170, 106, 160);wait(0.1); lcd.DrawLine( 105, 160, 115, 160);lcd.DrawLine( 106, 160, 116, 160);wait(0.1); lcd.DrawLine(10+105, 160, 20+105, 160);lcd.DrawLine(11+105, 161, 21+105, 161);wait(0.1); lcd.DrawLine(20+105, 160, 45+105, 85);lcd.DrawLine(21+105, 161, 46+105, 86);wait(0.1); lcd.DrawLine(45+105, 85, 70+105, 235);lcd.DrawLine(46+105, 86, 71+105, 236);wait(0.1); lcd.DrawLine(70+105, 235, 95+105, 140);lcd.DrawLine(71+105, 236, 96+105, 141);wait(0.1); lcd.DrawLine(95+105, 140, 100+105, 170);lcd.DrawLine(96, 141, 101, 171);wait(0.1); lcd.DrawLine(100+105, 170, 105+105, 160);lcd.DrawLine(101, 171, 106, 161);wait(0.1); lcd.DrawLine( 105+105, 160, 115+105, 160);lcd.DrawLine( 106, 161, 116, 161);wait(0.1); */ lcd.DrawLine(10, 160, 20, 160);wait(0.1); lcd.DrawLine(20, 160, 45, 85);wait(0.1); lcd.DrawLine(45, 85, 70, 235);wait(0.1); lcd.DrawLine(70, 235, 95, 140);wait(0.1); lcd.DrawLine(95, 140, 100, 170);wait(0.1); lcd.DrawLine(100, 170, 105, 160);wait(0.1); lcd.DrawLine( 105, 160, 115, 160);wait(0.1); lcd.DrawLine(10+105, 160, 20+105, 160);wait(0.1); lcd.DrawLine(20+105, 160, 45+105, 85);wait(0.1); lcd.DrawLine(45+105, 85, 70+105, 235);wait(0.1); lcd.DrawLine(70+105, 235, 95+105, 140);wait(0.1); lcd.DrawLine(95+105, 140, 100+105, 170);wait(0.1); lcd.DrawLine(100+105, 170, 105+105, 160);wait(0.1); lcd.DrawLine( 105+105, 160, 115+105, 160);wait(0.1); wait(0.5); } } }