#include "stm32g4xx_hal.h" #include "menu_items.h" //#include "menu_tree.h" #include "FreeRTOS.h" #include "task.h" #include "menu.h" #include #include #define DBG if(1) extern bool update_flag; // Главное меню. Отрисовка. void draw_main(uint8_t sel) { static int counter = 0; update_flag = true; DBG printf("\033c"); DBG printf("This is main screen\r\n"); DBG printf("Test counter: %u\r\n", counter++); } // void draw_settings(uint8_t sel) { static int counter = 0; update_flag = true; DBG printf("\033c"); DBG printf("This is settings screen\r\n"); } // void menuChange(void* NewMenu, bool direction) { if ((void *) NewMenu == NULL) return; if (selectedMenuItem->Focus) { selectedMenuItem->func_change(direction); } else { selectedMenuItem = (menuItem*)NewMenu; (*(selectedMenuItem->func_draw))(selectedMenuItem->Select); } #if 0 // Если элемент меню уже выбран - меняем его значение if (selectedMenuItem->Focus) { if (m_meas.Focus != 1) selectedMenuItem->func_change(direction); (*(selectedMenuItem->func_draw))(selectedMenuItem->Select); } else { selectedMenuItem = (menuItem*)NewMenu; (*(selectedMenuItem->func_draw))(selectedMenuItem->Select); } #endif } // void empty_func_bool(bool) {}