example LCD & GYRO

Dependencies:   GYRO_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed

Committer:
auditlog
Date:
Tue Mar 15 23:30:52 2016 +0000
Revision:
0:5e5e74311220
v0.1 lcd & gyro (wait(0.1))

Who changed what in which revision?

UserRevisionLine numberNew contents of line
auditlog 0:5e5e74311220 1 #include "mbed.h"
auditlog 0:5e5e74311220 2 #include "TS_DISCO_F429ZI.h"
auditlog 0:5e5e74311220 3 #include "LCD_DISCO_F429ZI.h"
auditlog 0:5e5e74311220 4 #include "GYRO_DISCO_F429ZI.h"
auditlog 0:5e5e74311220 5
auditlog 0:5e5e74311220 6 LCD_DISCO_F429ZI lcd;
auditlog 0:5e5e74311220 7 TS_DISCO_F429ZI ts;
auditlog 0:5e5e74311220 8 GYRO_DISCO_F429ZI gyro;
auditlog 0:5e5e74311220 9
auditlog 0:5e5e74311220 10 int main()
auditlog 0:5e5e74311220 11 {
auditlog 0:5e5e74311220 12 TS_StateTypeDef TS_State;
auditlog 0:5e5e74311220 13 uint16_t x, y, z1, z2, z3 ;
auditlog 0:5e5e74311220 14 uint8_t text[30];
auditlog 0:5e5e74311220 15 uint8_t textz1[30];
auditlog 0:5e5e74311220 16 uint8_t textz2[30];
auditlog 0:5e5e74311220 17 uint8_t textz3[30];
auditlog 0:5e5e74311220 18 uint8_t status;
auditlog 0:5e5e74311220 19
auditlog 0:5e5e74311220 20 float GyroBuffer[3];
auditlog 0:5e5e74311220 21
auditlog 0:5e5e74311220 22 BSP_LCD_SetFont(&Font20);
auditlog 0:5e5e74311220 23
auditlog 0:5e5e74311220 24 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
auditlog 0:5e5e74311220 25 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DEMO", CENTER_MODE);
auditlog 0:5e5e74311220 26 wait(1);
auditlog 0:5e5e74311220 27
auditlog 0:5e5e74311220 28 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
auditlog 0:5e5e74311220 29
auditlog 0:5e5e74311220 30 if (status != TS_OK)
auditlog 0:5e5e74311220 31 {
auditlog 0:5e5e74311220 32 lcd.Clear(LCD_COLOR_RED);
auditlog 0:5e5e74311220 33 lcd.SetBackColor(LCD_COLOR_RED);
auditlog 0:5e5e74311220 34 lcd.SetTextColor(LCD_COLOR_WHITE);
auditlog 0:5e5e74311220 35 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
auditlog 0:5e5e74311220 36 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
auditlog 0:5e5e74311220 37 }
auditlog 0:5e5e74311220 38 else
auditlog 0:5e5e74311220 39 {
auditlog 0:5e5e74311220 40 lcd.Clear(LCD_COLOR_GREEN);
auditlog 0:5e5e74311220 41 lcd.SetBackColor(LCD_COLOR_GREEN);
auditlog 0:5e5e74311220 42 lcd.SetTextColor(LCD_COLOR_WHITE);
auditlog 0:5e5e74311220 43 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
auditlog 0:5e5e74311220 44 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
auditlog 0:5e5e74311220 45 }
auditlog 0:5e5e74311220 46
auditlog 0:5e5e74311220 47 wait(1);
auditlog 0:5e5e74311220 48 lcd.Clear(LCD_COLOR_BLUE);
auditlog 0:5e5e74311220 49 lcd.SetBackColor(LCD_COLOR_BLUE);
auditlog 0:5e5e74311220 50 lcd.SetTextColor(LCD_COLOR_WHITE);
auditlog 0:5e5e74311220 51
auditlog 0:5e5e74311220 52 while(1)
auditlog 0:5e5e74311220 53 {
auditlog 0:5e5e74311220 54 gyro.GetXYZ(GyroBuffer);
auditlog 0:5e5e74311220 55
auditlog 0:5e5e74311220 56 z1 = GyroBuffer[0];
auditlog 0:5e5e74311220 57 z2 = GyroBuffer[1];
auditlog 0:5e5e74311220 58 z3 = GyroBuffer[2];
auditlog 0:5e5e74311220 59
auditlog 0:5e5e74311220 60 sprintf((char*)textz1, "g1=%d ", z1);
auditlog 0:5e5e74311220 61 sprintf((char*)textz2, "g2=%d ", z2);
auditlog 0:5e5e74311220 62 sprintf((char*)textz3, "g3=%d ", z3);
auditlog 0:5e5e74311220 63
auditlog 0:5e5e74311220 64 lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&textz1, LEFT_MODE);
auditlog 0:5e5e74311220 65 lcd.DisplayStringAt(0, LINE(2), (uint8_t *)&textz2, LEFT_MODE);
auditlog 0:5e5e74311220 66 lcd.DisplayStringAt(0, LINE(3), (uint8_t *)&textz3, LEFT_MODE);
auditlog 0:5e5e74311220 67
auditlog 0:5e5e74311220 68 wait(0.1);
auditlog 0:5e5e74311220 69
auditlog 0:5e5e74311220 70 ts.GetState(&TS_State);
auditlog 0:5e5e74311220 71 if (TS_State.TouchDetected)
auditlog 0:5e5e74311220 72 {
auditlog 0:5e5e74311220 73 x = TS_State.X;
auditlog 0:5e5e74311220 74 y = TS_State.Y;
auditlog 0:5e5e74311220 75
auditlog 0:5e5e74311220 76 sprintf((char*)text, "x=%d y=%d ", x, y);
auditlog 0:5e5e74311220 77 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
auditlog 0:5e5e74311220 78
auditlog 0:5e5e74311220 79 }
auditlog 0:5e5e74311220 80 }
auditlog 0:5e5e74311220 81 }