123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- #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
|