Template Software STM32F429 Discovery Kit with SCD41 CO2 Sensor

Dependencies:   LCD_DISCO_F429ZI TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
garj
Date:
Tue Mar 22 10:19:59 2022 +0000
Revision:
13:aff8e9f42652
Parent:
12:98dd45560c50
update to SCD41

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:91c6ab790bd7 1 #include "mbed.h"
bcostm 0:91c6ab790bd7 2 #include "TS_DISCO_F429ZI.h"
bcostm 0:91c6ab790bd7 3 #include "LCD_DISCO_F429ZI.h"
bcostm 0:91c6ab790bd7 4
garj 5:49f24d9bfae9 5
bcostm 0:91c6ab790bd7 6 int main()
bcostm 0:91c6ab790bd7 7 {
garj 11:88e21ca9d6c8 8 LCD_DISCO_F429ZI lcd;
garj 11:88e21ca9d6c8 9 TS_DISCO_F429ZI ts;
bcostm 0:91c6ab790bd7 10 TS_StateTypeDef TS_State;
bcostm 0:91c6ab790bd7 11 uint16_t x, y;
bcostm 0:91c6ab790bd7 12 uint8_t text[30];
bcostm 0:91c6ab790bd7 13 uint8_t status;
garj 11:88e21ca9d6c8 14
bcostm 0:91c6ab790bd7 15 BSP_LCD_SetFont(&Font20);
bcostm 0:91c6ab790bd7 16
garj 6:3470127df0ab 17 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"EXTREMELY", CENTER_MODE);
garj 6:3470127df0ab 18 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"COOL", CENTER_MODE);
garj 6:3470127df0ab 19 lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"EMPA", CENTER_MODE);
garj 6:3470127df0ab 20 lcd.DisplayStringAt(0, LINE(8), (uint8_t *)"TRAINING", CENTER_MODE);
garj 12:98dd45560c50 21 ThisThread::sleep_for(3000);
bcostm 0:91c6ab790bd7 22
bcostm 0:91c6ab790bd7 23 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
bcostm 0:91c6ab790bd7 24
bcostm 0:91c6ab790bd7 25 if (status != TS_OK)
bcostm 0:91c6ab790bd7 26 {
bcostm 0:91c6ab790bd7 27 lcd.Clear(LCD_COLOR_RED);
bcostm 0:91c6ab790bd7 28 lcd.SetBackColor(LCD_COLOR_RED);
bcostm 0:91c6ab790bd7 29 lcd.SetTextColor(LCD_COLOR_WHITE);
bcostm 0:91c6ab790bd7 30 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
bcostm 0:91c6ab790bd7 31 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
garj 6:3470127df0ab 32 lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"WTF DID YOU DO?!", CENTER_MODE);
bcostm 0:91c6ab790bd7 33 }
bcostm 0:91c6ab790bd7 34 else
bcostm 0:91c6ab790bd7 35 {
bcostm 0:91c6ab790bd7 36 lcd.Clear(LCD_COLOR_GREEN);
bcostm 0:91c6ab790bd7 37 lcd.SetBackColor(LCD_COLOR_GREEN);
bcostm 0:91c6ab790bd7 38 lcd.SetTextColor(LCD_COLOR_WHITE);
bcostm 0:91c6ab790bd7 39 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
bcostm 0:91c6ab790bd7 40 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
garj 6:3470127df0ab 41 lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"(YOU WERE LUCKY!)", CENTER_MODE);
bcostm 0:91c6ab790bd7 42 }
bcostm 0:91c6ab790bd7 43
garj 12:98dd45560c50 44 ThisThread::sleep_for(3000);
bcostm 0:91c6ab790bd7 45 lcd.Clear(LCD_COLOR_BLUE);
bcostm 0:91c6ab790bd7 46 lcd.SetBackColor(LCD_COLOR_BLUE);
bcostm 0:91c6ab790bd7 47 lcd.SetTextColor(LCD_COLOR_WHITE);
bcostm 0:91c6ab790bd7 48
garj 6:3470127df0ab 49 //this loops forever and ever and ever ... :-O
bcostm 0:91c6ab790bd7 50 while(1)
bcostm 0:91c6ab790bd7 51 {
bcostm 0:91c6ab790bd7 52
bcostm 0:91c6ab790bd7 53 ts.GetState(&TS_State);
bcostm 0:91c6ab790bd7 54 if (TS_State.TouchDetected)
bcostm 0:91c6ab790bd7 55 {
bcostm 0:91c6ab790bd7 56 x = TS_State.X;
bcostm 0:91c6ab790bd7 57 y = TS_State.Y;
bcostm 0:91c6ab790bd7 58 sprintf((char*)text, "x=%d y=%d ", x, y);
bcostm 0:91c6ab790bd7 59 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
bcostm 0:91c6ab790bd7 60 }
bcostm 0:91c6ab790bd7 61 }
bcostm 0:91c6ab790bd7 62 }