wordfrequency

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
kaneyn
Date:
Mon Dec 07 18:23:27 2020 +0000
Revision:
1:586013f67abf
Parent:
0:349c994479c8
adasd; \;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaneyn 0:349c994479c8 1 #include "mbed.h"
kaneyn 0:349c994479c8 2 #include "TS_DISCO_F429ZI.h"
kaneyn 0:349c994479c8 3 #include "LCD_DISCO_F429ZI.h"
kaneyn 0:349c994479c8 4
kaneyn 0:349c994479c8 5 LCD_DISCO_F429ZI lcd;
kaneyn 0:349c994479c8 6 TS_DISCO_F429ZI ts;
kaneyn 0:349c994479c8 7
kaneyn 1:586013f67abf 8 InterruptIn user_button(USER_BUTTON);
kaneyn 1:586013f67abf 9
kaneyn 0:349c994479c8 10
kaneyn 0:349c994479c8 11 extern "C" int32_t CountItems();
kaneyn 0:349c994479c8 12 extern "C" int32_t SumAllFrequencies();
kaneyn 0:349c994479c8 13 extern "C" uint8_t * GetWordAt(int32_t i); // NOTE: returns a pointer to a string
kaneyn 0:349c994479c8 14 extern "C" int16_t GetFreqAt(int32_t i); // NOTE: return the value of the frequency count
kaneyn 0:349c994479c8 15
kaneyn 1:586013f67abf 16
kaneyn 1:586013f67abf 17
kaneyn 1:586013f67abf 18
kaneyn 1:586013f67abf 19
kaneyn 1:586013f67abf 20 void button_pressed(){
kaneyn 1:586013f67abf 21
kaneyn 1:586013f67abf 22 lcd.Clear(LCD_COLOR_YELLOW);
kaneyn 1:586013f67abf 23 lcd.SetBackColor(LCD_COLOR_BLUE);
kaneyn 1:586013f67abf 24 lcd.SetTextColor(LCD_COLOR_WHITE);
kaneyn 1:586013f67abf 25 }
kaneyn 1:586013f67abf 26
kaneyn 1:586013f67abf 27
kaneyn 1:586013f67abf 28 void button_released(){
kaneyn 1:586013f67abf 29
kaneyn 1:586013f67abf 30 }
kaneyn 1:586013f67abf 31
kaneyn 1:586013f67abf 32 void push_button_Callback() // Only executes when button interrupt received
kaneyn 1:586013f67abf 33 {
kaneyn 1:586013f67abf 34
kaneyn 1:586013f67abf 35
kaneyn 1:586013f67abf 36
kaneyn 1:586013f67abf 37
kaneyn 1:586013f67abf 38 user_button.rise(&button_pressed);
kaneyn 1:586013f67abf 39 user_button.fall(&button_released);
kaneyn 1:586013f67abf 40 }
kaneyn 1:586013f67abf 41
kaneyn 0:349c994479c8 42
kaneyn 0:349c994479c8 43 int main()
kaneyn 0:349c994479c8 44 {
kaneyn 1:586013f67abf 45 int32_t words;
kaneyn 1:586013f67abf 46 int32_t frequencies;
kaneyn 1:586013f67abf 47 int16_t frequency;
kaneyn 1:586013f67abf 48 uint8_t *word;
kaneyn 0:349c994479c8 49 uint8_t text[30];
kaneyn 0:349c994479c8 50 uint8_t status;
kaneyn 1:586013f67abf 51
kaneyn 1:586013f67abf 52
kaneyn 1:586013f67abf 53
kaneyn 1:586013f67abf 54
kaneyn 1:586013f67abf 55 push_button_Callback();
kaneyn 0:349c994479c8 56
kaneyn 1:586013f67abf 57
kaneyn 0:349c994479c8 58 BSP_LCD_SetFont(&Font20);
kaneyn 1:586013f67abf 59
kaneyn 1:586013f67abf 60
kaneyn 0:349c994479c8 61 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
kaneyn 0:349c994479c8 62 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DEMO", CENTER_MODE);
kaneyn 0:349c994479c8 63 wait(1);
kaneyn 1:586013f67abf 64
kaneyn 0:349c994479c8 65 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
kaneyn 1:586013f67abf 66
kaneyn 1:586013f67abf 67 if (status != TS_OK) {
kaneyn 1:586013f67abf 68 lcd.Clear(LCD_COLOR_RED);
kaneyn 1:586013f67abf 69 lcd.SetBackColor(LCD_COLOR_RED);
kaneyn 1:586013f67abf 70 lcd.SetTextColor(LCD_COLOR_WHITE);
kaneyn 1:586013f67abf 71 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
kaneyn 1:586013f67abf 72 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
kaneyn 1:586013f67abf 73 } else {
kaneyn 1:586013f67abf 74 lcd.Clear(LCD_COLOR_GREEN);
kaneyn 1:586013f67abf 75 lcd.SetBackColor(LCD_COLOR_GREEN);
kaneyn 1:586013f67abf 76 lcd.SetTextColor(LCD_COLOR_WHITE);
kaneyn 1:586013f67abf 77 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
kaneyn 1:586013f67abf 78 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
kaneyn 0:349c994479c8 79 }
kaneyn 1:586013f67abf 80
kaneyn 1:586013f67abf 81
kaneyn 0:349c994479c8 82 wait(1);
kaneyn 0:349c994479c8 83 lcd.Clear(LCD_COLOR_BLUE);
kaneyn 0:349c994479c8 84 lcd.SetBackColor(LCD_COLOR_BLUE);
kaneyn 0:349c994479c8 85 lcd.SetTextColor(LCD_COLOR_WHITE);
kaneyn 1:586013f67abf 86
kaneyn 1:586013f67abf 87 frequencies = SumAllFrequencies();
kaneyn 1:586013f67abf 88 words = CountItems();
kaneyn 1:586013f67abf 89 words = 4;
kaneyn 1:586013f67abf 90
kaneyn 1:586013f67abf 91
kaneyn 1:586013f67abf 92
kaneyn 1:586013f67abf 93
kaneyn 1:586013f67abf 94 sprintf((char*)text, "words=%d", words);
kaneyn 1:586013f67abf 95 lcd.DisplayStringAt(0, LINE(3), (uint8_t *)&text, LEFT_MODE);
kaneyn 1:586013f67abf 96 sprintf((char*)text, "frequencies=%d", frequencies);
kaneyn 1:586013f67abf 97 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)&text, LEFT_MODE);
kaneyn 0:349c994479c8 98
kaneyn 0:349c994479c8 99
kaneyn 1:586013f67abf 100 while(1) {
kaneyn 1:586013f67abf 101 //Loop Through maximum word
kaneyn 1:586013f67abf 102 for(int32_t i=0; i < words; i++){
kaneyn 1:586013f67abf 103 word = GetWordAt(i);
kaneyn 1:586013f67abf 104 for(int i = 0; word[i] != 0; i++){
kaneyn 1:586013f67abf 105 sprintf((char*)text, "word=%d", *(word+i));
kaneyn 1:586013f67abf 106 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)&text, LEFT_MODE);
kaneyn 1:586013f67abf 107 wait(1);
kaneyn 1:586013f67abf 108 }
kaneyn 1:586013f67abf 109 }
kaneyn 1:586013f67abf 110 for(int32_t i=0; i < words; i++){
kaneyn 1:586013f67abf 111 frequency = GetFreqAt(i);
kaneyn 1:586013f67abf 112 sprintf((char*)text, "frequency=%d", frequency);
kaneyn 1:586013f67abf 113 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)&text, LEFT_MODE);
kaneyn 1:586013f67abf 114 }
kaneyn 1:586013f67abf 115
kaneyn 1:586013f67abf 116
kaneyn 0:349c994479c8 117 }
kaneyn 0:349c994479c8 118 }