This is program 4

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
mcharrison17
Date:
Mon Dec 07 22:25:34 2020 +0000
Revision:
5:195fe765ac32
Parent:
4:febba9dd921b
For loop;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mcharrison17 0:37c51fede871 1 #include "mbed.h"
mcharrison17 0:37c51fede871 2 #include "TS_DISCO_F429ZI.h"
mcharrison17 0:37c51fede871 3 #include "LCD_DISCO_F429ZI.h"
mcharrison17 0:37c51fede871 4
mcharrison17 0:37c51fede871 5 extern "C" int32_t CountItems();
mcharrison17 0:37c51fede871 6 extern "C" int32_t SumAllFrequencies();
mcharrison17 0:37c51fede871 7 extern "C" uint8_t * GetWordAt(int32_t i);
mcharrison17 0:37c51fede871 8 extern "C" int16_t GetFreqAt(int32_t i);
mcharrison17 0:37c51fede871 9
mcharrison17 0:37c51fede871 10 LCD_DISCO_F429ZI lcd;
mcharrison17 0:37c51fede871 11 TS_DISCO_F429ZI ts;
mcharrison17 0:37c51fede871 12
mcharrison17 2:a38c09fad0fe 13 InterruptIn user_button(USER_BUTTON);
mcharrison17 2:a38c09fad0fe 14
mcharrison17 2:a38c09fad0fe 15 void button_pressed(){
mcharrison17 2:a38c09fad0fe 16 lcd.Clear(LCD_COLOR_BLACK);
mcharrison17 2:a38c09fad0fe 17 }
mcharrison17 2:a38c09fad0fe 18
mcharrison17 2:a38c09fad0fe 19 void button_released(){
mcharrison17 2:a38c09fad0fe 20 lcd.Clear(LCD_COLOR_RED);
mcharrison17 2:a38c09fad0fe 21 }
mcharrison17 2:a38c09fad0fe 22
mcharrison17 2:a38c09fad0fe 23 void button_callback(){
mcharrison17 2:a38c09fad0fe 24 user_button.rise(&button_pressed);
mcharrison17 2:a38c09fad0fe 25 user_button.fall(&button_released);
mcharrison17 2:a38c09fad0fe 26 }
mcharrison17 2:a38c09fad0fe 27
mcharrison17 0:37c51fede871 28 int main()
mcharrison17 0:37c51fede871 29 {
mcharrison17 0:37c51fede871 30 TS_StateTypeDef TS_State;
mcharrison17 0:37c51fede871 31 uint16_t x, y;
mcharrison17 0:37c51fede871 32 uint8_t text[30];
mcharrison17 0:37c51fede871 33 uint8_t status;
mcharrison17 0:37c51fede871 34
mcharrison17 0:37c51fede871 35 BSP_LCD_SetFont(&Font20);
mcharrison17 0:37c51fede871 36
mcharrison17 0:37c51fede871 37 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
mcharrison17 0:37c51fede871 38 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DEMO", CENTER_MODE);
mcharrison17 0:37c51fede871 39 wait(1);
mcharrison17 0:37c51fede871 40
mcharrison17 0:37c51fede871 41 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
mcharrison17 0:37c51fede871 42
mcharrison17 0:37c51fede871 43 if (status != TS_OK)
mcharrison17 0:37c51fede871 44 {
mcharrison17 0:37c51fede871 45 lcd.Clear(LCD_COLOR_RED);
mcharrison17 0:37c51fede871 46 lcd.SetBackColor(LCD_COLOR_RED);
mcharrison17 3:2ec663c724ea 47 lcd.SetTextColor(LCD_COLOR_WHITE);
mcharrison17 0:37c51fede871 48 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
mcharrison17 0:37c51fede871 49 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
mcharrison17 0:37c51fede871 50 }
mcharrison17 0:37c51fede871 51 else
mcharrison17 0:37c51fede871 52 {
mcharrison17 0:37c51fede871 53 lcd.Clear(LCD_COLOR_GREEN);
mcharrison17 0:37c51fede871 54 lcd.SetBackColor(LCD_COLOR_GREEN);
mcharrison17 0:37c51fede871 55 lcd.SetTextColor(LCD_COLOR_WHITE);
mcharrison17 0:37c51fede871 56 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
mcharrison17 0:37c51fede871 57 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
mcharrison17 0:37c51fede871 58 }
mcharrison17 0:37c51fede871 59
mcharrison17 0:37c51fede871 60 wait(1);
mcharrison17 0:37c51fede871 61 lcd.Clear(LCD_COLOR_BLUE);
mcharrison17 0:37c51fede871 62 lcd.SetBackColor(LCD_COLOR_BLUE);
mcharrison17 0:37c51fede871 63 lcd.SetTextColor(LCD_COLOR_WHITE);
mcharrison17 0:37c51fede871 64
mcharrison17 2:a38c09fad0fe 65
mcharrison17 2:a38c09fad0fe 66 uint8_t *word;
mcharrison17 5:195fe765ac32 67 int16_t wordfrequency = 0;
mcharrison17 4:febba9dd921b 68 float prct;
mcharrison17 3:2ec663c724ea 69 int32_t MAX;
mcharrison17 3:2ec663c724ea 70 int32_t totalfrequency;
mcharrison17 2:a38c09fad0fe 71
mcharrison17 2:a38c09fad0fe 72
mcharrison17 4:febba9dd921b 73 MAX = CountItems();
mcharrison17 4:febba9dd921b 74 MAX = MAX + 1;
mcharrison17 0:37c51fede871 75 sprintf((char*)text, "MAX=%d", MAX);
mcharrison17 4:febba9dd921b 76 lcd.DisplayStringAt(0, LINE(2), (uint8_t *)&text, LEFT_MODE);
mcharrison17 4:febba9dd921b 77
mcharrison17 3:2ec663c724ea 78 totalfrequency = SumAllFrequencies();
mcharrison17 4:febba9dd921b 79 /*wordfrequency = GetFreqAt(2);
mcharrison17 4:febba9dd921b 80 prct = ((wordfrequency)/((float)totalfrequency));
mcharrison17 4:febba9dd921b 81 sprintf((char*)text, "percent=%f", prct);
mcharrison17 4:febba9dd921b 82 lcd.DisplayStringAt(0, LINE(2), (uint8_t *)&text, LEFT_MODE);*/
mcharrison17 4:febba9dd921b 83 int num = 2;
mcharrison17 4:febba9dd921b 84
mcharrison17 0:37c51fede871 85 while(1)
mcharrison17 0:37c51fede871 86 {
mcharrison17 4:febba9dd921b 87 button_callback();
mcharrison17 4:febba9dd921b 88 for(int32_t i = 1; i < MAX; i++){
mcharrison17 2:a38c09fad0fe 89 word = GetWordAt(i);
mcharrison17 2:a38c09fad0fe 90 wordfrequency = GetFreqAt(i);
mcharrison17 5:195fe765ac32 91 sprintf((char*)text, "wordfreq=%d", wordfrequency);
mcharrison17 4:febba9dd921b 92 lcd.DisplayStringAt(0, LINE(num), (uint8_t *)&text, LEFT_MODE);
mcharrison17 5:195fe765ac32 93 prct = ((wordfrequency)/((float)totalfrequency));
mcharrison17 4:febba9dd921b 94 /*sprintf((char*)text, "percent=%f", prct);
mcharrison17 4:febba9dd921b 95 lcd.DisplayStringAt(0, LINE(num), (uint8_t *)&text, LEFT_MODE);*/
mcharrison17 4:febba9dd921b 96 prct = 0;
mcharrison17 5:195fe765ac32 97 wordfrequency = 0;
mcharrison17 4:febba9dd921b 98 num = num + 2;
mcharrison17 2:a38c09fad0fe 99 }
mcharrison17 4:febba9dd921b 100 wait(1);
mcharrison17 0:37c51fede871 101 }
mcharrison17 0:37c51fede871 102 }