Touchscreen voltage meter (WIP)
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI VoltageMeter_stm32f429disco
Dependents: VoltageMeter_stm32f429disco
display.cpp@1:5fa403dde809, 2020-02-24 (annotated)
- Committer:
- dongero
- Date:
- Mon Feb 24 20:44:58 2020 +0000
- Revision:
- 1:5fa403dde809
Refactored structure to use multiple files (display, adc, ts); Initializes and displays splash screen and start button.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dongero | 1:5fa403dde809 | 1 | #include "LCD_DISCO_F429ZI.h" |
dongero | 1:5fa403dde809 | 2 | |
dongero | 1:5fa403dde809 | 3 | static LCD_DISCO_F429ZI lcd; |
dongero | 1:5fa403dde809 | 4 | |
dongero | 1:5fa403dde809 | 5 | struct Rect { |
dongero | 1:5fa403dde809 | 6 | uint32_t x; |
dongero | 1:5fa403dde809 | 7 | uint32_t y; |
dongero | 1:5fa403dde809 | 8 | uint32_t height; |
dongero | 1:5fa403dde809 | 9 | uint32_t width; |
dongero | 1:5fa403dde809 | 10 | }; |
dongero | 1:5fa403dde809 | 11 | |
dongero | 1:5fa403dde809 | 12 | void display_failed_ts_init() { |
dongero | 1:5fa403dde809 | 13 | BSP_LCD_SetFont(&Font20); |
dongero | 1:5fa403dde809 | 14 | |
dongero | 1:5fa403dde809 | 15 | lcd.Clear(LCD_COLOR_RED); |
dongero | 1:5fa403dde809 | 16 | lcd.SetBackColor(LCD_COLOR_RED); |
dongero | 1:5fa403dde809 | 17 | lcd.SetTextColor(LCD_COLOR_WHITE); |
dongero | 1:5fa403dde809 | 18 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); |
dongero | 1:5fa403dde809 | 19 | lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE); |
dongero | 1:5fa403dde809 | 20 | } |
dongero | 1:5fa403dde809 | 21 | |
dongero | 1:5fa403dde809 | 22 | void display_splash_screen() { |
dongero | 1:5fa403dde809 | 23 | BSP_LCD_SetFont(&Font20); |
dongero | 1:5fa403dde809 | 24 | |
dongero | 1:5fa403dde809 | 25 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"POWER", CENTER_MODE); |
dongero | 1:5fa403dde809 | 26 | lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"TIME", CENTER_MODE); |
dongero | 1:5fa403dde809 | 27 | } |
dongero | 1:5fa403dde809 | 28 | |
dongero | 1:5fa403dde809 | 29 | void display_debug_info(char *debug_text) { |
dongero | 1:5fa403dde809 | 30 | BSP_LCD_SetFont(&Font20); |
dongero | 1:5fa403dde809 | 31 | lcd.SetTextColor(LCD_COLOR_BLACK); |
dongero | 1:5fa403dde809 | 32 | lcd.DisplayStringAt(0, LINE(0), (uint8_t *)debug_text, CENTER_MODE); |
dongero | 1:5fa403dde809 | 33 | } |
dongero | 1:5fa403dde809 | 34 | |
dongero | 1:5fa403dde809 | 35 | void display_main_screen() { |
dongero | 1:5fa403dde809 | 36 | lcd.Clear(LCD_COLOR_WHITE); |
dongero | 1:5fa403dde809 | 37 | |
dongero | 1:5fa403dde809 | 38 | lcd.SetTextColor(LCD_COLOR_BLUE); |
dongero | 1:5fa403dde809 | 39 | lcd.FillRect(79, 82, 100, 100); //(x, y, height, width) |
dongero | 1:5fa403dde809 | 40 | |
dongero | 1:5fa403dde809 | 41 | lcd.SetBackColor(LCD_COLOR_BLUE); |
dongero | 1:5fa403dde809 | 42 | lcd.SetTextColor(LCD_COLOR_WHITE); |
dongero | 1:5fa403dde809 | 43 | BSP_LCD_SetFont(&Font24); |
dongero | 1:5fa403dde809 | 44 | lcd.DisplayStringAt(10, LINE(5), (uint8_t *)"START", CENTER_MODE); |
dongero | 1:5fa403dde809 | 45 | } |
dongero | 1:5fa403dde809 | 46 | |
dongero | 1:5fa403dde809 | 47 | void display_get_size(uint32_t &x, uint32_t &y) { |
dongero | 1:5fa403dde809 | 48 | x = lcd.GetXSize(); |
dongero | 1:5fa403dde809 | 49 | y = lcd.GetYSize(); |
dongero | 1:5fa403dde809 | 50 | } |