From 9640bb00c8b16073af9eadf9e40ede3c2e0e4020 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 31 Jul 2019 11:34:23 +0200 Subject: [PATCH] Numerierungen in der Anleitung --- control/src/Makefile | 2 ++ control/src/README.md | 34 +++++++++--------- control/src/drv/commit_hash.h | 2 +- control/src/publish_helper | 2 -- docs/html/annotated.html | 2 +- docs/html/b15f_8cpp_source.html | 2 +- docs/html/b15f_8h_source.html | 2 +- docs/html/classB15F-members.html | 2 +- docs/html/classB15F.html | 2 +- docs/html/classDot-members.html | 2 +- docs/html/classDot.html | 2 +- docs/html/classDriverException-members.html | 2 +- docs/html/classDriverException.html | 2 +- docs/html/classPlottyFile-members.html | 2 +- docs/html/classPlottyFile.html | 2 +- docs/html/classTimeoutException-members.html | 2 +- docs/html/classTimeoutException.html | 2 +- docs/html/classUSART-members.html | 2 +- docs/html/classUSART.html | 2 +- docs/html/classUSARTException-members.html | 2 +- docs/html/classUSARTException.html | 2 +- docs/html/classView-members.html | 2 +- docs/html/classView.html | 2 +- docs/html/classViewInfo-members.html | 2 +- docs/html/classViewInfo.html | 2 +- docs/html/classViewMonitor-members.html | 2 +- docs/html/classViewMonitor.html | 2 +- docs/html/classViewPromt-members.html | 2 +- docs/html/classViewPromt.html | 2 +- docs/html/classViewSelection-members.html | 2 +- docs/html/classViewSelection.html | 2 +- docs/html/classes.html | 2 +- docs/html/cli_8cpp_source.html | 2 +- docs/html/commit__hash_8h_source.html | 4 +-- .../dir_1788f8309b1a812dcb800a185471cf6c.html | 2 +- .../dir_587c94d866dbb2f408f78cf41f9b2f8d.html | 2 +- docs/html/dot_8cpp_source.html | 2 +- docs/html/dot_8h_source.html | 2 +- docs/html/driverexception_8h_source.html | 2 +- docs/html/files.html | 2 +- docs/html/functions.html | 2 +- docs/html/functions_func.html | 2 +- docs/html/functions_vars.html | 2 +- docs/html/hierarchy.html | 2 +- docs/html/index.html | 36 +++++++++---------- docs/html/plottyfile_8cpp_source.html | 2 +- docs/html/plottyfile_8h_source.html | 2 +- docs/html/requests_8h_source.html | 2 +- docs/html/timeoutexception_8h_source.html | 2 +- docs/html/ui_8cpp_source.html | 2 +- docs/html/ui_8h_source.html | 2 +- docs/html/usart_8cpp_source.html | 2 +- docs/html/usart_8h_source.html | 2 +- docs/html/usartexception_8h_source.html | 2 +- docs/html/view_8cpp_source.html | 2 +- docs/html/view_8h_source.html | 2 +- docs/html/view__info_8cpp_source.html | 2 +- docs/html/view__info_8h_source.html | 2 +- docs/html/view__monitor_8cpp_source.html | 2 +- docs/html/view__monitor_8h_source.html | 2 +- docs/html/view__promt_8cpp_source.html | 2 +- docs/html/view__promt_8h_source.html | 2 +- docs/html/view__selection_8cpp_source.html | 2 +- docs/html/view__selection_8h_source.html | 2 +- 64 files changed, 98 insertions(+), 98 deletions(-) delete mode 100755 control/src/publish_helper diff --git a/control/src/Makefile b/control/src/Makefile index 2b782de..cf2b4ff 100644 --- a/control/src/Makefile +++ b/control/src/Makefile @@ -3,6 +3,8 @@ # Author: Tristan Krause # Creation Date: 2019-03-22 +# Änderungen veröffentlichen, vorher nochmal: make clean && make && make doc && make clean && make doc && make + # Environment PATH_COMPILER = g++ PATH_DOXYGEN = ../bin/doxygen diff --git a/control/src/README.md b/control/src/README.md index e4c0298..50282fe 100644 --- a/control/src/README.md +++ b/control/src/README.md @@ -4,7 +4,7 @@ - Als Student/Studentin können Sie davon ausgehen, dass die Steuersoftware auf Ihrem Arbeitsplatz bereits installiert ist - D.h. Sie müssen zu Beginn jeder Übung nur die Firmware neu aufspielen (Installation Abschnitt 3) -## Einführung +## 1 Einführung Das gesamte Softwareprojekt besteht aus zwei Teilen: Die ***Firmware*** ist die Software auf dem Mikrocontroller (MCU) des Board 15. Der Mikrocontroller steuert die Peripherie (ADCs, DACs, ...) über einen SPI-BUS. @@ -12,9 +12,9 @@ Der zweite Teil von B15F ist die ***Steuersoftware***, die auf dem PC ausgeführ Die Steuersoftware besitzt ein *CLI* (command line interface) mit einer Benutzerschnittstelle für die einfache Fernsteuerung des B15F. Außerdem wird eine Bibliothek (*b15fdrv*) installiert, die eine einfache Entwicklung kleiner Steuerprogramme erlaubt. -## Installation +## 2 Installation -### Installation mit Installationsscript (empfohlen) +### 2.1 Installation mit Installationsscript (empfohlen) (a) Laden Sie das [Installationsscript](https://raw.githubusercontent.com/devfix/b15f/master/install) herunter, am besten nach **/tmp/** (b) Setzen Sie die Ausführungsberechtigung @@ -22,17 +22,17 @@ Außerdem wird eine Bibliothek (*b15fdrv*) installiert, die eine einfache Entwic (d) Starten Sie das Installationsscript (e) Treten Probleme auf? Das B15F Verzeichnis löschen und das Script nocheinmal starten -### Installation von Hand (falls Installationsscript mit Fehler abbricht) +### 2.2 Installation von Hand (falls Installationsscript mit Fehler abbricht) -#### 1. Abhängigkeiten installieren +#### 2.2.1. Abhängigkeiten installieren (a) APT-Pakete aktualisieren: **sudo apt-get update** (b) Notwendige Pakete installieren bzw. aktualisieren: **sudo apt-get install git avr-libc avrdude libncurses5-dev g++ astyle** -#### 2. Das Repository klonen +#### 2.2.2. Das Repository klonen (a) Home-Verzeichnis betreten: **cd /home/famulus/** (b) B15F-Repository klonen (herunterladen): **git clone "https://github.com/devfix/b15f.git"** -#### 3. Die Firmware installieren +#### 2.2.3. Die Firmware installieren (a) Installations-Verzeichnis betreten: **cd "/home/famulus/b15f/firmware"** (b) Passen Sie in der Datei *Makefile* (im aktuellen Verzeichnis) die Option "MCU = ..." an die MCU des vorliegenden Boards an. **Achtung**: *atmega1284* und *atmega1284p* sind nicht identisch! @@ -48,17 +48,17 @@ ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout" (h) Kompiliere Firmware: **make** (i) Lade Firmware auf das B15: **make upload** -#### 4. Die Steuersoftware (Bibliothek & CLI) installieren +#### 2.2.4. Die Steuersoftware (Bibliothek & CLI) installieren (a) Installations-Verzeichnis betreten: **cd "/home/famulus/b15f/control/src"** (b) Kompiliere Steuersoftware: **make** (c) Installiere die Bibliothek und CLI (global): **sudo make install** -## Aktualisierung +## 3 Aktualisierung -### Aktualisierung mit Installationsscript (empfohlen) +### 3.1 Aktualisierung mit Installationsscript (empfohlen) Wiederholen Sie den Schritt "Installation mit Installationsscript". Das Script erkennt die bereits installierte Version und aktualisiert diese. -### Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht) +### 3.2 Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht) (a) Installations-Verzeichnis betreten: **cd /home/famulus/b15f/** (b) Neuste Software-Version vom GitHub-Server ziehen: **git pull && git pull --prune** (c) Betrete Firmware-Verzeichnis: **cd "/home/famulus/b15f/firmware"** @@ -67,15 +67,15 @@ Wiederholen Sie den Schritt "Installation mit Installationsscript". Das Script e (f) Lösche altes Kompilat der Steuersoftware: **make clean** (g) "Installation von Hand" ab Schritt 3 (h) durchführen -## Die CommandLineInterface (CLI) benutzen +## 4 Die CommandLineInterface (CLI) benutzen (a) Öffnen Sie ein Terminal und maximieren Sie das Fenster (b) Start des CLI erfolgt durch den Befehl **b15fcli** (c) Die Navigation erfolgt durch <Tab>, die Pfeiltasten und <Enter> oder die Maus (d) Mit <Strg + c> kann das Programm sofort verlassen werden -## Eigene Programme mit der B15F-Bibliothek schreiben +## 5 Eigene Programme mit der B15F-Bibliothek schreiben -### Grundsätzliches +### 5.1 Grundsätzliches Verwendet wird die Bibliothekt *b15fdrv*. Die wichtigste Klasse für die Steuerung des Board 15 ist [B15F](https://devfix.github.io/b15f/html/classB15F.html). Dort befindet sich auch eine Übersicht der verfügbaren Befehle. @@ -83,12 +83,12 @@ Dort befindet sich auch eine Übersicht der verfügbaren Befehle. Hinweise zur Struktur (sind für die Verwendung nicht weiter wichtig): Die Header-Dateien sind global unter "/usr/include/b15f/" installiert. Die *b15fdrv*-Bibliothekt befindet sich in dem Verzeichnis "/usr/lib/" und die ausführbaren Programme (plotty, b15fcli) "/usr/bin/". -### Beispiele +### 5.2 Beispiele In dem Verzeichnis [b15f/control/examples](https://github.com/devfix/b15f/tree/master/control/examples) (des Repositories) 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. Durch das Makefile wird beim Kompilieren und Linken die Bibliothek *b15fdrv* automatisch einbezogen. Das Beispiel muss durch Sie also nur mit **make** kompiliert und mit .**/main.elf** gestartet werden. -### Den B15F Treiber verwenden +### 5.3 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: @@ -100,7 +100,7 @@ Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Boa Ab jetzt können auf dem Object `drv` verschiedene Methoden angewand werden, siehe [B15F](https://devfix.github.io/b15f/html/classB15F.html). -### Kennlinien mit plottyfile generieren +### 5.4 Kennlinien mit plottyfile generieren Die Beschreibung zu Plottyfile befindet sich [hier](https://devfix.github.io/b15f/html/classPlottyFile.html). Nach dem Include von plottyfile kann ein neues Objekt erzeugt und konfiguriert werden: ```C++ diff --git a/control/src/drv/commit_hash.h b/control/src/drv/commit_hash.h index 3c3aaa4..dceebaa 100644 --- a/control/src/drv/commit_hash.h +++ b/control/src/drv/commit_hash.h @@ -1,4 +1,4 @@ #ifndef COMMIT_HASH_H #define COMMIT_HASH_H -const char COMMIT_HASH[] = "63bdf77ff2a041e05e0b4a5f0e02225a334eb064"; +const char COMMIT_HASH[] = "28277098cbdeb228c0fcb0c04394643f6fd15a20"; #endif // COMMIT_HASH_H diff --git a/control/src/publish_helper b/control/src/publish_helper deleted file mode 100755 index d9f92fc..0000000 --- a/control/src/publish_helper +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -make clean && make && make doc && make clean && make doc && make diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 2763de3..e4a439d 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -85,7 +85,7 @@ $(function() { diff --git a/docs/html/b15f_8cpp_source.html b/docs/html/b15f_8cpp_source.html index 54ebd56..52f2788 100644 --- a/docs/html/b15f_8cpp_source.html +++ b/docs/html/b15f_8cpp_source.html @@ -121,7 +121,7 @@ $(function() { diff --git a/docs/html/b15f_8h_source.html b/docs/html/b15f_8h_source.html index eb56fdf..650fc40 100644 --- a/docs/html/b15f_8h_source.html +++ b/docs/html/b15f_8h_source.html @@ -117,7 +117,7 @@ $(function() { diff --git a/docs/html/classB15F-members.html b/docs/html/classB15F-members.html index d15ec44..fbe016a 100644 --- a/docs/html/classB15F-members.html +++ b/docs/html/classB15F-members.html @@ -114,7 +114,7 @@ $(function() { diff --git a/docs/html/classB15F.html b/docs/html/classB15F.html index b1e6a90..7961a88 100644 --- a/docs/html/classB15F.html +++ b/docs/html/classB15F.html @@ -1309,7 +1309,7 @@ constexpr static uint32_t  diff --git a/docs/html/classDot-members.html b/docs/html/classDot-members.html index d3a68a0..77b821a 100644 --- a/docs/html/classDot-members.html +++ b/docs/html/classDot-members.html @@ -76,7 +76,7 @@ $(function() { diff --git a/docs/html/classDot.html b/docs/html/classDot.html index acadb54..4a41143 100644 --- a/docs/html/classDot.html +++ b/docs/html/classDot.html @@ -196,7 +196,7 @@ Public Member Functions diff --git a/docs/html/classDriverException-members.html b/docs/html/classDriverException-members.html index 6214a3c..f63d184 100644 --- a/docs/html/classDriverException-members.html +++ b/docs/html/classDriverException-members.html @@ -77,7 +77,7 @@ $(function() { diff --git a/docs/html/classDriverException.html b/docs/html/classDriverException.html index 2ee7696..3a97cb1 100644 --- a/docs/html/classDriverException.html +++ b/docs/html/classDriverException.html @@ -109,7 +109,7 @@ std::string msg_< diff --git a/docs/html/classPlottyFile-members.html b/docs/html/classPlottyFile-members.html index 666d715..1493624 100644 --- a/docs/html/classPlottyFile-members.html +++ b/docs/html/classPlottyFile-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/docs/html/classPlottyFile.html b/docs/html/classPlottyFile.html index 07204cd..02be7ac 100644 --- a/docs/html/classPlottyFile.html +++ b/docs/html/classPlottyFile.html @@ -811,7 +811,7 @@ Public Member Functions diff --git a/docs/html/classTimeoutException-members.html b/docs/html/classTimeoutException-members.html index 3032f91..3c9f2f9 100644 --- a/docs/html/classTimeoutException-members.html +++ b/docs/html/classTimeoutException-members.html @@ -77,7 +77,7 @@ $(function() { diff --git a/docs/html/classTimeoutException.html b/docs/html/classTimeoutException.html index 28b6f56..e6f713c 100644 --- a/docs/html/classTimeoutException.html +++ b/docs/html/classTimeoutException.html @@ -239,7 +239,7 @@ std::string  diff --git a/docs/html/classUSART-members.html b/docs/html/classUSART-members.html index fa08ac3..6c9f906 100644 --- a/docs/html/classUSART-members.html +++ b/docs/html/classUSART-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/docs/html/classUSART.html b/docs/html/classUSART.html index dd37bb1..b0ea1f3 100644 --- a/docs/html/classUSART.html +++ b/docs/html/classUSART.html @@ -523,7 +523,7 @@ Public Member Functions diff --git a/docs/html/classUSARTException-members.html b/docs/html/classUSARTException-members.html index e1da569..4820c91 100644 --- a/docs/html/classUSARTException-members.html +++ b/docs/html/classUSARTException-members.html @@ -77,7 +77,7 @@ $(function() { diff --git a/docs/html/classUSARTException.html b/docs/html/classUSARTException.html index 0fd2629..ccdff9b 100644 --- a/docs/html/classUSARTException.html +++ b/docs/html/classUSARTException.html @@ -239,7 +239,7 @@ std::string  diff --git a/docs/html/classView-members.html b/docs/html/classView-members.html index 8b6e770..c128b99 100644 --- a/docs/html/classView-members.html +++ b/docs/html/classView-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/docs/html/classView.html b/docs/html/classView.html index 5fe832d..8c67c74 100644 --- a/docs/html/classView.html +++ b/docs/html/classView.html @@ -157,7 +157,7 @@ constexpr static int KEY_E diff --git a/docs/html/classViewInfo-members.html b/docs/html/classViewInfo-members.html index f3404d9..176829a 100644 --- a/docs/html/classViewInfo-members.html +++ b/docs/html/classViewInfo-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/docs/html/classViewInfo.html b/docs/html/classViewInfo.html index 8c455b5..b6e43bb 100644 --- a/docs/html/classViewInfo.html +++ b/docs/html/classViewInfo.html @@ -185,7 +185,7 @@ static std::vector< std::string >  diff --git a/docs/html/classViewMonitor-members.html b/docs/html/classViewMonitor-members.html index 4bc3d05..3b836a1 100644 --- a/docs/html/classViewMonitor-members.html +++ b/docs/html/classViewMonitor-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/docs/html/classViewMonitor.html b/docs/html/classViewMonitor.html index 99954de..e3795ae 100644 --- a/docs/html/classViewMonitor.html +++ b/docs/html/classViewMonitor.html @@ -197,7 +197,7 @@ constexpr static int KEY_E diff --git a/docs/html/classViewPromt-members.html b/docs/html/classViewPromt-members.html index 3010384..5fe509a 100644 --- a/docs/html/classViewPromt-members.html +++ b/docs/html/classViewPromt-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/docs/html/classViewPromt.html b/docs/html/classViewPromt.html index 27b6be7..8ece5b1 100644 --- a/docs/html/classViewPromt.html +++ b/docs/html/classViewPromt.html @@ -205,7 +205,7 @@ static std::vector< std::string >  diff --git a/docs/html/classViewSelection-members.html b/docs/html/classViewSelection-members.html index c2ed09b..116bec5 100644 --- a/docs/html/classViewSelection-members.html +++ b/docs/html/classViewSelection-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/docs/html/classViewSelection.html b/docs/html/classViewSelection.html index be88440..7251946 100644 --- a/docs/html/classViewSelection.html +++ b/docs/html/classViewSelection.html @@ -172,7 +172,7 @@ static std::vector< std::string >  diff --git a/docs/html/classes.html b/docs/html/classes.html index 154016c..b7d5ff2 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -105,7 +105,7 @@ $(function() { diff --git a/docs/html/cli_8cpp_source.html b/docs/html/cli_8cpp_source.html index 71d909b..63d294b 100644 --- a/docs/html/cli_8cpp_source.html +++ b/docs/html/cli_8cpp_source.html @@ -72,7 +72,7 @@ $(function() {
static void setAbortHandler(errorhandler_t func)
Definition: b15f.cpp:192
diff --git a/docs/html/commit__hash_8h_source.html b/docs/html/commit__hash_8h_source.html index 1bf923d..8bfcaa2 100644 --- a/docs/html/commit__hash_8h_source.html +++ b/docs/html/commit__hash_8h_source.html @@ -70,10 +70,10 @@ $(function() {
commit_hash.h
-
1 #ifndef COMMIT_HASH_H
2 #define COMMIT_HASH_H
3 const char COMMIT_HASH[] = "63bdf77ff2a041e05e0b4a5f0e02225a334eb064";
4 #endif // COMMIT_HASH_H
+
1 #ifndef COMMIT_HASH_H
2 #define COMMIT_HASH_H
3 const char COMMIT_HASH[] = "28277098cbdeb228c0fcb0c04394643f6fd15a20";
4 #endif // COMMIT_HASH_H
diff --git a/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html b/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html index dc0f2b0..a68d6a4 100644 --- a/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html +++ b/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/dir_587c94d866dbb2f408f78cf41f9b2f8d.html b/docs/html/dir_587c94d866dbb2f408f78cf41f9b2f8d.html index c25f366..8890416 100644 --- a/docs/html/dir_587c94d866dbb2f408f78cf41f9b2f8d.html +++ b/docs/html/dir_587c94d866dbb2f408f78cf41f9b2f8d.html @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/dot_8cpp_source.html b/docs/html/dot_8cpp_source.html index 0220344..8282285 100644 --- a/docs/html/dot_8cpp_source.html +++ b/docs/html/dot_8cpp_source.html @@ -77,7 +77,7 @@ $(function() {
Dot(uint16_t x, uint16_t y, uint8_t curve)
Definition: dot.cpp:3
diff --git a/docs/html/dot_8h_source.html b/docs/html/dot_8h_source.html index b1653ba..2603c4c 100644 --- a/docs/html/dot_8h_source.html +++ b/docs/html/dot_8h_source.html @@ -78,7 +78,7 @@ $(function() {
Dot(uint16_t x, uint16_t y, uint8_t curve)
Definition: dot.cpp:3
diff --git a/docs/html/driverexception_8h_source.html b/docs/html/driverexception_8h_source.html index 61d7001..e56b7aa 100644 --- a/docs/html/driverexception_8h_source.html +++ b/docs/html/driverexception_8h_source.html @@ -74,7 +74,7 @@ $(function() { diff --git a/docs/html/files.html b/docs/html/files.html index 6c0b09b..8ece1a2 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -101,7 +101,7 @@ $(function() { diff --git a/docs/html/functions.html b/docs/html/functions.html index 7ad4545..24de8cf 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -407,7 +407,7 @@ $(function() { diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index b87cc02..f4ed71a 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -374,7 +374,7 @@ $(function() { diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index c23e978..378b2bf 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -92,7 +92,7 @@ $(function() { diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index 651f1ae..d6494d6 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -86,7 +86,7 @@ $(function() { diff --git a/docs/html/index.html b/docs/html/index.html index 0ffd50e..723813f 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -72,16 +72,16 @@ $(function() { - D.h. Sie müssen zu Beginn jeder Übung nur die Firmware neu aufspielen (Installation Abschnitt 3)

-Einführung

+1 Einführung

Das gesamte Softwareprojekt besteht aus zwei Teilen:
Die Firmware ist die Software auf dem Mikrocontroller (MCU) des Board 15. Der Mikrocontroller steuert die Peripherie (ADCs, DACs, ...) über einen SPI-BUS.
Der zweite Teil von B15F ist die Steuersoftware, die auf dem PC ausgeführt wird. Diese sendet über eine USART-Schnittstelle (RS-232) Befehle an den Mikrocontroller.
Die Steuersoftware besitzt ein CLI (command line interface) mit einer Benutzerschnittstelle für die einfache Fernsteuerung des B15F.
Außerdem wird eine Bibliothek (b15fdrv) installiert, die eine einfache Entwicklung kleiner Steuerprogramme erlaubt.

-Installation

+2 Installation

-Installation mit Installationsscript (empfohlen)

+2.1 Installation mit Installationsscript (empfohlen)

(a) Laden Sie das Installationsscript herunter, am besten nach **/tmp/**
(b) Setzen Sie die Ausführungsberechtigung
(c) Schalten Sie die Stromversorgung von B15 an und schließen Sie den ISP Programmer an
@@ -89,19 +89,19 @@ Installation mit Installationsscript (empfohlen) (e) Treten Probleme auf? Das B15F Verzeichnis löschen und das Script nocheinmal starten

-Installation von Hand (falls Installationsscript mit Fehler abbricht)

+2.2 Installation von Hand (falls Installationsscript mit Fehler abbricht)

-1. Abhängigkeiten installieren

+2.2.1. Abhängigkeiten installieren

(a) APT-Pakete aktualisieren: sudo apt-get update
(b) Notwendige Pakete installieren bzw. aktualisieren: sudo apt-get install git avr-libc avrdude libncurses5-dev g++ astyle

-2. Das Repository klonen

+2.2.2. Das Repository klonen

(a) Home-Verzeichnis betreten: cd /home/famulus/
(b) B15F-Repository klonen (herunterladen): git clone "https://github.com/devfix/b15f.git"

-3. Die Firmware installieren

+2.2.3. Die Firmware installieren

(a) Installations-Verzeichnis betreten: cd "/home/famulus/b15f/firmware"
(b) Passen Sie in der Datei Makefile (im aktuellen Verzeichnis) die Option "MCU = ..." an die MCU des vorliegenden Boards an.
Achtung: atmega1284 und atmega1284p sind nicht identisch!
@@ -115,18 +115,18 @@ Installation von Hand (falls Installationsscript mit Fehler abbricht) (i) Lade Firmware auf das B15: make upload

-4. Die Steuersoftware (Bibliothek & CLI) installieren

+2.2.4. Die Steuersoftware (Bibliothek & CLI) installieren

(a) Installations-Verzeichnis betreten: cd "/home/famulus/b15f/control/src"
(b) Kompiliere Steuersoftware: make
(c) Installiere die Bibliothek und CLI (global): sudo make install

-Aktualisierung

+3 Aktualisierung

-Aktualisierung mit Installationsscript (empfohlen)

+3.1 Aktualisierung mit Installationsscript (empfohlen)

Wiederholen Sie den Schritt "Installation mit Installationsscript". Das Script erkennt die bereits installierte Version und aktualisiert diese.

-Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht)

+3.2 Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht)

(a) Installations-Verzeichnis betreten: cd /home/famulus/b15f/
(b) Neuste Software-Version vom GitHub-Server ziehen: git pull && git pull –prune
(c) Betrete Firmware-Verzeichnis: cd "/home/famulus/b15f/firmware"
@@ -135,26 +135,26 @@ Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht) (f) Lösche altes Kompilat der Steuersoftware: make clean
(g) "Installation von Hand" ab Schritt 3 (h) durchführen

-Die CommandLineInterface (CLI) benutzen

+4 Die CommandLineInterface (CLI) benutzen

(a) Öffnen Sie ein Terminal und maximieren Sie das Fenster
(b) Start des CLI erfolgt durch den Befehl b15fcli
(c) Die Navigation erfolgt durch <Tab>, die Pfeiltasten und <Enter> oder die Maus
(d) Mit <Strg + c> kann das Programm sofort verlassen werden

-Eigene Programme mit der B15F-Bibliothek schreiben

+5 Eigene Programme mit der B15F-Bibliothek schreiben

-Grundsätzliches

+5.1 Grundsätzliches

Verwendet wird die Bibliothekt b15fdrv. Die wichtigste Klasse für die Steuerung des Board 15 ist B15F.
Dort befindet sich auch eine Übersicht der verfügbaren Befehle.
Hinweise zur Struktur (sind für die Verwendung nicht weiter wichtig):
Die Header-Dateien sind global unter "/usr/include/b15f/" installiert. Die b15fdrv-Bibliothekt befindet sich in dem Verzeichnis "/usr/lib/" und die ausführbaren Programme (plotty, b15fcli) "/usr/bin/".

-Beispiele

+5.2 Beispiele

In dem Verzeichnis b15f/control/examples (des Repositories) 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. Durch das Makefile wird beim Kompilieren und Linken die Bibliothek b15fdrv automatisch einbezogen.
Das Beispiel muss durch Sie also nur mit make kompiliert und mit .**/main.elf** gestartet werden.

-Den B15F Treiber verwenden

+5.3 Den B15F Treiber verwenden

Benötigt wird der B15F-Header:
#include <b15f/b15f.h>
und der Header für die plottyfile-Generierung, falls mit Kennlinien gearbeitet werden soll:
@@ -165,7 +165,7 @@ Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Boa Ab jetzt können auf dem Object drv verschiedene Methoden angewand werden, siehe B15F.

-Kennlinien mit plottyfile generieren

+5.4 Kennlinien mit plottyfile generieren

Die Beschreibung zu Plottyfile befindet sich hier.
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}"); // Markdown wird unterstuetzt
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.
@@ -175,7 +175,7 @@ Dabei gehören Punkte mit dem gleichen Index für curve (uint8_

diff --git a/docs/html/plottyfile_8cpp_source.html b/docs/html/plottyfile_8cpp_source.html index a53a85a..f0278ef 100644 --- a/docs/html/plottyfile_8cpp_source.html +++ b/docs/html/plottyfile_8cpp_source.html @@ -101,7 +101,7 @@ $(function() {
std::string getUnitX(void) const
Definition: plottyfile.cpp:105
diff --git a/docs/html/plottyfile_8h_source.html b/docs/html/plottyfile_8h_source.html index b888ae7..a55b104 100644 --- a/docs/html/plottyfile_8h_source.html +++ b/docs/html/plottyfile_8h_source.html @@ -102,7 +102,7 @@ $(function() {
std::string getUnitX(void) const
Definition: plottyfile.cpp:105
diff --git a/docs/html/requests_8h_source.html b/docs/html/requests_8h_source.html index 8517257..c010e26 100644 --- a/docs/html/requests_8h_source.html +++ b/docs/html/requests_8h_source.html @@ -73,7 +73,7 @@ $(function() {
1 #ifndef REQUESTS_H
2 #define REQUESTS_H
3 
4 constexpr static uint8_t RQ_DISCARD = 0;
5 constexpr static uint8_t RQ_TEST = 1;
6 constexpr static uint8_t RQ_INFO = 2;
7 constexpr static uint8_t RQ_INT_TEST = 3;
8 constexpr static uint8_t RQ_SELF_TEST = 4;
9 constexpr static uint8_t RQ_DIGITAL_WRITE_0 = 5;
10 constexpr static uint8_t RQ_DIGITAL_WRITE_1 = 6;
11 constexpr static uint8_t RQ_DIGITAL_READ_0 = 7;
12 constexpr static uint8_t RQ_DIGITAL_READ_1 = 8;
13 constexpr static uint8_t RQ_READ_DIP_SWITCH = 9;
14 constexpr static uint8_t RQ_ANALOG_WRITE_0 = 10;
15 constexpr static uint8_t RQ_ANALOG_WRITE_1 = 11;
16 constexpr static uint8_t RQ_ANALOG_READ = 12;
17 constexpr static uint8_t RQ_ADC_DAC_STROKE = 13;
18 constexpr static uint8_t RQ_PWM_SET_FREQ = 14;
19 constexpr static uint8_t RQ_PWM_SET_VALUE = 15;
20 constexpr static uint8_t RQ_SET_MEM_8 = 16;
21 constexpr static uint8_t RQ_GET_MEM_8 = 17;
22 constexpr static uint8_t RQ_SET_MEM_16 = 18;
23 constexpr static uint8_t RQ_GET_MEM_16 = 19;
24 constexpr static uint8_t RQ_COUNTER_OFFSET = 20;
25 constexpr static uint8_t RQ_SERVO_ENABLE = 21;
26 constexpr static uint8_t RQ_SERVO_DISABLE = 22;
27 constexpr static uint8_t RQ_SERVO_SET_POS = 23;
28 
29 uint8_t const rq_len[] =
30 {
31  1 /* RQ_DISCARD */,
32  1 /* RQ_TEST */ + 1 /* test byte */,
33  1 /* RQ_INFO */,
34  1 /* RQ_INT_TEST */ + 1 /* test int high low */ + 1 /* test int high high */,
35  1 /* RQ_SELF_TEST */,
36  1 /* RQ_DIGITAL_WRITE_0 */ + 1 /* port value */,
37  1 /* RQ_DIGITAL_WRITE_1 */ + 1 /* port value */,
38  1 /* RQ_DIGITAL_READ_0 */,
39  1 /* RQ_DIGITAL_READ_1 */,
40  1 /* RQ_READ_DIP_SWITCH */,
41  1 /* RQ_ANALOG_WRITE_0 */ + 1 /* test int high low */ + 1 /* test int high high */,
42  1 /* RQ_ANALOG_WRITE_1 */ + 1 /* test int high low */ + 1 /* test int high high */,
43  1 /* RQ_ANALOG_READ */ + 1 /* adc channel */,
44  1 /* RQ_ADC_DAC_STROKE */ + 1 /* channel a */ + 1 /* channel b */ + 1 /* start low */ + 1 /* start high */ + 1 /* delta low */ + 1 /* delta high */ + 1 /* count low */ + 1 /* count high */,
45  1 /* RQ_PWM_SET_FREQ */ + 1 /* freq low low */ + 1 /* freq low high */ + 1 /* freq high low */ + 1 /* freq high high */,
46  1 /* RQ_PWM_SET_VALUE */ + 1 /* pwm value */,
47  1 /* RQ_SET_MEM_8 */ + 1 /* memory address low */ + 1 /* memory address high */ + 1 /* memory value (8-bit) */,
48  1 /* RQ_GET_MEM_8 */ + 1 /* memory address low */ + 1 /* memory address high */,
49  1 /* RQ_SET_MEM_16 */ + 1 /* memory address low */ + 1 /* memory address high */ + 1 /* memory value low */ + 1 /* memory value high */,
50  1 /* RQ_GET_MEM_16 */ + 1 /* memory address low */ + 1 /* memory address high */,
51  1 /* RQ_COUNTER_OFFSET */,
52  1 /* RQ_SERVO_ENABLE */,
53  1 /* RQ_SERVO_DISABLE */,
54  1 /* RQ_SERVO_SET_POS */ + 1 /* pulse length low */ + 1 /* pulse length high */,
55 };
56 
57 #endif // REQUESTS_H
diff --git a/docs/html/timeoutexception_8h_source.html b/docs/html/timeoutexception_8h_source.html index b0a1acd..0711943 100644 --- a/docs/html/timeoutexception_8h_source.html +++ b/docs/html/timeoutexception_8h_source.html @@ -79,7 +79,7 @@ $(function() {
TimeoutException(const std::string &message)
diff --git a/docs/html/ui_8cpp_source.html b/docs/html/ui_8cpp_source.html index ad2d40e..9dbf621 100644 --- a/docs/html/ui_8cpp_source.html +++ b/docs/html/ui_8cpp_source.html @@ -88,7 +88,7 @@ $(function() {
void digitalWrite1(uint8_t)
Definition: b15f.cpp:237
diff --git a/docs/html/ui_8h_source.html b/docs/html/ui_8h_source.html index c50b9b5..ae641f6 100644 --- a/docs/html/ui_8h_source.html +++ b/docs/html/ui_8h_source.html @@ -73,7 +73,7 @@ $(function() {
1 #ifndef UI_H
2 #define UI_H
3 
4 #include <vector>
5 #include "view_selection.h"
6 #include "view_info.h"
7 #include "view_monitor.h"
8 #include "view_promt.h"
9 
10 void show_main(int);
11 void input(int);
12 void view_back(int);
13 void finish(int);
14 void cleanup();
15 
16 void show_info(int);
17 void show_monitor(int);
18 void show_invalid_port_input(int);
19 void show_invalid_dac_input(int);
20 void write_digital_output0(int);
21 void write_digital_output1(int);
22 void write_analog_output0(int);
23 void write_analog_output1(int);
24 void show_digital_output0(int);
25 void show_digital_output1(int);
26 void show_analog_output0(int);
27 void show_analog_output1(int);
28 
29 // selftest group
30 void show_selftest_info(int);
31 void start_selftest(int);
32 void stop_selftest(int);
33 
34 
35 extern std::vector<View*> win_stack;
36 extern std::thread t_refresh;
37 
38 #endif // UI_H
diff --git a/docs/html/usart_8cpp_source.html b/docs/html/usart_8cpp_source.html index 1d85fd9..dca046c 100644 --- a/docs/html/usart_8cpp_source.html +++ b/docs/html/usart_8cpp_source.html @@ -88,7 +88,7 @@ $(function() { diff --git a/docs/html/usart_8h_source.html b/docs/html/usart_8h_source.html index a3a37c3..d36230a 100644 --- a/docs/html/usart_8h_source.html +++ b/docs/html/usart_8h_source.html @@ -88,7 +88,7 @@ $(function() {
void flushOutputBuffer(void)
Definition: usart.cpp:68
diff --git a/docs/html/usartexception_8h_source.html b/docs/html/usartexception_8h_source.html index c3f3df3..fba8b36 100644 --- a/docs/html/usartexception_8h_source.html +++ b/docs/html/usartexception_8h_source.html @@ -79,7 +79,7 @@ $(function() {
virtual ~USARTException()=default
diff --git a/docs/html/view_8cpp_source.html b/docs/html/view_8cpp_source.html index 0b351ff..8fdee39 100644 --- a/docs/html/view_8cpp_source.html +++ b/docs/html/view_8cpp_source.html @@ -74,7 +74,7 @@ $(function() {
static void abort(std::string msg)
Definition: b15f.cpp:175
diff --git a/docs/html/view_8h_source.html b/docs/html/view_8h_source.html index 66305df..2400c36 100644 --- a/docs/html/view_8h_source.html +++ b/docs/html/view_8h_source.html @@ -74,7 +74,7 @@ $(function() {
Definition: view.h:19
diff --git a/docs/html/view__info_8cpp_source.html b/docs/html/view__info_8cpp_source.html index f87581f..9c06888 100644 --- a/docs/html/view__info_8cpp_source.html +++ b/docs/html/view__info_8cpp_source.html @@ -73,7 +73,7 @@ $(function() {
1 #include "view_info.h"
2 
3 ViewInfo::ViewInfo()
4 {
5  calls.push_back(nullptr);
6 }
7 
8 void ViewInfo::setText(std::string text)
9 {
10  this->text = text;
11 }
12 
13 void ViewInfo::setLabelClose(std::string label)
14 {
15  this->label_close = label;
16 }
17 
18 void ViewInfo::setCall(call_t call)
19 {
20  calls[0] = call;
21 }
22 
23 void ViewInfo::draw()
24 {
25  int li = 0;
26  for(std::string line : str_split(text, "\n"))
27  mvwprintw(win, text_offset_y + li++, text_offset_x, "%s", line.c_str());
28 
29  close_offset_x = (width - label_close.length()) / 2;
30  close_offset_y = height - 2;
31 
32  wattron(win, A_REVERSE);
33  mvwprintw(win, close_offset_y, close_offset_x, "%s", label_close.c_str());
34  wattroff(win, A_REVERSE);
35 }
36 
37 call_t ViewInfo::keypress(int& key)
38 {
39  switch(key)
40  {
41 
42  case KEY_MOUSE:
43  {
44  // http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
45  MEVENT event;
46  if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
47  {
48  size_t column = start_x + close_offset_x;
49  size_t row = start_y + close_offset_y;
50  size_t mouse_x = event.x, mouse_y = event.y;
51  if(mouse_y == row && mouse_x >= column && mouse_x < column + label_close.length())
52  key = -1; // do return from view
53  }
54  break;
55  }
56  case KEY_ENT:
57  key = -1; // do return from view
58  break;
59  default:
60  break;
61  }
62  return calls[0];
63 }
diff --git a/docs/html/view__info_8h_source.html b/docs/html/view__info_8h_source.html index e317949..f9894d4 100644 --- a/docs/html/view__info_8h_source.html +++ b/docs/html/view__info_8h_source.html @@ -75,7 +75,7 @@ $(function() {
Definition: view.h:19
diff --git a/docs/html/view__monitor_8cpp_source.html b/docs/html/view__monitor_8cpp_source.html index 49077d3..90374ef 100644 --- a/docs/html/view__monitor_8cpp_source.html +++ b/docs/html/view__monitor_8cpp_source.html @@ -84,7 +84,7 @@ $(function() { diff --git a/docs/html/view__monitor_8h_source.html b/docs/html/view__monitor_8h_source.html index 14e52b8..10d7674 100644 --- a/docs/html/view__monitor_8h_source.html +++ b/docs/html/view__monitor_8h_source.html @@ -75,7 +75,7 @@ $(function() { diff --git a/docs/html/view__promt_8cpp_source.html b/docs/html/view__promt_8cpp_source.html index fedd0d8..a60ee8f 100644 --- a/docs/html/view__promt_8cpp_source.html +++ b/docs/html/view__promt_8cpp_source.html @@ -73,7 +73,7 @@ $(function() {
1 #include "view_promt.h"
2 
3 void ViewPromt::draw()
4 {
5  curs_set(1); // show cursor
6 
7  int li = text_offset_y;
8  int ci = 0;
9  for(std::string line : str_split(message + input, "\n"))
10  {
11  mvwprintw(win, ++li, text_offset_x, "%s", line.c_str());
12  ci = line.length() + text_offset_x;
13  }
14 
15  button_offset_x = (width - label_cancel.length() - sep.length() - label_confirm.length()) / 2;
16  button_offset_y = height - text_offset_y;
17 
18  if(selection == 0)
19  {
20  wattron(win, A_REVERSE);
21  mvwprintw(win, button_offset_y, button_offset_x, "%s", label_cancel.c_str());
22  wattroff(win, A_REVERSE);
23  mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length(), "%s", sep.c_str());
24  mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length() + sep.length(), "%s", label_confirm.c_str());
25  }
26  else
27  {
28  mvwprintw(win, button_offset_y, button_offset_x, "%s", label_cancel.c_str());
29  mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length(), "%s", sep.c_str());
30  wattron(win, A_REVERSE);
31  mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length() + sep.length(), "%s", label_confirm.c_str());
32  wattroff(win, A_REVERSE);
33  }
34  wmove(win, li, ci);
35 }
36 
37 void ViewPromt::setMessage(std::string message)
38 {
39  this->message = message;
40 }
41 
42 void ViewPromt::setConfirm(std::string name, std::function<void(int)> call)
43 {
44  label_confirm = name;
45  call_confirm = call;
46 }
47 
48 void ViewPromt::setCancel(std::string name, bool cancelable)
49 {
50  label_cancel = name;
51  this->cancelable = cancelable;
52 }
53 
54 std::string ViewPromt::getInput()
55 {
56  return input;
57 }
58 
59 std::function<void(int)> ViewPromt::keypress(int& key)
60 {
61  std::function<void(int)> ret = nullptr;
62  switch(key)
63  {
64  case KEY_BACKSPACE:
65  if(input.length())
66  input.pop_back();
67  break;
68  case '\t':
69  case KEY_LEFT:
70  case KEY_RIGHT:
71  selection = (selection + 1 ) % 2;
72  break;
73  case KEY_MOUSE:
74  {
75  // http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
76  MEVENT event;
77  bool hit = false;
78  if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
79  {
80  size_t column_start = start_x + button_offset_x;
81  size_t row_start = start_y + button_offset_y;
82  size_t mouse_x = event.x, mouse_y = event.y;
83  if(mouse_y == row_start)
84  {
85  if(cancelable && mouse_x >= column_start && mouse_x < column_start + label_cancel.length())
86  {
87  if(selection == 0 || event.bstate & BUTTON1_DOUBLE_CLICKED)
88  hit = true;
89  selection = 0;
90  }
91  if(mouse_x >= column_start + label_cancel.length() + sep.length() && mouse_x < column_start + label_cancel.length() + sep.length() + label_confirm.length())
92  {
93  if(selection == 1 || event.bstate & BUTTON1_DOUBLE_CLICKED)
94  hit = true;
95  selection = 1;
96  }
97  }
98  }
99  if(!hit)
100  break;
101 
102  // fall through to next case
103  [[fallthrough]];
104  }
105  case KEY_ENT:
106  if(selection == 0) // exit
107  key = -1; // do return from view
108  else
109  ret = call_confirm;
110  break;
111  default:
112  break;
113  }
114 
115  if(key >= ' ' && key <= '~')
116  input += (char) key;
117 
118  if(key != KEY_ENT)
119  repaint();
120  return ret;
121 }
diff --git a/docs/html/view__promt_8h_source.html b/docs/html/view__promt_8h_source.html index cbd516c..2c8b9d1 100644 --- a/docs/html/view__promt_8h_source.html +++ b/docs/html/view__promt_8h_source.html @@ -75,7 +75,7 @@ $(function() { diff --git a/docs/html/view__selection_8cpp_source.html b/docs/html/view__selection_8cpp_source.html index ea43a36..32272fb 100644 --- a/docs/html/view__selection_8cpp_source.html +++ b/docs/html/view__selection_8cpp_source.html @@ -73,7 +73,7 @@ $(function() {
1 #include "view_selection.h"
2 
3 void ViewSelection::draw()
4 {
5  //curs_set(0); // hide cursor
6  for(size_t i = 0; i < choices.size(); i++)
7  {
8  if(selection == i)
9  wattron(win, A_REVERSE);
10  mvwprintw(win, i + choice_offset_y, choice_offset_x, "%s", choices[i].c_str());
11  if(selection == i)
12  wattroff(win, A_REVERSE);
13  }
14 }
15 
16 void ViewSelection::addChoice(std::string name, call_t call)
17 {
18  choices.push_back(name);
19  calls.push_back(call);
20 }
21 
22 call_t ViewSelection::keypress(int& key)
23 {
24  call_t ret = nullptr;
25  switch(key)
26  {
27  case KEY_UP:
28  do
29  selection = (selection - 1 + choices.size()) % choices.size();
30  while(!choices[selection].length() && choices.size());
31  break;
32 
33  case '\t':
34  case KEY_DOWN:
35  do
36  selection = (selection + 1) % choices.size();
37  while(!choices[selection].length() && choices.size());
38  break;
39 
40  case KEY_MOUSE:
41  {
42  // http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
43  MEVENT event;
44  bool hit = false;
45  if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
46  {
47  size_t column_start = start_x + choice_offset_x;
48  size_t row_start = start_y + choice_offset_y;
49  size_t mouse_x = event.x, mouse_y = event.y;
50  for(size_t i = 0; i < choices.size(); i++)
51  if(choices[i].length() && mouse_y == row_start + i && mouse_x >= column_start && mouse_x < column_start + choices[i].length())
52  {
53  if(selection == i || event.bstate & BUTTON1_DOUBLE_CLICKED)
54  hit = true;
55  selection = i;
56  }
57  }
58  if(!hit)
59  break;
60 
61  // fall through to next case
62  [[fallthrough]];
63  }
64 
65  case KEY_ENT:
66  if(selection == choices.size() - 1) // exit
67  key = -1; // do return from view
68  else
69  ret = calls[selection];
70  break;
71  default:
72  break;
73  }
74  repaint();
75  return ret;
76 }
diff --git a/docs/html/view__selection_8h_source.html b/docs/html/view__selection_8h_source.html index b5848a7..fbfb1bb 100644 --- a/docs/html/view__selection_8h_source.html +++ b/docs/html/view__selection_8h_source.html @@ -75,7 +75,7 @@ $(function() {