Gibt es eigentlich eine best practice wie Konfigurationsdaten
strukturiert und abgelgt werden, oder vielleicht sogar eine Library
welche dies managt?
Für die meisten Benutzereingaben sind ja einfache Datentypen (byte, int,
long, float...) ausreichend.
Ein einfacher Ansatz wäre etwa so eine Struktur, aus welcher dann ein
Array gebildet wird.
1 | struct PARA {
|
2 | int value;
|
3 | int min;
|
4 | int max;
|
5 | int default;
|
6 | byte permissionLevel;
|
7 | };
|
Je nach Hardware und Anwendung könnte man dann nur den "value" oder aber
auch alle Werte im EEPROM ablegen und damit live veränderbar machen.
So eine Struktur hat allerdings den Nachteil, dass immer nur ein
bestimmter vorgegebener Datentyp (z.B. int) verwendet werden kann und
nicht Parameter mit unterschiedlichen Typen möglich sind.
Ebenso müssen ja irgendwo Texte für diese Parameter hinterlegt werden,
damit diese dann ggf. auf einem Menü angezeigt werden können.
Diese sollte man wohl in einer eigenen Struktur (im PROGMEM)
unterbringen.
1 | struct PARA_txt
|
2 | {
|
3 | paraText[DE]
|
4 | paraText[EN]
|
5 | paraText[..]
|
6 | }
|
Über ein Anwendermenü wo Parameter dann angezeigt werden (evtl. an
mehreren Stellen) müsste man sich wohl dann auch noch Gedanken machen.
Gibt es hier schon brauchbare Ansätze bei anderen Projekten um
Benutzerparameter gut und flexibel (verschieden Datentypen,
erweiterbar...) zu strukturieren und verwalten zu können, oder eben
vielleicht sogar eine Library?