firmware-nucleo/App/Inc/task_menu_attribute.h (1389B)
1 /* 2 * Copyright (c) 2026 Martin Javier Klöckner <mklockner@fi.uba.ar> 3 * 4 * All rights reserved 5 * 6 * See file `LICENSE` for full details 7 */ 8 9 #ifndef TASK_INC_TASK_MENU_ATTRIBUTE_H_ 10 #define TASK_INC_TASK_MENU_ATTRIBUTE_H_ 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 /* 17 * Menu Statechart - State Transition Table 18 * 19 * +----------------+-------+---------+-------------+---------+ 20 * | Current State | Event | [Guard] | Next State | Actions | 21 * +----------------+-------+---------+-------------+---------+ 22 * | | | | | | 23 * | ST_MEN_IDLE | | | ST_MEN_IDLE | | 24 * | | | | | | 25 * +----------------+-------+---------+-------------+---------+ 26 */ 27 28 typedef enum { 29 EV_MEN_ST_IDLE, 30 EV_MEN_ST_CLOCK_SET, 31 EV_MEN_ST_TEMP_SET, 32 EV_MEN_ST_TIMER_SET_STATUS, 33 EV_MEN_ST_TIMER_SET_START, 34 EV_MEN_ST_TIMER_SET_END, 35 EV_MEN_DISPLAY_UPDATE, 36 EV_MEN_INACTIVE_TIMEOUT 37 } task_menu_ev_t; 38 39 typedef enum { 40 ST_MEN_IDLE, 41 ST_MEN_CLOCK_SET, 42 ST_MEN_TEMP_SET, 43 ST_MEN_TIMER_SET_STATUS, 44 ST_MEN_TIMER_SET_START, 45 ST_MEN_TIMER_SET_END, 46 } task_menu_st_t; 47 48 typedef struct { 49 uint32_t tick; 50 task_menu_st_t state; 51 task_menu_ev_t event; 52 bool event_flag; 53 } task_menu_dta_t; 54 55 #ifdef __cplusplus 56 } 57 #endif 58 59 #endif /* TASK_INC_TASK_MENU_ATTRIBUTE_H_ */
