PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PROGMEN-Menüsystem



schwerminator
23.11.2008, 21:59
Hi,
kennt jemand ein gutes Menüsystem in C, das alle Einträge im PROGMEM speichert und erprobt bzw. komfortabel ist? Ich finde da einfach nichts, obwohl es sowas doch eigendlich geben muss?! Über rasche Antwort würde ich mich freuen, Sven

Ceos
24.11.2008, 07:03
naja solche sachen sind meist mit einem gewissen aufwand verbunden und manche wollen halt nciht ohne gegenleistung einfach so mal ihren in mühevoller kleinarbeit erarbeiteten code hergeben!

bemüh mal die suche etwas intensiver und versuch es mal auf den gängigen opensource platformen, vielleicht hast du glück und findest aber auch hier eine gnädige seele

aber mal anders gefragt, was spricht dagegen wenn du nicht selber ein menüsystem schreibst? hilfe findest du hier im forum eigentlich immer wenn du zeigst dass du willens bist auch selber ein wenig zu leisten

Jaecko
24.11.2008, 07:59
Ich mach meine Menüs immer zweigeteilt.

Im einen definier ich nen Array mit Structs für die Menüzustände, der im Flash abgespeichert wird. Die Einträge sehen dann z.B. so aus:
{ M_MENU1, KEY_ENTER, M_LCDSETTINGS }, also bin ich im Menüpunkt 1 und drücke die Taste Enter, wird in den Menüpunkt für die LCD-Einstellungen gewechselt. Dort könnte man dann z.B mit
{ M_LCDSETTINGS, KEY_ESC, M_MAIN } zurück zum Hauptbildschirm.

Die Texte für die Menüs liegen in einem _langen_ String im Flash, jeweils getrennt durch '\0'. Eine eigens erstellte Funktion "Menu_GetString(index, text)" sucht in diesem String den Eintrag Nr. 'index' und kopiert dessen Text nach 'text'. Untereinandergeschrieben sieht der String etwa so aus:
"Menu\0"
"Settings\0"
"LCD-Settings\0"
"Back\0"
"Cancel\0"

Mit der Funktion und Index = 3 steht in text dann 'Back' drin.