diff --git a/control/src/README.md b/control/src/README.md index 99a8a8d..f4b0b4a 100644 --- a/control/src/README.md +++ b/control/src/README.md @@ -1,3 +1,85 @@ -# Einführung +# B15F Benutzerhandbuch +*Hinweis*: Terminal-Befehle sind **fett** gedruckt + +## Installation + +### 1. Abhängigkeiten installieren + (a) **sudo apt-get update** + (b) **sudo apt-get install git avr-libc avrdude libncurses5-dev g++** + +### 2. Das Repository klonen + (a) **cd /tmp** + (b) **git clone "https://github.com/devfix/b15f.git"** + +### 3. Die Firmware installieren + (a) **cd "/tmp/b15f/firmware"** + + (b) Passen Sie in der Datei *Makefile* die Option "MCU = ..." an die MCU des vorliegenden Boards an + (*atmega1284* und *atmega1284p* sind nicht identisch!) + + (c) **make** + + Wenn udev richtig konfiguriert wurde: + (d I) **make upload** + Sonst: + (d II) **sudo make upload** + +### 4. Die Steuersoftware (Bibliothek & CLI) installieren + (a) **cd "/tmp/b15f/control/src"** + (b) **make** + (Die Warnungen durch doxygen können ignoriert werden.) + + (c) **sudo make install** + +## Das CommandLineInterface (CLI) benutzen + (a) Öffnen Sie ein Terminal und maximieren Sie das Fenster + (b) Start des CLI erfolgt durch **b15fcli** + (c) Die Navigation erolgt durch <Tab>, die Pfeiltasten und <Enter> oder die Maus + (d) Mit <Strg + c> kann das Programm sofort verlassen werden + +## Eigene Programme mit B15F schreiben + +### Grundsätzliches Die wichtigste Klasse für die Steuerung des Board 15 ist [B15F](classB15F.html). -Dort befindet sich auch eine Übersicht der verfügbaren Befehle. +Dort befindet sich auch eine Übersicht der verfügbaren Befehle. + +### Beispiele +In dem Verzeichnis [b15f/control/examples](https://github.com/devfix/b15f/tree/master/control/examples) sind einige Beispiele für die Verwendung einzelner B15F Funktionen. +Zu jedem Beispiel gehört eine *main.cpp* mit dem Quellcode und eine *Makefile*-Datei. +Das Beispiel kann mit **make** kompiliert und mit **./main.elf** gestartet werden. + +### Den B15F Treiber verwenden +Benötigt wird der B15F-Header: +`#include ` +und der Header für die plottyfile-Generierung, falls mit Kennlinien gearbeitet werden soll: +`#include ` + +Für die Interaktion wird eine Referenz auf die aktuelle Treiberinstanz gespeichert: +`B15F& drv = B15F::getInstance();` +Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Board hergestellt. + +Ab jetzt können auf dem Object `drv` verschiedene Methoden angewand werden, siehe [B15F](classB15F.html). + +### Kennlinien mit plottyfile generieren +Die Beschreibung zu Plottyfile befindet sich [hier](classPlottyFile.html). +Nach dem Include von plottyfile kann ein neues Objekt erzeugt und konfiguriert werden: +```C++ +PlottyFile pf; +pf.setUnitX("V"); +pf.setUnitY("V"); +pf.setUnitPara("V"); +pf.setDescX("U_{OUT}"); +pf.setDescY("U_{IN}"); +pf.setDescPara(""); +pf.setRefX(5); +pf.setRefY(5); +pf.setParaFirstCurve(0); +pf.setParaStepWidth(0); +``` +Messpunkte können anschließend hinzugefügt werden. +Dabei gehören Punkte mit dem gleichen Index für `curve` (*uint8_t*) zur selben Kurve und erhalten durch Plotty automatisch die gleiche Farbe. +```C++ +pf.addDot(Dot(x, y, curve)); +``` +`x` und `y` sind *uint16_t*, also keine Gleitkommazahlen. +