diff --git a/common/gui/screen.c b/common/gui/screen.c index 1365a5e..8eb3072 100644 --- a/common/gui/screen.c +++ b/common/gui/screen.c @@ -6,6 +6,10 @@ * This makes it safe to change the screen from an touch interrupt (e.g. button callback) */ +/* Possible Improvements: + * Ensure that you can not navigate to a screen which is already in the history (because it will corrupt the list) + */ + static SCREEN_STRUCT* screen_list = NULL; //Head of the linked list which stores the screen history. static SCREEN_STRUCT* screen_current = NULL; //Pointer to the current screen (= tail of the list) static volatile SCREEN_STRUCT* screen_goto = NULL; //Screen we should navigate to once we enter the gui_screen_update() method again diff --git a/common/gui/screen.h b/common/gui/screen.h index fdef182..8ef82a2 100644 --- a/common/gui/screen.h +++ b/common/gui/screen.h @@ -12,7 +12,7 @@ /** * @defgroup screen Screen * The Screen Submodule provides an api to navigate between different "screens" on the UI. - * Each screen must provide an enter, update and a leave method; which will be called from this module at the right time. + * Each screen must provide an enter, update and a leave method; which will be called from this module at the right time. * The implemented screens of the application are documented in the \ref screens module. */ /*@}*/ @@ -44,6 +44,7 @@ typedef struct SCREEN_S{ /** * Navigate to the given screen as soon as the app enters the main loop again (and gui_screen_update() is called) * It's safe to call this method from an interrupt + * @note Do not pass a screen which is already in your history of screens! * @param screen A Pointer to the preinitialized SCREEN_STRUCT * @return true on success */ diff --git a/common/touch/touch.c b/common/touch/touch.c index 93eac9f..fbd9d5f 100644 --- a/common/touch/touch.c +++ b/common/touch/touch.c @@ -12,7 +12,6 @@ /* Possible improvements: * Exchange pointer-list "areas" with a linked list. This would ensure that we can always accept new regions - * Implement calibration stuff, and calculate the real coordinates out of the data provided in touch_add_raw_event() */ #define NUM_AREAS 50 //Number of Touch Areas we can manage diff --git a/doc/docu.odt b/doc/docu.odt index 8a83070..d7db2d9 100644 Binary files a/doc/docu.odt and b/doc/docu.odt differ diff --git a/doc/docu.pdf b/doc/docu.pdf index 9871a38..87c1130 100644 Binary files a/doc/docu.pdf and b/doc/docu.pdf differ