From 623582bbb458fa87d5b1b433c99e180a873acf29 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Tue, 2 Aug 2011 00:03:37 +0200 Subject: [PATCH] Saner code. --- firmware/basic/menu.c | 7 +++---- firmware/lcd/print.c | 11 +++++++++++ firmware/lcd/print.h | 3 ++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/firmware/basic/menu.c b/firmware/basic/menu.c index 811e356..2216dd2 100644 --- a/firmware/basic/menu.c +++ b/firmware/basic/menu.c @@ -2,7 +2,6 @@ #include "basic/basic.h" -#include "lcd/render.h" #include "lcd/print.h" /**************************************************************************/ @@ -16,11 +15,11 @@ void handleMenu(const struct MENU *the_menu) { if (the_menu == NULL) return; -// font = &Font_7x8; // Font needs to be set externally? + setSystemFont(); for (numentries = 0; the_menu->entries[numentries] != NULL; numentries++); - visible_lines = (RESY/getFontHeight())-1; // subtract title line + visible_lines = lcdGetVisibleLines()-1; // subtract title line #ifdef SAFETY if (visible_lines < 2) return; #endif @@ -75,7 +74,7 @@ void handleMenu(const struct MENU *the_menu) { getInputWaitRelease(); if (the_menu->entries[menuselection]->callback!=NULL) the_menu->entries[menuselection]->callback(); - lcdDisplay(); + lcdRefresh(); getInputWait(); break; diff --git a/firmware/lcd/print.c b/firmware/lcd/print.c index 8466283..6f6ac75 100644 --- a/firmware/lcd/print.c +++ b/firmware/lcd/print.c @@ -2,6 +2,7 @@ #include #include #include +#include int x=0; int y=0; @@ -69,3 +70,13 @@ void lcdSetCrsr(int dx,int dy){ void lcdSetCrsrX(int dx){ x=dx; }; + +void setSystemFont(void){ + setIntFont(&Font_7x8); +}; + + +int lcdGetVisibleLines(void){ + return (RESY/getFontHeight()); // subtract title line +}; + diff --git a/firmware/lcd/print.h b/firmware/lcd/print.h index d1d8de5..dca2850 100644 --- a/firmware/lcd/print.h +++ b/firmware/lcd/print.h @@ -10,4 +10,5 @@ void lcdRefresh(); void lcdMoveCrsr(signed int dx,signed int dy); void lcdSetCrsr(int dx,int dy); void lcdSetCrsrX(int dx); - +void setSystemFont(void); +int lcdGetVisibleLines(void);