2019-09-19 14:41:32 +00:00
|
|
|
#include "ui.h"
|
|
|
|
#include "drivers/display.h"
|
2019-10-14 21:51:38 +00:00
|
|
|
#include "part.h"
|
2019-09-19 14:41:32 +00:00
|
|
|
#include "stmlib/utils/random.h"
|
|
|
|
#include <u8g2.h>
|
2019-10-14 21:51:38 +00:00
|
|
|
|
2019-09-19 14:41:32 +00:00
|
|
|
using namespace stmlib;
|
|
|
|
|
2019-10-14 21:51:38 +00:00
|
|
|
#define HEADER_HEIGHT 16
|
|
|
|
|
|
|
|
const char part_names[4][2] = { "A", "B", "C", "D" };
|
|
|
|
|
2019-09-19 14:41:32 +00:00
|
|
|
void UI::Update()
|
|
|
|
{
|
2019-10-22 19:54:33 +00:00
|
|
|
u8g2_ClearBuffer(display.u8g2());
|
2019-10-14 21:51:38 +00:00
|
|
|
switch (current_menu) {
|
|
|
|
case MENU_PART_1:
|
|
|
|
case MENU_PART_2:
|
|
|
|
case MENU_PART_3:
|
|
|
|
case MENU_PART_4:
|
|
|
|
DrawHeader();
|
|
|
|
DrawPartMenu(current_menu);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
2019-10-22 19:54:33 +00:00
|
|
|
display.Swap();
|
2019-10-14 21:51:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void UI::DrawHeader()
|
|
|
|
{
|
2019-10-22 19:54:33 +00:00
|
|
|
u8g2_SetFont(display.u8g2(), u8g2_font_6x12_tf);
|
2019-10-14 21:51:38 +00:00
|
|
|
for (int i = 0; i < PART_COUNT; i++) {
|
|
|
|
u8g2_SetFontMode(display.u8g2(), 1);
|
|
|
|
u8g2_SetDrawColor(display.u8g2(), 1);
|
|
|
|
if (current_menu == i)
|
2019-10-22 19:54:33 +00:00
|
|
|
u8g2_DrawBox(display.u8g2(), i * (DISPLAY_WIDTH / PART_COUNT), 0, (DISPLAY_WIDTH / PART_COUNT) - 1, HEADER_HEIGHT);
|
2019-10-14 21:51:38 +00:00
|
|
|
else
|
2019-10-22 19:54:33 +00:00
|
|
|
u8g2_DrawFrame(display.u8g2(), i * (DISPLAY_WIDTH / PART_COUNT), 0, (DISPLAY_WIDTH / PART_COUNT) - 1, HEADER_HEIGHT);
|
2019-10-14 21:51:38 +00:00
|
|
|
|
|
|
|
u8g2_SetDrawColor(display.u8g2(), 2);
|
2019-10-22 19:54:33 +00:00
|
|
|
u8g2_DrawStr(display.u8g2(), i * (DISPLAY_WIDTH / PART_COUNT) + 5, 2 + 10, part_names[i]);
|
2019-10-14 21:51:38 +00:00
|
|
|
u8g2_SetDrawColor(display.u8g2(), 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void UI::DrawPartMenu(Menu_t menu)
|
|
|
|
{
|
2019-09-19 15:55:48 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void UI::Flush()
|
|
|
|
{
|
2019-10-14 21:51:38 +00:00
|
|
|
display.Flush();
|
2019-09-19 14:41:32 +00:00
|
|
|
}
|