Implement preliminary menu functions
This commit is contained in:
		| @@ -30,11 +30,11 @@ struct lcd_menu; | ||||
|  | ||||
| enum menu_entry_func_entry {MENU_ENTRY_FIRST_ENTER, MENU_ENTRY_CONTINUE, MENU_ENTRY_DROPBACK}; | ||||
|  | ||||
| typedef enum menu_func_ret_t (*menu_func_t)(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, | ||||
| typedef void (*menu_func_t)(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, | ||||
| 					    void *parent); | ||||
|  | ||||
| struct menu_inputs { | ||||
| 	uint16_t rotary_encoder_val; | ||||
| 	int16_t rotary_encoder_delta; | ||||
| 	enum button_state push_button; | ||||
| }; | ||||
|  | ||||
| @@ -42,8 +42,9 @@ struct lcd_menu { | ||||
| 	menu_func_t active_entry; | ||||
| 	menu_func_t root_entry; | ||||
| 	enum menu_entry_func_entry active_entry_type; | ||||
| 	menu_func_t init_parent; | ||||
| 	struct menu_inputs inputs; | ||||
| 	char lcd_buffer[LCD_ROW_COUNT][21]; | ||||
| 	void (*update_display)(uint8_t row, const char *data); | ||||
| }; | ||||
|  | ||||
| struct menu_list { | ||||
| @@ -52,15 +53,15 @@ struct menu_list { | ||||
| 	const menu_func_t *submenu_list; | ||||
| }; | ||||
|  | ||||
| void menu_handle(struct lcd_menu *menu, uint16_t rotary_encoder_value, enum button_state push_button); | ||||
| void menu_handle(struct lcd_menu *menu, uint16_t rotary_encoder_delta, enum button_state push_button); | ||||
|  | ||||
| void menu_init(struct lcd_menu *menu, menu_func_t root_node); | ||||
| void menu_init(struct lcd_menu *menu, menu_func_t root_node, void (*display_update)(uint8_t row, const char *data)); | ||||
|  | ||||
| void menu_entry_dropback(struct lcd_menu *menu, menu_func_t parent_func); | ||||
|  | ||||
| void menu_entry_enter(struct lcd_menu *menu, menu_func_t parent_func, bool handle_immediately); | ||||
|  | ||||
| void menu_override_lcd_output(uint8_t row_num, char *text); | ||||
| void menu_override_lcd_output(struct lcd_menu *menu, uint8_t row_num, const char *text); | ||||
|  | ||||
| void menu_list_display(struct menu_list *list, uint8_t top_row, uint8_t bottom_row); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user