example LCD & GYRO
Dependencies: GYRO_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed
main.cpp@0:5e5e74311220, 2016-03-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |