This is program 4
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
main.cpp@2:a38c09fad0fe, 2020-12-07 (annotated)
- Committer:
- mcharrison17
- Date:
- Mon Dec 07 04:03:14 2020 +0000
- Revision:
- 2:a38c09fad0fe
- Parent:
- 1:2308340de21d
- Child:
- 3:2ec663c724ea
Updated Program 4
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 | 2:a38c09fad0fe | 47 | lcd.SetTextColor(LCD_COLOR_WHIT); |
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 | 2:a38c09fad0fe | 67 | int16_t wordfrequency; |
mcharrison17 | 2:a38c09fad0fe | 68 | float percentage; |
mcharrison17 | 2:a38c09fad0fe | 69 | |
mcharrison17 | 2:a38c09fad0fe | 70 | |
mcharrison17 | 0:37c51fede871 | 71 | int32_t MAX = CountItems(); |
mcharrison17 | 0:37c51fede871 | 72 | sprintf((char*)text, "MAX=%d", MAX); |
mcharrison17 | 2:a38c09fad0fe | 73 | lcd.DisplayStringAt(0, LINE(3), (uint8_t *)&text, LEFT_MODE); |
mcharrison17 | 0:37c51fede871 | 74 | int32_t totalfrequency = SumAllFrequencies(); |
mcharrison17 | 1:2308340de21d | 75 | sprintf((char*)text, "totalfrequency=%d", totalfrequency); |
mcharrison17 | 2:a38c09fad0fe | 76 | lcd.DisplayStringAt(0, LINE(4), (uint8_t *)&text, LEFT_MODE); |
mcharrison17 | 0:37c51fede871 | 77 | |
mcharrison17 | 0:37c51fede871 | 78 | while(1) |
mcharrison17 | 0:37c51fede871 | 79 | { |
mcharrison17 | 2:a38c09fad0fe | 80 | button_callback(); |
mcharrison17 | 2:a38c09fad0fe | 81 | for(int32_t i = 1; i < (MAX + 1); i++){ |
mcharrison17 | 2:a38c09fad0fe | 82 | word = GetWordAt(i); |
mcharrison17 | 2:a38c09fad0fe | 83 | wordfrequency = GetFreqAt(i); |
mcharrison17 | 2:a38c09fad0fe | 84 | percentage = wordfrequency/totalfrequency; |
mcharrison17 | 2:a38c09fad0fe | 85 | sprintf((char*)text, "word=%d", word); |
mcharrison17 | 2:a38c09fad0fe | 86 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)&text, LEFT_MODE); |
mcharrison17 | 2:a38c09fad0fe | 87 | } |
mcharrison17 | 2:a38c09fad0fe | 88 | wait(1); |
mcharrison17 | 0:37c51fede871 | 89 | } |
mcharrison17 | 0:37c51fede871 | 90 | } |