|
@@ -0,0 +1,219 @@
|
|
|
|
+#ifndef __MENU_H
|
|
|
|
+#define __MENU_H
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+void menu_init(void);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+uint8_t menu_get_current_id(void);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ void *Next;
|
|
|
|
+ void *Previous;
|
|
|
|
+ void *Parent;
|
|
|
|
+ void *Child;
|
|
|
|
+ uint8_t Select;
|
|
|
|
+ bool Focus;
|
|
|
|
+ void (*func_draw)(uint8_t);
|
|
|
|
+ void (*func_change)(bool);
|
|
|
|
+} menuItem;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+extern menuItem* selectedMenuItem;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+#define MAKE_MENU(Name, Next, Previous, Parent, Child, Select, Focus, func_draw, func_change) \
|
|
|
|
+ extern menuItem Next; \
|
|
|
|
+ extern menuItem Previous; \
|
|
|
|
+ extern menuItem Parent; \
|
|
|
|
+ extern menuItem Child; \
|
|
|
|
+ menuItem Name = {(void*) &Next, (void*)&Previous, (void*)&Parent, (void*)&Child, (uint8_t)Select, bool(Focus), func_draw, func_change}
|
|
|
|
+
|
|
|
|
+#define PREVIOUS (selectedMenuItem->Previous)
|
|
|
|
+#define NEXT (selectedMenuItem->Next)
|
|
|
|
+#define PARENT (selectedMenuItem->Parent)
|
|
|
|
+#define CHILD (selectedMenuItem->Child)
|
|
|
|
+#define SELECT (selectedMenuItem->Select)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// Главное меню. Отрисовка.
|
|
|
|
+void draw_main(uint8_t sel);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+void empty_func_bool(bool);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+void empty_func(void);
|
|
|
|
+void draw_logo(uint8_t sel);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// Измерения. Отрисовка.
|
|
|
|
+void draw_meas(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Диалог для измерения дозы
|
|
|
|
+void draw_dose_dialog(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Настройка порогов
|
|
|
|
+void draw_threshold(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Время. Отрисовка.
|
|
|
|
+void draw_time(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Дата. Отрисовка.
|
|
|
|
+void draw_data(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Подсветка. Отрисовка.
|
|
|
|
+void draw_blight(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Звук. Отрисовка.
|
|
|
|
+void draw_sound(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Обновление. Отрисовка.
|
|
|
|
+void draw_update(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// Журнал. Отрисовка.
|
|
|
|
+void draw_log(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// -------------------------------------------------------------------------- //
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+void menu_change_blight(uint8_t sel);
|
|
|
|
+//
|
|
|
|
+void menu_change_sound(uint8_t sel);
|
|
|
|
+//
|
|
|
|
+void menu_change_log(uint8_t sel);
|
|
|
|
+
|
|
|
|
+// -------------------------------------------------------------------------- //
|
|
|
|
+// Menu functions
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+void button_sel_1(void);
|
|
|
|
+//
|
|
|
|
+void button_gamma_thr_set_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_beta_thr_set_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_dose_thr_set_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_thr_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_log_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_time_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_time_set_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_data_set_sel(void);
|
|
|
|
+//
|
|
|
|
+void button_start_measuring(void);
|
|
|
|
+//
|
|
|
|
+void button_start_dose(void);
|
|
|
|
+//
|
|
|
|
+void button_settings(void);
|
|
|
|
+//
|
|
|
|
+void button_shutdown(void);
|
|
|
|
+//
|
|
|
|
+void button_down_1(void);
|
|
|
|
+//
|
|
|
|
+void button_up_down_dose(void);
|
|
|
|
+//
|
|
|
|
+void button_up_1(void);
|
|
|
|
+//
|
|
|
|
+void but_time_up(void);
|
|
|
|
+//
|
|
|
|
+void but_time_down(void);
|
|
|
|
+//
|
|
|
|
+void but_exit_1(void);
|
|
|
|
+//
|
|
|
|
+void but_exit_meas(void);
|
|
|
|
+//
|
|
|
|
+void button_sel_blight(void);
|
|
|
|
+//
|
|
|
|
+void button_exit_blight(void);
|
|
|
|
+//
|
|
|
|
+void button_exit_sound(void);
|
|
|
|
+//
|
|
|
|
+void button_exit_log(void);
|
|
|
|
+//
|
|
|
|
+void button_sel_sound(void);
|
|
|
|
+//
|
|
|
|
+void button_sel_update(void);
|
|
|
|
+//
|
|
|
|
+void button_sel_log(void);
|
|
|
|
+//
|
|
|
|
+void button_sel_log_period(void);
|
|
|
|
+//
|
|
|
|
+void draw_gamma_tr_up(void);
|
|
|
|
+//
|
|
|
|
+void draw_gamma_tr_down(void);
|
|
|
|
+//
|
|
|
|
+void draw_gamma_right(void);
|
|
|
|
+//
|
|
|
|
+void draw_gamma_left(void);
|
|
|
|
+//
|
|
|
|
+void draw_beta_tr_up(void);
|
|
|
|
+//
|
|
|
|
+void draw_beta_tr_down(void);
|
|
|
|
+//
|
|
|
|
+void draw_beta_right(void);
|
|
|
|
+//
|
|
|
|
+void draw_beta_left(void);
|
|
|
|
+//
|
|
|
|
+void draw_dose_tr_up(void);
|
|
|
|
+//
|
|
|
|
+void draw_dose_tr_down(void);
|
|
|
|
+//
|
|
|
|
+void draw_dose_right(void);
|
|
|
|
+//
|
|
|
|
+void draw_dose_left(void);
|
|
|
|
+//
|
|
|
|
+void draw_time_up(void);
|
|
|
|
+//
|
|
|
|
+void draw_time_down(void);
|
|
|
|
+//
|
|
|
|
+void draw_data_up(void);
|
|
|
|
+//
|
|
|
|
+void draw_data_down(void);
|
|
|
|
+//
|
|
|
|
+void draw_time_right(void);
|
|
|
|
+//
|
|
|
|
+void draw_time_left(void);
|
|
|
|
+//
|
|
|
|
+void draw_log_up(void);
|
|
|
|
+//
|
|
|
|
+void draw_log_down(void);
|
|
|
|
+//
|
|
|
|
+void draw_log_right(void);
|
|
|
|
+//
|
|
|
|
+void draw_log_left(void);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+//osStatus menu_block(uint32_t ms);
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+void menu_unblock(void);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+extern void menuChange(const menuItem* NewMenu);
|
|
|
|
+
|
|
|
|
+//extern osTimerId v_sound_timer_handle;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#endif // __MENU_H
|
|
|
|
+
|