From 639fe12fb649ae0ea7ce0c9d1d3481acde5f3ceb Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Thu, 4 Aug 2011 21:41:51 +0200 Subject: [PATCH] Double-space menu option for iggy --- firmware/basic/basic.h | 3 ++- firmware/basic/menu.c | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/firmware/basic/basic.h b/firmware/basic/basic.h index 8d0bcc1..ac0734a 100644 --- a/firmware/basic/basic.h +++ b/firmware/basic/basic.h @@ -179,8 +179,9 @@ struct MENU { struct MENU_DEF entries[]; }; -#define MENU_TIMEOUT (1<<0) +#define MENU_TIMEOUT (1<<0) #define MENU_JUSTONCE (1<<1) +#define MENU_BIG (1<<2) extern uint8_t menuflags; diff --git a/firmware/basic/menu.c b/firmware/basic/menu.c index 3b9a76a..b4824f0 100644 --- a/firmware/basic/menu.c +++ b/firmware/basic/menu.c @@ -22,6 +22,10 @@ void handleMenu(const struct MENU *the_menu) { for (numentries = 0; the_menu->entries[numentries].text != NULL ; numentries++); visible_lines = lcdGetVisibleLines()-1; // subtract title line + + if(menuflags&MENU_BIG) + visible_lines/=2; + #ifdef SAFETY if (visible_lines < 2) return; #endif @@ -32,6 +36,8 @@ void handleMenu(const struct MENU *the_menu) { lcdPrintln(the_menu->title); for (uint8_t i = current_offset; i < (visible_lines + current_offset) && i < numentries; i++) { + if(menuflags&MENU_BIG) + lcdNl(); if (i == menuselection) { lcdPrint("*"); }