STM32F429I-DISCO Template w/ stdout redirection to display

Dependencies:   LCD_DISCO_F429ZI LCD_LOG_DISCO TS_DISCO_F429ZI mbed-dev

Status

  • Just working

/media/uploads/icis4/lcdlog1.png

Planned features

  • Redirect stderr with color change
  • rewrite entire lcd_log to C++
Committer:
icis4
Date:
Fri Dec 25 23:14:30 2015 +0000
Revision:
0:355a7d27c2f6
Child:
2:bda0167d200a
Initial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
icis4 0:355a7d27c2f6 1 #include "mbed.h"
icis4 0:355a7d27c2f6 2 #include <stdio.h>
icis4 0:355a7d27c2f6 3 #include "TS_DISCO_F429ZI.h"
icis4 0:355a7d27c2f6 4 #include "LCD_DISCO_F429ZI.h"
icis4 0:355a7d27c2f6 5 #include "LCD_LOG_DISCO.h"
icis4 0:355a7d27c2f6 6
icis4 0:355a7d27c2f6 7 LCD_DISCO_F429ZI lcd;
icis4 0:355a7d27c2f6 8 TS_DISCO_F429ZI ts;
icis4 0:355a7d27c2f6 9 LCDLog lcdlog("lcdlog");
icis4 0:355a7d27c2f6 10
icis4 0:355a7d27c2f6 11 //AnalogIn ain(PA_13);
icis4 0:355a7d27c2f6 12
icis4 0:355a7d27c2f6 13 extern "C" {
icis4 0:355a7d27c2f6 14 int LCD_LOG_write(uint8_t* text);
icis4 0:355a7d27c2f6 15 }
icis4 0:355a7d27c2f6 16
icis4 0:355a7d27c2f6 17 int main()
icis4 0:355a7d27c2f6 18 {
icis4 0:355a7d27c2f6 19 TS_StateTypeDef TS_State;
icis4 0:355a7d27c2f6 20 uint16_t x, y;
icis4 0:355a7d27c2f6 21 uint8_t status;
icis4 0:355a7d27c2f6 22
icis4 0:355a7d27c2f6 23 lcdlog.Init(stdout, "TOUCHSCREEN DEMO");
icis4 0:355a7d27c2f6 24
icis4 0:355a7d27c2f6 25 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
icis4 0:355a7d27c2f6 26 if (status != TS_OK)
icis4 0:355a7d27c2f6 27 {
icis4 0:355a7d27c2f6 28 lcdlog.Footer("INIT FAIL\n");
icis4 0:355a7d27c2f6 29 } else {
icis4 0:355a7d27c2f6 30 lcdlog.Footer("INIT OK");
icis4 0:355a7d27c2f6 31 }
icis4 0:355a7d27c2f6 32
icis4 0:355a7d27c2f6 33 printf("** Start **\n");
icis4 0:355a7d27c2f6 34 fflush(lcdlog);
icis4 0:355a7d27c2f6 35 x = TS_State.X;
icis4 0:355a7d27c2f6 36 y = TS_State.Y;
icis4 0:355a7d27c2f6 37 while(1)
icis4 0:355a7d27c2f6 38 {
icis4 0:355a7d27c2f6 39 ts.GetState(&TS_State);
icis4 0:355a7d27c2f6 40 if (TS_State.TouchDetected)
icis4 0:355a7d27c2f6 41 {
icis4 0:355a7d27c2f6 42 if (x != TS_State.X || y != TS_State.Y) {
icis4 0:355a7d27c2f6 43 printf("x=%03d y=%03d\n", x, y);
icis4 0:355a7d27c2f6 44 x = TS_State.X;
icis4 0:355a7d27c2f6 45 y = TS_State.Y;
icis4 0:355a7d27c2f6 46 }
icis4 0:355a7d27c2f6 47 }
icis4 0:355a7d27c2f6 48 wait_ms(5);
icis4 0:355a7d27c2f6 49 }
icis4 0:355a7d27c2f6 50 }
icis4 0:355a7d27c2f6 51