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:43:53 2015 +0000
Revision:
3:79e2d3d36b63
Parent:
2:bda0167d200a
Child:
4:8188d5640a90
Cleanup

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 extern "C" {
icis4 0:355a7d27c2f6 12 int LCD_LOG_write(uint8_t* text);
icis4 0:355a7d27c2f6 13 }
icis4 0:355a7d27c2f6 14
icis4 0:355a7d27c2f6 15 int main()
icis4 0:355a7d27c2f6 16 {
icis4 0:355a7d27c2f6 17 TS_StateTypeDef TS_State;
icis4 0:355a7d27c2f6 18 uint16_t x, y;
icis4 0:355a7d27c2f6 19 uint8_t status;
icis4 0:355a7d27c2f6 20
icis4 0:355a7d27c2f6 21 lcdlog.Init(stdout, "TOUCHSCREEN DEMO");
icis4 0:355a7d27c2f6 22
icis4 0:355a7d27c2f6 23 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
icis4 0:355a7d27c2f6 24 if (status != TS_OK)
icis4 0:355a7d27c2f6 25 {
icis4 0:355a7d27c2f6 26 lcdlog.Footer("INIT FAIL\n");
icis4 0:355a7d27c2f6 27 } else {
icis4 0:355a7d27c2f6 28 lcdlog.Footer("INIT OK");
icis4 0:355a7d27c2f6 29 }
icis4 0:355a7d27c2f6 30
icis4 0:355a7d27c2f6 31 printf("** Start **\n");
icis4 0:355a7d27c2f6 32 x = TS_State.X;
icis4 0:355a7d27c2f6 33 y = TS_State.Y;
icis4 0:355a7d27c2f6 34 while(1)
icis4 0:355a7d27c2f6 35 {
icis4 0:355a7d27c2f6 36 ts.GetState(&TS_State);
icis4 0:355a7d27c2f6 37 if (TS_State.TouchDetected)
icis4 0:355a7d27c2f6 38 {
icis4 0:355a7d27c2f6 39 if (x != TS_State.X || y != TS_State.Y) {
icis4 0:355a7d27c2f6 40 printf("x=%03d y=%03d\n", x, y);
icis4 0:355a7d27c2f6 41 x = TS_State.X;
icis4 0:355a7d27c2f6 42 y = TS_State.Y;
icis4 0:355a7d27c2f6 43 }
icis4 0:355a7d27c2f6 44 }
icis4 0:355a7d27c2f6 45 wait_ms(5);
icis4 0:355a7d27c2f6 46 }
icis4 0:355a7d27c2f6 47 }
icis4 0:355a7d27c2f6 48