summaryrefslogtreecommitdiff
path: root/firmware/2lib/2ui_screens.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/2lib/2ui_screens.c')
-rw-r--r--firmware/2lib/2ui_screens.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c
index e8f59164..a2cd60ff 100644
--- a/firmware/2lib/2ui_screens.c
+++ b/firmware/2lib/2ui_screens.c
@@ -266,12 +266,25 @@ static vb2_error_t debug_info_init(struct vb2_ui_context *ui)
ui->error_code = VB2_UI_ERROR_DEBUG_LOG;
return vb2_ui_screen_back(ui);
}
+
return log_page_init(ui,
DEBUG_INFO_ITEM_PAGE_UP,
DEBUG_INFO_ITEM_PAGE_DOWN,
DEBUG_INFO_ITEM_BACK);
}
+static vb2_error_t debug_info_reinit(struct vb2_ui_context *ui)
+{
+ const char *log_string = vb2ex_get_debug_info(ui->ctx);
+ ui->state->page_count = vb2ex_prepare_log_screen(log_string);
+ if (ui->state->page_count == 0) {
+ ui->error_code = VB2_UI_ERROR_DEBUG_LOG;
+ return vb2_ui_screen_back(ui);
+ }
+
+ return VB2_REQUEST_UI_CONTINUE;
+}
+
static vb2_error_t debug_info_page_prev_action(struct vb2_ui_context *ui)
{
return log_page_prev(ui,
@@ -304,6 +317,7 @@ static const struct vb2_screen_info debug_info_screen = {
.id = VB2_SCREEN_DEBUG_INFO,
.name = "Debug info",
.init = debug_info_init,
+ .reinit = debug_info_reinit,
.menu = MENU_ITEMS(debug_info_items),
};