menu_items.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include "stm32g4xx_hal.h"
  2. #include "menu_items.h"
  3. //#include "menu_tree.h"
  4. #include "FreeRTOS.h"
  5. #include "task.h"
  6. #include "menu.h"
  7. #include <string.h>
  8. #include <stdio.h>
  9. #define DBG if(1)
  10. extern bool update_flag;
  11. // Главное меню. Отрисовка.
  12. void draw_main(uint8_t sel)
  13. {
  14. static int counter = 0;
  15. update_flag = true;
  16. DBG printf("\033c");
  17. DBG printf("This is main screen\r\n");
  18. DBG printf("Test counter: %u\r\n", counter++);
  19. }
  20. //
  21. void draw_settings(uint8_t sel)
  22. {
  23. update_flag = true;
  24. DBG printf("\033c");
  25. DBG printf("Factor 1: x\r\n");
  26. DBG printf("Factor 2: x\r\n");
  27. DBG printf("Revers : yes\r\n");
  28. DBG printf("Save settings\r\n");
  29. DBG printf("\r\nSelect item: %u\r\n", sel);
  30. }
  31. //
  32. void menuChange(void* NewMenu, bool direction)
  33. {
  34. if ((void *) NewMenu == NULL)
  35. return;
  36. if (selectedMenuItem->Focus) {
  37. selectedMenuItem->func_change(direction);
  38. }
  39. else {
  40. selectedMenuItem = (menuItem*)NewMenu;
  41. (*(selectedMenuItem->func_draw))(selectedMenuItem->Select);
  42. }
  43. #if 0
  44. // Если элемент меню уже выбран - меняем его значение
  45. if (selectedMenuItem->Focus) {
  46. if (m_meas.Focus != 1)
  47. selectedMenuItem->func_change(direction);
  48. (*(selectedMenuItem->func_draw))(selectedMenuItem->Select);
  49. }
  50. else {
  51. selectedMenuItem = (menuItem*)NewMenu;
  52. (*(selectedMenuItem->func_draw))(selectedMenuItem->Select);
  53. }
  54. #endif
  55. }
  56. //
  57. void empty_func_bool(bool) {}