Template Software STM32F429 Discovery Kit with SCD41 CO2 Sensor

Dependencies:   LCD_DISCO_F429ZI TS_DISCO_F429ZI BSP_DISCO_F429ZI

main.cpp

Committer:
garj
Date:
2022-03-22
Revision:
13:aff8e9f42652
Parent:
12:98dd45560c50

File content as of revision 13:aff8e9f42652:

#include "mbed.h"
#include "TS_DISCO_F429ZI.h"
#include "LCD_DISCO_F429ZI.h"

    
int main()
{
    LCD_DISCO_F429ZI lcd;
    TS_DISCO_F429ZI ts;
    TS_StateTypeDef TS_State;
    uint16_t x, y;
    uint8_t text[30];
    uint8_t status;

    BSP_LCD_SetFont(&Font20);
  
    lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"EXTREMELY", CENTER_MODE);
    lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"COOL", CENTER_MODE);
    lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"EMPA", CENTER_MODE);
    lcd.DisplayStringAt(0, LINE(8), (uint8_t *)"TRAINING", CENTER_MODE);
    ThisThread::sleep_for(3000);
  
    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 *)"INIT FAIL", CENTER_MODE);
      lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"WTF DID YOU DO?!", 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 *)"INIT OK", CENTER_MODE);
      lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"(YOU WERE LUCKY!)", CENTER_MODE);
    }
    
    ThisThread::sleep_for(3000);
    lcd.Clear(LCD_COLOR_BLUE);
    lcd.SetBackColor(LCD_COLOR_BLUE);
    lcd.SetTextColor(LCD_COLOR_WHITE);
    
    //this loops forever and ever and ever ... :-O
    while(1)
    {
      
      ts.GetState(&TS_State);      
      if (TS_State.TouchDetected)
      {
        x = TS_State.X;
        y = TS_State.Y;
        sprintf((char*)text, "x=%d y=%d    ", x, y);
        lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
      }
    }
}