Forum: Mikrocontroller und Digitale Elektronik Struktur von Konfigurationsdaten / Benutzer Parametern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Michael U. (michaeluray)


Bewertung
-1 lesenswert
nicht lesenswert
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?

von Klaus H. (klummel69)


Bewertung
0 lesenswert
nicht lesenswert
Vermutlich gibt es auch Libraries dazu, aber das Problem ist doch, dass 
die Anforderungen in jedem Projekt anders sind.

Oft darf ein normaler User nur den Wert ändern.
Die Limits (max/min) darf ggf nur ein Admin ändern oder gar von 
niemandem (weil technisch begrenzt). Daher macht es (manchmal) Sinn, 
Daten und Ihre Grenzen ggf zu trennen oder unterschiedliche Userrechte 
zu vergeben.

Hab mir dafür mal eine Library mit C++ Klassen erstellt (geht natürlich 
auch mit C oder einer anderen Sprache). Mit in der Klasse lagen auch die 
Verweise zu den Beschreibungstexten und Hilfen.
Je Datentyp eine (abgeleitete) Klasse.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.