I've made and sold a menu system. It is oriented for high end PICs, like the 18F452 or similar procesors. The basic Idea is to have an array of screens like: /****** PANTALLA 4 ******/ { {" > INSTALLATION < "}, {" +Peak Level "}, }, /****** PANTALLA 5 ******/ { {" +PEAK LEVEL "}, {" Asymmetry + % "}, }, /****** PANTALLA 6 ******/ { {" > INSTALLATION < "}, {" Output Level "}, }, /****** PANTALLA 7 ******/ { {" OUTPUT LEVEL "}, {" dBu "}, }, /****** PANTALLA 8 ******/ { {" > INSTALLATION < "}, {" Band Width "}, }, (Pantalla means screen in Spanish) There are other arrays wich contain information indication which parameters are to be printed on aeach screen and where. For example screen number 7. There is also an easy way to decide which screen must be printed, like in a menu tree system. This whole system was implemented using a JOG encoder and two pushbuttons (SET and CANCEL). The depth of this menu system (on this equipment for example) is 73 screens with 8 subscrens in the biggest branch of the tree. It manages an prints 36 parameters, including date and time. Regards, Mauricio Jancic Janso Desarrollos Microchip Consultant Program Member info@janso.com.ar www.janso.com.ar +54 11 4542 3519 > -----Original Message----- > From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On Behalf > Of Harold Hallikainen > Sent: Friday, February 10, 2006 1:15 PM > To: Microcontroller discussion list - Public. > Subject: Re: [PIC]Menue system, or do I need to reinvent the wheel?? > > > > Is there any C-code examples for a n-Level menue system avaible. > > > > Or do I have to reinvent the wheel. > > > > I have searched quite a lot, but sofar I nothing. > > > > > I'll be interested in seeing what people come up with. Thus far I've used > "nested state machines" written in C or assembly. Each menu level has its > own state and a call table. When waiting for user input, the menu system > exits with its current state, and the system goes on to handle other > stuff. When the menu system is called again, it goes through all the call > tables to get to the current nested state. If there has been no user > input, it exits again. If there has been user input, it deals with it, > updates the display (alphanumeric LCD), updates the state, then exits. My > menu systems use four keys (left, right, up, down), and work the same as > the lynx web browser. Up and down move you through selections. Right > selects something. Left drops you down a menu level towards the root menu. > > Harold > > > -- > FCC Rules Updated Daily at http://www.hallikainen.com > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist