Template Software STM32F429 Discovery Kit with SCD41 CO2 Sensor

Dependencies:   LCD_DISCO_F429ZI TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
garj
Date:
Fri Mar 19 07:25:46 2021 +0000
Revision:
7:17a87b6d8516
Parent:
6:3470127df0ab
Child:
11:88e21ca9d6c8
Add SCD30 template

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