4 #include "stm32746g_discovery_lcd.h"
5 #include "stm32f7xx_hal.h"
21 BSP_LCD_SetFont(&Font12);
25 BSP_LCD_DisplayStringAt(0, LINE(line_no), (uint8_t *)
" ", LEFT_MODE);
26 BSP_LCD_DisplayStringAt(0, LINE(line_no), (uint8_t *)
" ", CENTER_MODE);
27 BSP_LCD_DisplayStringAt(0, LINE(line_no), (uint8_t *)
" ", RIGHT_MODE);
30 BSP_LCD_ClearStringLine(LINE(line_no));
35 BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
36 BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
38 BSP_LCD_SetFont(&Font16);
39 BSP_LCD_Clear(LCD_COLOR_BLACK);
40 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
41 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
43 BSP_LCD_DisplayStringAt(2, 2, (uint8_t *)
"greenhouse (server)", LEFT_MODE);
44 BSP_LCD_DrawHLine(0, 20, 480);
48 BSP_LCD_DrawHLine(0, LINE(
LOG_Y_POS - 1) - 1, 480);
49 BSP_LCD_DisplayStringAt(10, LINE(
LOG_Y_POS) - 12, (uint8_t *)
"console", LEFT_MODE);
50 BSP_LCD_DrawHLine(0, LINE(
LOG_Y_POS), 480);
56 for (
int i = 1; i < 10; i++) {
72 converted = us / 1000 / 1000;
77 return std::to_string(converted);
81 string stat = string(label);
92 string uptime =
make_stat_str(
"Uptime: ",
"s", stats->uptime);
93 string idle_time =
make_stat_str(
"Idle: ",
"s", stats->idle_time);
94 string sleep =
make_stat_str(
"Sleep: ",
"s", stats->sleep_time);
95 string deep_sleep =
make_stat_str(
"Deep sleep: ",
"s", stats->deep_sleep_time);
97 BSP_LCD_DisplayStringAt(25, LINE(3), (uint8_t *)uptime.c_str(), LEFT_MODE);
98 BSP_LCD_DisplayStringAt(120, LINE(3), (uint8_t *)idle_time.c_str(), LEFT_MODE);
99 BSP_LCD_DisplayStringAt(205, LINE(3), (uint8_t *)sleep.c_str(), LEFT_MODE);
100 BSP_LCD_DisplayStringAt(300, LINE(3), (uint8_t *)deep_sleep.c_str(), LEFT_MODE);
103 uint8_t idle = (diff_usec * 100) / (sample_time_ms*1000);
104 uint8_t usage = 100 - ((diff_usec * 100) / (sample_time_ms*1000));
107 string usage_str = string(
"Usage: ");
108 usage_str.append(std::to_string(usage));
109 usage_str.append(
"%");
111 BSP_LCD_DisplayStringAt(25, LINE(4), (uint8_t *)usage_str.c_str(), LEFT_MODE);
void clear_line(int line_no)
void update_stats(mbed_stats_cpu_t *stats, int sample_time_ms)
string make_stat_str(string label, string suffix, uint64_t us)
static const int MAX_LOG_LINES
static const int LOG_Y_POS
string microsecond_to_sec_str(uint64_t us)