
This is program 4
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
main.cpp@5:195fe765ac32, 2020-12-07 (annotated)
- 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?
User | Revision | Line number | New 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 | } |