Changes for menu
* Make Systick a 100us Timer. Millisecond ticks are still untouched. * LCD now has a 100us resolution tick * LCD uses 500us delay for waitstate * Make 'About' menu verbose: * Add 3 page menu * 1st page: Generic info * 2nd page: Version info * 3rd page: Uptime in seconds
This commit is contained in:
		@@ -403,7 +403,7 @@ enum lcd_fsm_ret lcd_fsm_write_buffer(const char (*display_buffer)[21])
 | 
			
		||||
			state_cnt++;
 | 
			
		||||
			break;
 | 
			
		||||
		case 4:
 | 
			
		||||
			if (!systick_ticks_have_passed(timestamp, 5)) {
 | 
			
		||||
			if (!systick_ticks_have_passed(timestamp, 4)) {
 | 
			
		||||
				ret = LCD_FSM_WAIT_CALL;
 | 
			
		||||
			} else {
 | 
			
		||||
				ret = LCD_FSM_CALL_AGAIN;
 | 
			
		||||
 
 | 
			
		||||
@@ -88,7 +88,7 @@ void menu_entry_enter(struct lcd_menu *menu, menu_func_t entry, bool handle_imme
 | 
			
		||||
		menu_handle(menu, menu->inputs.rotary_encoder_delta, menu->inputs.push_button);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void menu_override_lcd_output(struct lcd_menu *menu, uint8_t row_num, const char *text)
 | 
			
		||||
void menu_lcd_output(struct lcd_menu *menu, uint8_t row_num, const char *text)
 | 
			
		||||
{
 | 
			
		||||
	if (!menu || !menu->update_display)
 | 
			
		||||
		return;
 | 
			
		||||
@@ -209,6 +209,26 @@ void menu_ack_rotary_delta(struct lcd_menu *menu)
 | 
			
		||||
	menu->inputs.rotary_encoder_delta = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int16_t menu_get_rotary_delta(const struct lcd_menu *menu)
 | 
			
		||||
{
 | 
			
		||||
	int16_t ret = 0;
 | 
			
		||||
 | 
			
		||||
	if (menu)
 | 
			
		||||
		ret = menu->inputs.rotary_encoder_delta;
 | 
			
		||||
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum button_state menu_get_button_state(const struct lcd_menu *menu)
 | 
			
		||||
{
 | 
			
		||||
	enum button_state ret = BUTTON_IDLE;
 | 
			
		||||
 | 
			
		||||
	if (menu)
 | 
			
		||||
		ret = menu->inputs.push_button;
 | 
			
		||||
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void menu_display_clear(struct lcd_menu *menu)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t i;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user