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