diff --git a/README.md b/README.md
index fd9de38..e24e2e3 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# B15F - Board 15 Famulus Edition
-**Hinweis:**
-Die Projekt-Dokumentation befindet sich unter [github pages](https://devfix.github.io/b15f/).
+## Dokumentation
+Die **Projekt-Dokumentation** befindet sich hier: [https://devfix.github.io/b15f/](https://devfix.github.io/b15f/).
## TODO / Ideen
- [X] CLI: Exception catchen, set global error message, raise SIGINT --> ncurses wird richtig beendet
diff --git a/control/src/drv/commit_hash.h b/control/src/drv/commit_hash.h
index 0d3bd44..904524a 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[] = "9640bb00c8b16073af9eadf9e40ede3c2e0e4020";
+const char COMMIT_HASH[] = "be3545fcbb7c7a41ec40d489efc952369f81bf5a";
#endif // COMMIT_HASH_H
diff --git a/control/src/ui/view_info.h b/control/src/ui/view_info.h
index 7a3eb4b..903b2f3 100644
--- a/control/src/ui/view_info.h
+++ b/control/src/ui/view_info.h
@@ -3,25 +3,57 @@
#include "view.h"
-/*! View for simple text message output. */
+/**
+ * Klasse für einfache Textausgaben (Benachrichtigungen).
+ * Diese können mit einem Button geschlossen werden.
+ */
class ViewInfo : public View
{
public:
+ /**
+ * Standard-Konstruktor ohne Argumente
+ */
ViewInfo(void);
+
+ /**
+ * Setzt den Text dieser Benachrichtigungs-View
+ * \param text Text der View
+ */
virtual void setText(std::string text);
- virtual void setLabelClose(std::string label);;
+
+ /**
+ * Setzt die Beschriftung des Buttons zum Schließen
+ * \param label Beschriftung des Buttons
+ */
+ virtual void setLabelClose(std::string label);
+
+ /**
+ * Setzt den Call der aufgerufen wird, wenn der Button angewählt wird.
+ * Wurde setCall weggelassen oder setCall(nullptr) gesetzt, wird diese View nur geschlossen und keine weitere Aktion ausgelöst.
+ * \param call Nachfolge-Aktion
+ */
virtual void setCall(call_t call);
+
+ /**
+ * Zeichnet diese View mit dem Benachrichtigungstext.
+ */
virtual void draw(void) override;
+
+ /**
+ * Verarbeitet einen Tastendruck, z.B. Enter = Button angewählt.
+ * \param key gedrückte Taste
+ * \return Call, der nach dem keypress ausgeführt werden soll
+ */
virtual call_t keypress(int& key) override;
protected:
- std::string text;
- std::string label_close;
- int close_offset_x = 0;
- int close_offset_y = 0;
- constexpr static int text_offset_x = 2;
- constexpr static int text_offset_y = 3;
+ std::string text; //!< Benachrichtigungstext dieser View
+ std::string label_close; //!< Beschriftung für Button zum Schließen
+ int close_offset_x = 0; //!< Relative X Koordinate des Buttons zum Schließen im Window
+ int close_offset_y = 0; //!< Relative Y Koordinate des Buttons zum Schließen im Window
+ constexpr static int text_offset_x = 2; //!< Relativer Abstand des Textes zum linken Rahmen
+ constexpr static int text_offset_y = 3; //!< Relativer Abstand des Textes zum oberen Rahmen
};
#endif // VIEW_INFO
diff --git a/docs/html/annotated.html b/docs/html/annotated.html
index 3c75bdc..42e0e7e 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 c16b11c..3df8b32 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 1f7ab2b..18c842a 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 40b8468..9546393 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 5f95f3a..c82b4b2 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 0f0670f..8a9f3c5 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 3759bcf..f04fbd9 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 44455f3..835b92d 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 688ef0a..129358d 100644
--- a/docs/html/classDriverException.html
+++ b/docs/html/classDriverException.html
@@ -247,7 +247,7 @@ std::string
diff --git a/docs/html/classPlottyFile-members.html b/docs/html/classPlottyFile-members.html
index 3a36954..7344642 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 f9b3f83..ca14873 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 850108d..ed75098 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 26950b0..4794db7 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 a1bd4a2..fd40572 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 26b6c3e..452cae6 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 ab4bbff..177d5c4 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 67a3ecf..804be23 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 1e17025..b8890ee 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 9546d4c..6299c49 100644
--- a/docs/html/classView.html
+++ b/docs/html/classView.html
@@ -290,7 +290,7 @@ constexpr static int
@@ -444,7 +444,7 @@ constexpr static int
diff --git a/docs/html/classViewInfo-members.html b/docs/html/classViewInfo-members.html
index 38c18f2..bdbd8a1 100644
--- a/docs/html/classViewInfo-members.html
+++ b/docs/html/classViewInfo-members.html
@@ -70,36 +70,36 @@ $(function() {
This is the complete list of members for ViewInfo , including all inherited members.
diff --git a/docs/html/classViewInfo.html b/docs/html/classViewInfo.html
index ae43c44..eebd3a2 100644
--- a/docs/html/classViewInfo.html
+++ b/docs/html/classViewInfo.html
@@ -88,14 +88,13 @@ $(function() {
-
-virtual void setText (std::string text)
+ ViewInfo (void)
+
+virtual void setText (std::string text )
-
-virtual void setLabelClose (std::string label)
+virtual void setLabelClose (std::string label)
-
-virtual void setCall (call_t call)
+virtual void setCall (call_t call)
virtual void draw (void) override
@@ -114,16 +113,20 @@ virtual void setCall (
-std::string text
+std::string text
+ Benachrichtigungstext dieser View .
-std::string label_close
+std::string label_close
+ Beschriftung für Button zum Schließen.
-int close_offset_x = 0
+int close_offset_x = 0
+ Relative X Koordinate des Buttons zum Schließen im Window.
-int close_offset_y = 0
+int close_offset_y = 0
+ Relative Y Koordinate des Buttons zum Schließen im Window.
@@ -154,10 +157,12 @@ std::vector< call_t > <
-constexpr static int text_offset_x = 2
+constexpr static int text_offset_x = 2
+ Relativer Abstand des Textes zum linken Rahmen.
-constexpr static int text_offset_y = 3
+constexpr static int text_offset_y = 3
+ Relativer Abstand des Textes zum oberen Rahmen.
@@ -180,10 +185,32 @@ Additional Inherited Members
-View for simple text message output.
+
Klasse für einfache Textausgaben (Benachrichtigungen). Diese können mit einem Button geschlossen werden.
-
Definition at line 8 of file view_info.h .
-
+
Definition at line 11 of file view_info.h .
+
+
+◆ ViewInfo()
+
+
+
+
+
+ ViewInfo::ViewInfo
+ (
+ void
+ )
+
+
+
+
+
Standard-Konstruktor ohne Argumente
+
+
Definition at line 3 of file view_info.cpp .
+
+
+
+
◆ draw()
@@ -207,7 +234,7 @@ Additional Inherited Members
-
Abstract function for drawing ths particular view. Gets overridden in the derived classes to paints for example a promt.
+
Zeichnet diese View mit dem Benachrichtigungstext.
Implements View .
@@ -238,7 +265,13 @@ Additional Inherited Members
-
Abstract function for the view to reacted on a keypress. Gets overridden in the derived classes to close for example a view on ESC.
+
Verarbeitet einen Tastendruck, z.B. Enter = Button angewählt.
Parameters
+
+
+
+
Returns Call, der nach dem keypress ausgeführt werden soll
Implements View .
@@ -246,6 +279,108 @@ Additional Inherited Members
Definition at line 37 of file view_info.cpp .
+
+
+
+◆ setCall()
+
+
+
+
+
+
+
+
+ void ViewInfo::setCall
+ (
+ call_t
+ call )
+
+
+
+
+
+virtual
+
+
+
+
Setzt den Call der aufgerufen wird, wenn der Button angewählt wird. Wurde setCall weggelassen oder setCall(nullptr) gesetzt, wird diese View nur geschlossen und keine weitere Aktion ausgelöst.
Parameters
+
+
+
+
+
Definition at line 18 of file view_info.cpp .
+
+
+
+
+◆ setLabelClose()
+
+
+
+
+
+
+
+
+ void ViewInfo::setLabelClose
+ (
+ std::string
+ label )
+
+
+
+
+
+virtual
+
+
+
+
Setzt die Beschriftung des Buttons zum Schließen
Parameters
+
+ label Beschriftung des Buttons
+
+
+
+
+
Definition at line 13 of file view_info.cpp .
+
+
+
+
+◆ setText()
+
+
+
+
+
+
+
+
+ void ViewInfo::setText
+ (
+ std::string
+ text )
+
+
+
+
+
+virtual
+
+
+
+
Setzt den Text dieser Benachrichtigungs-View
Parameters
+
+
+
+
+
Definition at line 8 of file view_info.cpp .
+
The documentation for this class was generated from the following files:
@@ -255,7 +390,7 @@ Additional Inherited Members
diff --git a/docs/html/classViewMonitor-members.html b/docs/html/classViewMonitor-members.html
index 46c2b38..11c3acb 100644
--- a/docs/html/classViewMonitor-members.html
+++ b/docs/html/classViewMonitor-members.html
@@ -70,31 +70,31 @@ $(function() {
This is the complete list of members for ViewMonitor , including all inherited members.
diff --git a/docs/html/classViewMonitor.html b/docs/html/classViewMonitor.html
index e78f6d2..e816603 100644
--- a/docs/html/classViewMonitor.html
+++ b/docs/html/classViewMonitor.html
@@ -91,14 +91,13 @@ Public Member Functions
virtual call_t keypress (int &key) override
-
-virtual void setText (std::string text)
+ ViewInfo (void)
+
+virtual void setText (std::string text )
-
-virtual void setLabelClose (std::string label)
+virtual void setLabelClose (std::string label)
-
-virtual void setCall (call_t call)
+virtual void setCall (call_t call)
virtual void draw (void) override
@@ -128,16 +127,20 @@ std::thread t_worker
-std::string text
+std::string text
+ Benachrichtigungstext dieser View .
-std::string label_close
+std::string label_close
+ Beschriftung für Button zum Schließen.
-int close_offset_x = 0
+int close_offset_x = 0
+ Relative X Koordinate des Buttons zum Schließen im Window.
-int close_offset_y = 0
+int close_offset_y = 0
+ Relative Y Koordinate des Buttons zum Schließen im Window.
@@ -176,10 +179,12 @@ Additional Inherited Members
-constexpr static int text_offset_x = 2
+constexpr static int text_offset_x = 2
+ Relativer Abstand des Textes zum linken Rahmen.
-constexpr static int text_offset_y = 3
+constexpr static int text_offset_y = 3
+ Relativer Abstand des Textes zum oberen Rahmen.
@@ -219,7 +224,13 @@ constexpr static int
-
Abstract function for the view to reacted on a keypress. Gets overridden in the derived classes to close for example a view on ESC.
+
Verarbeitet einen Tastendruck, z.B. Enter = Button angewählt.
Parameters
+
+
+
+
Returns Call, der nach dem keypress ausgeführt werden soll
Reimplemented from ViewInfo .
@@ -234,7 +245,7 @@ constexpr static int
diff --git a/docs/html/classViewPromt-members.html b/docs/html/classViewPromt-members.html
index 97bf039..ba2a693 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 20da289..e59d998 100644
--- a/docs/html/classViewPromt.html
+++ b/docs/html/classViewPromt.html
@@ -273,7 +273,7 @@ Additional Inherited Members
diff --git a/docs/html/classViewSelection-members.html b/docs/html/classViewSelection-members.html
index 07d39e9..6698c65 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 e1982d9..f702445 100644
--- a/docs/html/classViewSelection.html
+++ b/docs/html/classViewSelection.html
@@ -240,7 +240,7 @@ Additional Inherited Members
diff --git a/docs/html/classes.html b/docs/html/classes.html
index 89a68e4..c87e7d8 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 b43e790..abda5ea 100644
--- a/docs/html/cli_8cpp_source.html
+++ b/docs/html/cli_8cpp_source.html
@@ -66,16 +66,18 @@ $(function() {
cli.cpp
-
17 #include "ui/view_selection.h" 18 #include "ui/view_info.h" 19 #include "ui/view_monitor.h" 20 #include "ui/view_promt.h" 22 constexpr uint8_t WIN_WIDTH = 80;
23 constexpr uint8_t WIN_HEIGHT = 24;
25 volatile int win_changed_cooldown = 0;
26 volatile bool t_refresh_active =
false ;
28 void signal_handler(
int signal)
30 if (signal == SIGWINCH)
32 win_changed_cooldown = 10;
34 if (!t_refresh_active)
36 if (t_refresh.joinable())
38 t_refresh_active =
true ;
39 t_refresh = std::thread([]()
42 while (win_changed_cooldown--)
43 std::this_thread::sleep_for(std::chrono::milliseconds(10));
45 t_refresh_active =
false ;
48 win_stack.back()->repaint();
54 else if (signal == SIGINT)
57 std::cout <<
"SIGINT - Abbruch." << std::endl;
62 void abort_handler(std::exception& ex)
66 std::string msg(ex.what());
67 msg +=
"\n\nBeende in 5 Sekunden." ;
68 view->setText(msg.c_str());
69 view->setLabelClose(
"" );
72 std::this_thread::sleep_for(std::chrono::milliseconds(5000));
75 std::cerr << std::endl <<
"*** EXCEPTION ***" << std::endl << ex.what() << std::endl;
83 #ifndef B15F_CLI_DEBUG 84 std::cout << std::endl <<
"Starte in 3s ..." << std::endl;
95 mousemask(ALL_MOUSE_EVENTS, NULL);
98 signal(SIGWINCH, signal_handler);
99 signal(SIGINT, signal_handler);
113 int exit_code = EXIT_SUCCESS;
-
+ 17 #include "ui/view_selection.h" 18 #include "ui/view_info.h" 19 #include "ui/view_monitor.h" 20 #include "ui/view_promt.h" 22 constexpr uint8_t WIN_WIDTH = 80;
23 constexpr uint8_t WIN_HEIGHT = 24;
25 volatile int win_changed_cooldown = 0;
26 volatile bool t_refresh_active =
false ;
28 void signal_handler(
int signal)
30 if (signal == SIGWINCH)
32 win_changed_cooldown = 10;
34 if (!t_refresh_active)
36 if (t_refresh.joinable())
38 t_refresh_active =
true ;
39 t_refresh = std::thread([]()
42 while (win_changed_cooldown--)
43 std::this_thread::sleep_for(std::chrono::milliseconds(10));
45 t_refresh_active =
false ;
48 win_stack.back()->repaint();
54 else if (signal == SIGINT)
57 std::cout <<
"SIGINT - Abbruch." << std::endl;
62 void abort_handler(std::exception& ex)
66 std::string msg(ex.what());
67 msg +=
"\n\nBeende in 5 Sekunden." ;
72 std::this_thread::sleep_for(std::chrono::milliseconds(5000));
75 std::cerr << std::endl <<
"*** EXCEPTION ***" << std::endl << ex.what() << std::endl;
83 #ifndef B15F_CLI_DEBUG 84 std::cout << std::endl <<
"Starte in 3s ..." << std::endl;
95 mousemask(ALL_MOUSE_EVENTS, NULL);
98 signal(SIGWINCH, signal_handler);
99 signal(SIGINT, signal_handler);
113 int exit_code = EXIT_SUCCESS;
+
+virtual void setText(std::string text)
static B15F & getInstance(void)
static void setWinContext(WINDOW *win)
virtual void repaint(void)
+virtual void setLabelClose(std::string label)
static void setAbortHandler(errorhandler_t func)
virtual void setTitle(std::string title)
diff --git a/docs/html/commit__hash_8h_source.html b/docs/html/commit__hash_8h_source.html
index 6118243..6662c85 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
-
3 const char COMMIT_HASH[] =
"9640bb00c8b16073af9eadf9e40ede3c2e0e4020" ;
4 #endif // COMMIT_HASH_H
+ 3 const char COMMIT_HASH[] =
"be3545fcbb7c7a41ec40d489efc952369f81bf5a" ;
4 #endif // COMMIT_HASH_H
diff --git a/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html b/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html
index 70464fe..b5c9a3f 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 f449bd3..ee26b78 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 4929c71..d225d50 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)
diff --git a/docs/html/dot_8h_source.html b/docs/html/dot_8h_source.html
index 612fc73..57910da 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)
diff --git a/docs/html/driverexception_8h_source.html b/docs/html/driverexception_8h_source.html
index 8f04e0d..09a9de3 100644
--- a/docs/html/driverexception_8h_source.html
+++ b/docs/html/driverexception_8h_source.html
@@ -79,7 +79,7 @@ $(function() {
diff --git a/docs/html/files.html b/docs/html/files.html
index 2a8451c..6cbc2b6 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 0ebde8f..3a2ff65 100644
--- a/docs/html/functions.html
+++ b/docs/html/functions.html
@@ -106,6 +106,12 @@ $(function() {
clearOutputBuffer()
: USART
+close_offset_x
+: ViewInfo
+
+close_offset_y
+: ViewInfo
+
closeDevice()
: USART
@@ -144,7 +150,7 @@ $(function() {
, ViewSelection
DriverException()
-: DriverException
+: DriverException
drop()
: USART
@@ -263,6 +269,13 @@ $(function() {
+ - l -
+
+
- m -
msg
: USARTException
@@ -332,6 +345,9 @@ $(function() {
setBaudrate()
: USART
+setCall()
+: ViewInfo
+
setDescPara()
: PlottyFile
@@ -344,6 +360,9 @@ $(function() {
setFunctionType()
: PlottyFile
+setLabelClose()
+: ViewInfo
+
setMem16()
: B15F
@@ -377,6 +396,9 @@ $(function() {
setServoPosition()
: B15F
+setText()
+: ViewInfo
+
setTimeout()
: USART
@@ -417,8 +439,17 @@ $(function() {
testIntConv()
: B15F
+text
+: ViewInfo
+
+text_offset_x
+: ViewInfo
+
+text_offset_y
+: ViewInfo
+
TimeoutException()
-: TimeoutException
+: TimeoutException
title
: View
@@ -434,7 +465,7 @@ $(function() {
: USART
USARTException()
-: USARTException
+: USARTException
@@ -443,6 +474,9 @@ $(function() {
View()
: View
+ViewInfo()
+: ViewInfo
+
@@ -487,7 +521,7 @@ $(function() {
diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html
index e0e5f89..63ae921 100644
--- a/docs/html/functions_func.html
+++ b/docs/html/functions_func.html
@@ -286,6 +286,9 @@ $(function() {
setBaudrate()
: USART
+setCall()
+: ViewInfo
+
setDescPara()
: PlottyFile
@@ -298,6 +301,9 @@ $(function() {
setFunctionType()
: PlottyFile
+setLabelClose()
+: ViewInfo
+
setMem16()
: B15F
@@ -331,6 +337,9 @@ $(function() {
setServoPosition()
: B15F
+setText()
+: ViewInfo
+
setTimeout()
: USART
@@ -388,6 +397,9 @@ $(function() {
View()
: View
+ViewInfo()
+: ViewInfo
+
@@ -423,7 +435,7 @@ $(function() {
diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html
index ccfc3e6..2151bdd 100644
--- a/docs/html/functions_vars.html
+++ b/docs/html/functions_vars.html
@@ -69,12 +69,21 @@ $(function() {
calls
: View
+close_offset_x
+: ViewInfo
+
+close_offset_y
+: ViewInfo
+
height
: View
KEY_ENT
: View
+label_close
+: ViewInfo
+
msg
: USARTException
@@ -103,6 +112,15 @@ $(function() {
start_y
: View
+text
+: ViewInfo
+
+text_offset_x
+: ViewInfo
+
+text_offset_y
+: ViewInfo
+
title
: View
@@ -119,7 +137,7 @@ $(function() {
diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html
index e6c48e9..1a89836 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 e88cb50..0d38f71 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -82,7 +82,7 @@ Außerdem wird eine Bibliothek (b15fdrv ) installiert, die eine einfache
2 Installation
2.1 Installation mit Installationsscript (empfohlen)
-(a) Laden Sie das Installationsscript herunter, am besten nach **/tmp/**
+
(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
(d) Starten Sie das Installationsscript
@@ -175,7 +175,7 @@ Dabei gehören Punkte mit dem gleichen Index für curve
(uint8_
diff --git a/docs/html/menudata.js b/docs/html/menudata.js
index e2fe8f5..1d5d79f 100644
--- a/docs/html/menudata.js
+++ b/docs/html/menudata.js
@@ -37,6 +37,7 @@ var menudata={children:[
{text:"g",url:"functions.html#index_g"},
{text:"h",url:"functions.html#index_h"},
{text:"k",url:"functions.html#index_k"},
+{text:"l",url:"functions.html#index_l"},
{text:"m",url:"functions.html#index_m"},
{text:"o",url:"functions.html#index_o"},
{text:"p",url:"functions.html#index_p"},
diff --git a/docs/html/plottyfile_8cpp_source.html b/docs/html/plottyfile_8cpp_source.html
index 28382f0..baa0b4b 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
diff --git a/docs/html/plottyfile_8h_source.html b/docs/html/plottyfile_8h_source.html
index f7ab107..62ac267 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
diff --git a/docs/html/requests_8h_source.html b/docs/html/requests_8h_source.html
index fc05140..eff5feb 100644
--- a/docs/html/requests_8h_source.html
+++ b/docs/html/requests_8h_source.html
@@ -73,7 +73,7 @@ $(function() {
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;
29 uint8_t
const rq_len[] =
44 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 ,
diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js
index ca1b57d..7e9d9bc 100644
--- a/docs/html/search/all_10.js
+++ b/docs/html/search/all_10.js
@@ -1,8 +1,5 @@
var searchData=
[
- ['view',['View',['../classView.html',1,'View'],['../classView.html#a0a9be6e5fb588412aab31cacf5e43b04',1,'View::View()']]],
- ['viewinfo',['ViewInfo',['../classViewInfo.html',1,'']]],
- ['viewmonitor',['ViewMonitor',['../classViewMonitor.html',1,'']]],
- ['viewpromt',['ViewPromt',['../classViewPromt.html',1,'']]],
- ['viewselection',['ViewSelection',['../classViewSelection.html',1,'']]]
+ ['usart',['USART',['../classUSART.html',1,'USART'],['../classUSART.html#a5daed20dc595c43d87c4c28bb08a7449',1,'USART::USART()']]],
+ ['usartexception',['USARTException',['../classUSARTException.html',1,'USARTException'],['../classUSARTException.html#a3c359db129825703b91392d5128cf93d',1,'USARTException::USARTException(const char *message)'],['../classUSARTException.html#a643c0a8b7f0d81e2f1693a75b378e6c2',1,'USARTException::USARTException(const std::string &message)']]]
];
diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js
index 4f5cf1d..7f009ca 100644
--- a/docs/html/search/all_11.js
+++ b/docs/html/search/all_11.js
@@ -1,8 +1,8 @@
var searchData=
[
- ['wdt_5ftimeout',['WDT_TIMEOUT',['../classB15F.html#a158d13bc84aed6430cdede1396384e06',1,'B15F']]],
- ['what',['what',['../classDriverException.html#a781362760bcd75b1bd5448629df58446',1,'DriverException::what()'],['../classTimeoutException.html#a97eaf01fc39ddb94b060020b42fefd6e',1,'TimeoutException::what()'],['../classUSARTException.html#a2af5e3c00cd0585c7427c2e0420a8f15',1,'USARTException::what()']]],
- ['width',['width',['../classView.html#ae039aa744b085db819ae149705b2c32b',1,'View']]],
- ['win',['win',['../classView.html#a5ddee2bf0b26dbcfa7780be17ff33dd7',1,'View']]],
- ['writetofile',['writeToFile',['../classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305',1,'PlottyFile']]]
+ ['view',['View',['../classView.html',1,'View'],['../classView.html#a0a9be6e5fb588412aab31cacf5e43b04',1,'View::View()']]],
+ ['viewinfo',['ViewInfo',['../classViewInfo.html',1,'ViewInfo'],['../classViewInfo.html#a95a3a81de65ef42615bbe5a843e8d5f6',1,'ViewInfo::ViewInfo()']]],
+ ['viewmonitor',['ViewMonitor',['../classViewMonitor.html',1,'']]],
+ ['viewpromt',['ViewPromt',['../classViewPromt.html',1,'']]],
+ ['viewselection',['ViewSelection',['../classViewSelection.html',1,'']]]
];
diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js
index b756d4d..4f5cf1d 100644
--- a/docs/html/search/all_12.js
+++ b/docs/html/search/all_12.js
@@ -1,8 +1,8 @@
var searchData=
[
- ['_7edriverexception',['~DriverException',['../classDriverException.html#a4e62b528e9a6c1a776b1a08487fac340',1,'DriverException']]],
- ['_7etimeoutexception',['~TimeoutException',['../classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540',1,'TimeoutException']]],
- ['_7eusart',['~USART',['../classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749',1,'USART']]],
- ['_7eusartexception',['~USARTException',['../classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be',1,'USARTException']]],
- ['_7eview',['~View',['../classView.html#a450dfab3f21a52edc03db4310593412f',1,'View']]]
+ ['wdt_5ftimeout',['WDT_TIMEOUT',['../classB15F.html#a158d13bc84aed6430cdede1396384e06',1,'B15F']]],
+ ['what',['what',['../classDriverException.html#a781362760bcd75b1bd5448629df58446',1,'DriverException::what()'],['../classTimeoutException.html#a97eaf01fc39ddb94b060020b42fefd6e',1,'TimeoutException::what()'],['../classUSARTException.html#a2af5e3c00cd0585c7427c2e0420a8f15',1,'USARTException::what()']]],
+ ['width',['width',['../classView.html#ae039aa744b085db819ae149705b2c32b',1,'View']]],
+ ['win',['win',['../classView.html#a5ddee2bf0b26dbcfa7780be17ff33dd7',1,'View']]],
+ ['writetofile',['writeToFile',['../classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305',1,'PlottyFile']]]
];
diff --git a/docs/html/search/all_13.html b/docs/html/search/all_13.html
new file mode 100644
index 0000000..7e5f42a
--- /dev/null
+++ b/docs/html/search/all_13.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/docs/html/search/all_13.js b/docs/html/search/all_13.js
new file mode 100644
index 0000000..b756d4d
--- /dev/null
+++ b/docs/html/search/all_13.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['_7edriverexception',['~DriverException',['../classDriverException.html#a4e62b528e9a6c1a776b1a08487fac340',1,'DriverException']]],
+ ['_7etimeoutexception',['~TimeoutException',['../classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540',1,'TimeoutException']]],
+ ['_7eusart',['~USART',['../classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749',1,'USART']]],
+ ['_7eusartexception',['~USARTException',['../classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be',1,'USARTException']]],
+ ['_7eview',['~View',['../classView.html#a450dfab3f21a52edc03db4310593412f',1,'View']]]
+];
diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js
index 5f43282..8318d90 100644
--- a/docs/html/search/all_2.js
+++ b/docs/html/search/all_2.js
@@ -3,5 +3,7 @@ var searchData=
['calls',['calls',['../classView.html#a610367214a727e2f7da72ac5bdb60fa3',1,'View']]],
['clearinputbuffer',['clearInputBuffer',['../classUSART.html#a28a2b4c5ed66b2c3a81196f76884f156',1,'USART']]],
['clearoutputbuffer',['clearOutputBuffer',['../classUSART.html#a756d268a8762c316f91ca3238972b0c1',1,'USART']]],
+ ['close_5foffset_5fx',['close_offset_x',['../classViewInfo.html#ae4dab70d82761e0f59f51dcae79685fe',1,'ViewInfo']]],
+ ['close_5foffset_5fy',['close_offset_y',['../classViewInfo.html#a5954adf853cb44d4655ede731faf1a28',1,'ViewInfo']]],
['closedevice',['closeDevice',['../classUSART.html#af80d6291ac1d2df04cfa1d8d27458cc5',1,'USART']]]
];
diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js
index 9a8efba..b6889fd 100644
--- a/docs/html/search/all_9.js
+++ b/docs/html/search/all_9.js
@@ -1,7 +1,4 @@
var searchData=
[
- ['msg',['msg',['../classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79',1,'USARTException']]],
- ['msg_5f',['msg_',['../classDriverException.html#ab8777afe3f5aed2e66f2b2fcb480a651',1,'DriverException::msg_()'],['../classTimeoutException.html#ae6395f887040521c915b0b8d88dc29e7',1,'TimeoutException::msg_()']]],
- ['msg_5ffail',['MSG_FAIL',['../classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e',1,'B15F']]],
- ['msg_5fok',['MSG_OK',['../classB15F.html#ab01299858f74a6cec598688562e0ad02',1,'B15F']]]
+ ['label_5fclose',['label_close',['../classViewInfo.html#a34879bd1c0a8fe230429cc600dcd6739',1,'ViewInfo']]]
];
diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js
index bd75d34..9a8efba 100644
--- a/docs/html/search/all_a.js
+++ b/docs/html/search/all_a.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['opendevice',['openDevice',['../classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a',1,'USART']]]
+ ['msg',['msg',['../classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79',1,'USARTException']]],
+ ['msg_5f',['msg_',['../classDriverException.html#ab8777afe3f5aed2e66f2b2fcb480a651',1,'DriverException::msg_()'],['../classTimeoutException.html#ae6395f887040521c915b0b8d88dc29e7',1,'TimeoutException::msg_()']]],
+ ['msg_5ffail',['MSG_FAIL',['../classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e',1,'B15F']]],
+ ['msg_5fok',['MSG_OK',['../classB15F.html#ab01299858f74a6cec598688562e0ad02',1,'B15F']]]
];
diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js
index 26e6d28..bd75d34 100644
--- a/docs/html/search/all_b.js
+++ b/docs/html/search/all_b.js
@@ -1,7 +1,4 @@
var searchData=
[
- ['plottyfile',['PlottyFile',['../classPlottyFile.html',1,'']]],
- ['pre',['PRE',['../classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec',1,'B15F']]],
- ['pwmsetfrequency',['pwmSetFrequency',['../classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1',1,'B15F']]],
- ['pwmsetvalue',['pwmSetValue',['../classB15F.html#aae99d74a945039c365ebd2f995b5546e',1,'B15F']]]
+ ['opendevice',['openDevice',['../classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a',1,'USART']]]
];
diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js
index 2c0fc33..26e6d28 100644
--- a/docs/html/search/all_c.js
+++ b/docs/html/search/all_c.js
@@ -1,10 +1,7 @@
var searchData=
[
- ['readdipswitch',['readDipSwitch',['../classB15F.html#a6f858f21ea81d491b5031b3644a2239a',1,'B15F']]],
- ['receive',['receive',['../classUSART.html#a0fdc238203852f00bd750127602b2a6a',1,'USART']]],
- ['reconnect',['reconnect',['../classB15F.html#a52557b375443c180a044e7d4e80a1ae7',1,'B15F']]],
- ['reconnect_5ftimeout',['RECONNECT_TIMEOUT',['../classB15F.html#a040951746fbfd632e12bd1ad14578816',1,'B15F']]],
- ['reconnect_5ftries',['RECONNECT_TRIES',['../classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc',1,'B15F']]],
- ['repaint',['repaint',['../classView.html#aa7b1f1179e3c4f06bef1e99355d0d592',1,'View']]],
- ['reverse',['reverse',['../classB15F.html#a2937f22f1cfc9b533f4b5bf4db726a68',1,'B15F']]]
+ ['plottyfile',['PlottyFile',['../classPlottyFile.html',1,'']]],
+ ['pre',['PRE',['../classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec',1,'B15F']]],
+ ['pwmsetfrequency',['pwmSetFrequency',['../classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1',1,'B15F']]],
+ ['pwmsetvalue',['pwmSetValue',['../classB15F.html#aae99d74a945039c365ebd2f995b5546e',1,'B15F']]]
];
diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js
index be4f36c..2c0fc33 100644
--- a/docs/html/search/all_d.js
+++ b/docs/html/search/all_d.js
@@ -1,30 +1,10 @@
var searchData=
[
- ['setaborthandler',['setAbortHandler',['../classB15F.html#a55b0cd1ea582bda53d6979442640f8e9',1,'B15F']]],
- ['setbaudrate',['setBaudrate',['../classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d',1,'USART']]],
- ['setdescpara',['setDescPara',['../classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab',1,'PlottyFile']]],
- ['setdescx',['setDescX',['../classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a',1,'PlottyFile']]],
- ['setdescy',['setDescY',['../classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590',1,'PlottyFile']]],
- ['setfunctiontype',['setFunctionType',['../classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f',1,'PlottyFile']]],
- ['setmem16',['setMem16',['../classB15F.html#a62ef2ee9bd945d30979939fcffa6759a',1,'B15F']]],
- ['setmem8',['setMem8',['../classB15F.html#a65c0eee6b40b6d3ec58b0335fd668503',1,'B15F']]],
- ['setparafirstcurve',['setParaFirstCurve',['../classPlottyFile.html#aa676414793becb975506f48d6e949dd0',1,'PlottyFile']]],
- ['setparastepwidth',['setParaStepWidth',['../classPlottyFile.html#a6caebd31e04e2e7081cc007047350355',1,'PlottyFile']]],
- ['setquadrant',['setQuadrant',['../classPlottyFile.html#a1953ee0d9a87b7353c16139584e9c2ae',1,'PlottyFile']]],
- ['setrefx',['setRefX',['../classPlottyFile.html#a80c2c2e97a454566f9c1f2c51e1d7f3e',1,'PlottyFile']]],
- ['setrefy',['setRefY',['../classPlottyFile.html#a3a371228ddcc007e97eebe7cc04dffc2',1,'PlottyFile']]],
- ['setregister',['setRegister',['../classB15F.html#a47d7b797129d1ee7ebee4d8ae4f0ff93',1,'B15F']]],
- ['setservodisabled',['setServoDisabled',['../classB15F.html#aad1b3206761c06c7183ae1b8b95b350b',1,'B15F']]],
- ['setservoenabled',['setServoEnabled',['../classB15F.html#ab23d8c5a0b520b9d12d94a04f90fcfa0',1,'B15F']]],
- ['setservoposition',['setServoPosition',['../classB15F.html#aa76f289274e5d0be41c5d4a58b52a416',1,'B15F']]],
- ['settimeout',['setTimeout',['../classUSART.html#ad7fe866cebe920784d2b17602824c7ff',1,'USART']]],
- ['settitle',['setTitle',['../classView.html#a6c725e4d83fd7474635a7e64200c7a08',1,'View']]],
- ['setunitpara',['setUnitPara',['../classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986',1,'PlottyFile']]],
- ['setunitx',['setUnitX',['../classPlottyFile.html#ab8d35a841ca9c325fca671cf34e03527',1,'PlottyFile']]],
- ['setunity',['setUnitY',['../classPlottyFile.html#abb18c814f435926f741f7ceb310f3059',1,'PlottyFile']]],
- ['setwincontext',['setWinContext',['../classView.html#a990aa2223befde031dfcce54a740c558',1,'View']]],
- ['start_5fx',['start_x',['../classView.html#a9fc9f3b0c876d063e6f57dee320a43fe',1,'View']]],
- ['start_5fy',['start_y',['../classView.html#ac424db4c13776c3ce9d33f9074dfcfaa',1,'View']]],
- ['startplotty',['startPlotty',['../classPlottyFile.html#a08a115ef10458cadfe76077d623313df',1,'PlottyFile']]],
- ['str_5fsplit',['str_split',['../classView.html#a52c2e2a7bc56388e7d9bfa398ad52668',1,'View']]]
+ ['readdipswitch',['readDipSwitch',['../classB15F.html#a6f858f21ea81d491b5031b3644a2239a',1,'B15F']]],
+ ['receive',['receive',['../classUSART.html#a0fdc238203852f00bd750127602b2a6a',1,'USART']]],
+ ['reconnect',['reconnect',['../classB15F.html#a52557b375443c180a044e7d4e80a1ae7',1,'B15F']]],
+ ['reconnect_5ftimeout',['RECONNECT_TIMEOUT',['../classB15F.html#a040951746fbfd632e12bd1ad14578816',1,'B15F']]],
+ ['reconnect_5ftries',['RECONNECT_TRIES',['../classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc',1,'B15F']]],
+ ['repaint',['repaint',['../classView.html#aa7b1f1179e3c4f06bef1e99355d0d592',1,'View']]],
+ ['reverse',['reverse',['../classB15F.html#a2937f22f1cfc9b533f4b5bf4db726a68',1,'B15F']]]
];
diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js
index 98b4476..af390b1 100644
--- a/docs/html/search/all_e.js
+++ b/docs/html/search/all_e.js
@@ -1,8 +1,33 @@
var searchData=
[
- ['testconnection',['testConnection',['../classB15F.html#a6b8c7da1fb9b619543844e0ce7597d83',1,'B15F']]],
- ['testintconv',['testIntConv',['../classB15F.html#ac2c7b6d84da5239ee7cc3d44e689d9db',1,'B15F']]],
- ['timeoutexception',['TimeoutException',['../classTimeoutException.html',1,'TimeoutException'],['../classTimeoutException.html#aa45912234da11ffc9dd3594a1bbc0218',1,'TimeoutException::TimeoutException(const char *message)'],['../classTimeoutException.html#ad6e5c200fbfd276f48a6c1163e2d2988',1,'TimeoutException::TimeoutException(const std::string &message)']]],
- ['title',['title',['../classView.html#a80441aa81b52e04677a2aa2bd9c47753',1,'View']]],
- ['transmit',['transmit',['../classUSART.html#a41b19dd58f307015b73e154048cd74ca',1,'USART']]]
+ ['setaborthandler',['setAbortHandler',['../classB15F.html#a55b0cd1ea582bda53d6979442640f8e9',1,'B15F']]],
+ ['setbaudrate',['setBaudrate',['../classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d',1,'USART']]],
+ ['setcall',['setCall',['../classViewInfo.html#a45fd0b8b96d15fd92824ce63fb6814ca',1,'ViewInfo']]],
+ ['setdescpara',['setDescPara',['../classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab',1,'PlottyFile']]],
+ ['setdescx',['setDescX',['../classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a',1,'PlottyFile']]],
+ ['setdescy',['setDescY',['../classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590',1,'PlottyFile']]],
+ ['setfunctiontype',['setFunctionType',['../classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f',1,'PlottyFile']]],
+ ['setlabelclose',['setLabelClose',['../classViewInfo.html#a4c3db4806515ea8b0f07a9864f983377',1,'ViewInfo']]],
+ ['setmem16',['setMem16',['../classB15F.html#a62ef2ee9bd945d30979939fcffa6759a',1,'B15F']]],
+ ['setmem8',['setMem8',['../classB15F.html#a65c0eee6b40b6d3ec58b0335fd668503',1,'B15F']]],
+ ['setparafirstcurve',['setParaFirstCurve',['../classPlottyFile.html#aa676414793becb975506f48d6e949dd0',1,'PlottyFile']]],
+ ['setparastepwidth',['setParaStepWidth',['../classPlottyFile.html#a6caebd31e04e2e7081cc007047350355',1,'PlottyFile']]],
+ ['setquadrant',['setQuadrant',['../classPlottyFile.html#a1953ee0d9a87b7353c16139584e9c2ae',1,'PlottyFile']]],
+ ['setrefx',['setRefX',['../classPlottyFile.html#a80c2c2e97a454566f9c1f2c51e1d7f3e',1,'PlottyFile']]],
+ ['setrefy',['setRefY',['../classPlottyFile.html#a3a371228ddcc007e97eebe7cc04dffc2',1,'PlottyFile']]],
+ ['setregister',['setRegister',['../classB15F.html#a47d7b797129d1ee7ebee4d8ae4f0ff93',1,'B15F']]],
+ ['setservodisabled',['setServoDisabled',['../classB15F.html#aad1b3206761c06c7183ae1b8b95b350b',1,'B15F']]],
+ ['setservoenabled',['setServoEnabled',['../classB15F.html#ab23d8c5a0b520b9d12d94a04f90fcfa0',1,'B15F']]],
+ ['setservoposition',['setServoPosition',['../classB15F.html#aa76f289274e5d0be41c5d4a58b52a416',1,'B15F']]],
+ ['settext',['setText',['../classViewInfo.html#abc93067b319df17e19f013a86d762f81',1,'ViewInfo']]],
+ ['settimeout',['setTimeout',['../classUSART.html#ad7fe866cebe920784d2b17602824c7ff',1,'USART']]],
+ ['settitle',['setTitle',['../classView.html#a6c725e4d83fd7474635a7e64200c7a08',1,'View']]],
+ ['setunitpara',['setUnitPara',['../classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986',1,'PlottyFile']]],
+ ['setunitx',['setUnitX',['../classPlottyFile.html#ab8d35a841ca9c325fca671cf34e03527',1,'PlottyFile']]],
+ ['setunity',['setUnitY',['../classPlottyFile.html#abb18c814f435926f741f7ceb310f3059',1,'PlottyFile']]],
+ ['setwincontext',['setWinContext',['../classView.html#a990aa2223befde031dfcce54a740c558',1,'View']]],
+ ['start_5fx',['start_x',['../classView.html#a9fc9f3b0c876d063e6f57dee320a43fe',1,'View']]],
+ ['start_5fy',['start_y',['../classView.html#ac424db4c13776c3ce9d33f9074dfcfaa',1,'View']]],
+ ['startplotty',['startPlotty',['../classPlottyFile.html#a08a115ef10458cadfe76077d623313df',1,'PlottyFile']]],
+ ['str_5fsplit',['str_split',['../classView.html#a52c2e2a7bc56388e7d9bfa398ad52668',1,'View']]]
];
diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js
index 7e9d9bc..5d93e26 100644
--- a/docs/html/search/all_f.js
+++ b/docs/html/search/all_f.js
@@ -1,5 +1,11 @@
var searchData=
[
- ['usart',['USART',['../classUSART.html',1,'USART'],['../classUSART.html#a5daed20dc595c43d87c4c28bb08a7449',1,'USART::USART()']]],
- ['usartexception',['USARTException',['../classUSARTException.html',1,'USARTException'],['../classUSARTException.html#a3c359db129825703b91392d5128cf93d',1,'USARTException::USARTException(const char *message)'],['../classUSARTException.html#a643c0a8b7f0d81e2f1693a75b378e6c2',1,'USARTException::USARTException(const std::string &message)']]]
+ ['testconnection',['testConnection',['../classB15F.html#a6b8c7da1fb9b619543844e0ce7597d83',1,'B15F']]],
+ ['testintconv',['testIntConv',['../classB15F.html#ac2c7b6d84da5239ee7cc3d44e689d9db',1,'B15F']]],
+ ['text',['text',['../classViewInfo.html#ac392a569ef16af3dc11ee659f3fa1eb4',1,'ViewInfo']]],
+ ['text_5foffset_5fx',['text_offset_x',['../classViewInfo.html#a4681a8138f17ea229aca02e6db7357cd',1,'ViewInfo']]],
+ ['text_5foffset_5fy',['text_offset_y',['../classViewInfo.html#a34a9239c8954a0c27a22cf44d112f5b8',1,'ViewInfo']]],
+ ['timeoutexception',['TimeoutException',['../classTimeoutException.html',1,'TimeoutException'],['../classTimeoutException.html#aa45912234da11ffc9dd3594a1bbc0218',1,'TimeoutException::TimeoutException(const char *message)'],['../classTimeoutException.html#ad6e5c200fbfd276f48a6c1163e2d2988',1,'TimeoutException::TimeoutException(const std::string &message)']]],
+ ['title',['title',['../classView.html#a80441aa81b52e04677a2aa2bd9c47753',1,'View']]],
+ ['transmit',['transmit',['../classUSART.html#a41b19dd58f307015b73e154048cd74ca',1,'USART']]]
];
diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js
index 3b2411d..57a3b55 100644
--- a/docs/html/search/functions_a.js
+++ b/docs/html/search/functions_a.js
@@ -2,10 +2,12 @@ var searchData=
[
['setaborthandler',['setAbortHandler',['../classB15F.html#a55b0cd1ea582bda53d6979442640f8e9',1,'B15F']]],
['setbaudrate',['setBaudrate',['../classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d',1,'USART']]],
+ ['setcall',['setCall',['../classViewInfo.html#a45fd0b8b96d15fd92824ce63fb6814ca',1,'ViewInfo']]],
['setdescpara',['setDescPara',['../classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab',1,'PlottyFile']]],
['setdescx',['setDescX',['../classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a',1,'PlottyFile']]],
['setdescy',['setDescY',['../classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590',1,'PlottyFile']]],
['setfunctiontype',['setFunctionType',['../classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f',1,'PlottyFile']]],
+ ['setlabelclose',['setLabelClose',['../classViewInfo.html#a4c3db4806515ea8b0f07a9864f983377',1,'ViewInfo']]],
['setmem16',['setMem16',['../classB15F.html#a62ef2ee9bd945d30979939fcffa6759a',1,'B15F']]],
['setmem8',['setMem8',['../classB15F.html#a65c0eee6b40b6d3ec58b0335fd668503',1,'B15F']]],
['setparafirstcurve',['setParaFirstCurve',['../classPlottyFile.html#aa676414793becb975506f48d6e949dd0',1,'PlottyFile']]],
@@ -17,6 +19,7 @@ var searchData=
['setservodisabled',['setServoDisabled',['../classB15F.html#aad1b3206761c06c7183ae1b8b95b350b',1,'B15F']]],
['setservoenabled',['setServoEnabled',['../classB15F.html#ab23d8c5a0b520b9d12d94a04f90fcfa0',1,'B15F']]],
['setservoposition',['setServoPosition',['../classB15F.html#aa76f289274e5d0be41c5d4a58b52a416',1,'B15F']]],
+ ['settext',['setText',['../classViewInfo.html#abc93067b319df17e19f013a86d762f81',1,'ViewInfo']]],
['settimeout',['setTimeout',['../classUSART.html#ad7fe866cebe920784d2b17602824c7ff',1,'USART']]],
['settitle',['setTitle',['../classView.html#a6c725e4d83fd7474635a7e64200c7a08',1,'View']]],
['setunitpara',['setUnitPara',['../classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986',1,'PlottyFile']]],
diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js
index 9256ce0..fcaf074 100644
--- a/docs/html/search/functions_d.js
+++ b/docs/html/search/functions_d.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['view',['View',['../classView.html#a0a9be6e5fb588412aab31cacf5e43b04',1,'View']]]
+ ['view',['View',['../classView.html#a0a9be6e5fb588412aab31cacf5e43b04',1,'View']]],
+ ['viewinfo',['ViewInfo',['../classViewInfo.html#a95a3a81de65ef42615bbe5a843e8d5f6',1,'ViewInfo']]]
];
diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js
index 72d48e8..aa45a37 100644
--- a/docs/html/search/searchdata.js
+++ b/docs/html/search/searchdata.js
@@ -1,9 +1,9 @@
var indexSectionsWithContent =
{
- 0: "abcdefghkmoprstuvw~",
+ 0: "abcdefghklmoprstuvw~",
1: "bdptuv",
2: "acdefgkoprstuvw~",
- 3: "bchkmprstw",
+ 3: "bchklmprstw",
4: "b"
};
diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js
index 7f4e52c..fb178be 100644
--- a/docs/html/search/variables_1.js
+++ b/docs/html/search/variables_1.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['calls',['calls',['../classView.html#a610367214a727e2f7da72ac5bdb60fa3',1,'View']]]
+ ['calls',['calls',['../classView.html#a610367214a727e2f7da72ac5bdb60fa3',1,'View']]],
+ ['close_5foffset_5fx',['close_offset_x',['../classViewInfo.html#ae4dab70d82761e0f59f51dcae79685fe',1,'ViewInfo']]],
+ ['close_5foffset_5fy',['close_offset_y',['../classViewInfo.html#a5954adf853cb44d4655ede731faf1a28',1,'ViewInfo']]]
];
diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js
index 9a8efba..b6889fd 100644
--- a/docs/html/search/variables_4.js
+++ b/docs/html/search/variables_4.js
@@ -1,7 +1,4 @@
var searchData=
[
- ['msg',['msg',['../classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79',1,'USARTException']]],
- ['msg_5f',['msg_',['../classDriverException.html#ab8777afe3f5aed2e66f2b2fcb480a651',1,'DriverException::msg_()'],['../classTimeoutException.html#ae6395f887040521c915b0b8d88dc29e7',1,'TimeoutException::msg_()']]],
- ['msg_5ffail',['MSG_FAIL',['../classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e',1,'B15F']]],
- ['msg_5fok',['MSG_OK',['../classB15F.html#ab01299858f74a6cec598688562e0ad02',1,'B15F']]]
+ ['label_5fclose',['label_close',['../classViewInfo.html#a34879bd1c0a8fe230429cc600dcd6739',1,'ViewInfo']]]
];
diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js
index 570beea..9a8efba 100644
--- a/docs/html/search/variables_5.js
+++ b/docs/html/search/variables_5.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['pre',['PRE',['../classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec',1,'B15F']]]
+ ['msg',['msg',['../classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79',1,'USARTException']]],
+ ['msg_5f',['msg_',['../classDriverException.html#ab8777afe3f5aed2e66f2b2fcb480a651',1,'DriverException::msg_()'],['../classTimeoutException.html#ae6395f887040521c915b0b8d88dc29e7',1,'TimeoutException::msg_()']]],
+ ['msg_5ffail',['MSG_FAIL',['../classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e',1,'B15F']]],
+ ['msg_5fok',['MSG_OK',['../classB15F.html#ab01299858f74a6cec598688562e0ad02',1,'B15F']]]
];
diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js
index fbf0a47..570beea 100644
--- a/docs/html/search/variables_6.js
+++ b/docs/html/search/variables_6.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['reconnect_5ftimeout',['RECONNECT_TIMEOUT',['../classB15F.html#a040951746fbfd632e12bd1ad14578816',1,'B15F']]],
- ['reconnect_5ftries',['RECONNECT_TRIES',['../classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc',1,'B15F']]]
+ ['pre',['PRE',['../classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec',1,'B15F']]]
];
diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js
index adf94ab..fbf0a47 100644
--- a/docs/html/search/variables_7.js
+++ b/docs/html/search/variables_7.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['start_5fx',['start_x',['../classView.html#a9fc9f3b0c876d063e6f57dee320a43fe',1,'View']]],
- ['start_5fy',['start_y',['../classView.html#ac424db4c13776c3ce9d33f9074dfcfaa',1,'View']]]
+ ['reconnect_5ftimeout',['RECONNECT_TIMEOUT',['../classB15F.html#a040951746fbfd632e12bd1ad14578816',1,'B15F']]],
+ ['reconnect_5ftries',['RECONNECT_TRIES',['../classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc',1,'B15F']]]
];
diff --git a/docs/html/search/variables_8.js b/docs/html/search/variables_8.js
index 93eef87..adf94ab 100644
--- a/docs/html/search/variables_8.js
+++ b/docs/html/search/variables_8.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['title',['title',['../classView.html#a80441aa81b52e04677a2aa2bd9c47753',1,'View']]]
+ ['start_5fx',['start_x',['../classView.html#a9fc9f3b0c876d063e6f57dee320a43fe',1,'View']]],
+ ['start_5fy',['start_y',['../classView.html#ac424db4c13776c3ce9d33f9074dfcfaa',1,'View']]]
];
diff --git a/docs/html/search/variables_9.js b/docs/html/search/variables_9.js
index 6cde899..ce82adb 100644
--- a/docs/html/search/variables_9.js
+++ b/docs/html/search/variables_9.js
@@ -1,6 +1,7 @@
var searchData=
[
- ['wdt_5ftimeout',['WDT_TIMEOUT',['../classB15F.html#a158d13bc84aed6430cdede1396384e06',1,'B15F']]],
- ['width',['width',['../classView.html#ae039aa744b085db819ae149705b2c32b',1,'View']]],
- ['win',['win',['../classView.html#a5ddee2bf0b26dbcfa7780be17ff33dd7',1,'View']]]
+ ['text',['text',['../classViewInfo.html#ac392a569ef16af3dc11ee659f3fa1eb4',1,'ViewInfo']]],
+ ['text_5foffset_5fx',['text_offset_x',['../classViewInfo.html#a4681a8138f17ea229aca02e6db7357cd',1,'ViewInfo']]],
+ ['text_5foffset_5fy',['text_offset_y',['../classViewInfo.html#a34a9239c8954a0c27a22cf44d112f5b8',1,'ViewInfo']]],
+ ['title',['title',['../classView.html#a80441aa81b52e04677a2aa2bd9c47753',1,'View']]]
];
diff --git a/docs/html/search/variables_a.html b/docs/html/search/variables_a.html
new file mode 100644
index 0000000..fd8f0d7
--- /dev/null
+++ b/docs/html/search/variables_a.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/docs/html/search/variables_a.js b/docs/html/search/variables_a.js
new file mode 100644
index 0000000..6cde899
--- /dev/null
+++ b/docs/html/search/variables_a.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['wdt_5ftimeout',['WDT_TIMEOUT',['../classB15F.html#a158d13bc84aed6430cdede1396384e06',1,'B15F']]],
+ ['width',['width',['../classView.html#ae039aa744b085db819ae149705b2c32b',1,'View']]],
+ ['win',['win',['../classView.html#a5ddee2bf0b26dbcfa7780be17ff33dd7',1,'View']]]
+];
diff --git a/docs/html/timeoutexception_8h_source.html b/docs/html/timeoutexception_8h_source.html
index 3653e29..727164e 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 8f73044..9e932c4 100644
--- a/docs/html/ui_8cpp_source.html
+++ b/docs/html/ui_8cpp_source.html
@@ -70,14 +70,15 @@ $(function() {
ui.cpp
-
2 #include "../drv/b15f.h" 4 std::vector<View*> win_stack;
10 view->
setTitle (
"B15F - Command Line Interface" );
11 view->addChoice(
"[ Monitor - Eingaben beobachten ]" , &show_monitor);
12 view->addChoice(
"[ Digitale Ausgabe BA0 ]" , &show_digital_output0);
13 view->addChoice(
"[ Digitale Ausgabe BA1 ]" , &show_digital_output1);
14 view->addChoice(
"[ Analoge Ausgabe AA0 ]" , &show_analog_output0);
15 view->addChoice(
"[ Analoge Ausgabe AA1 ]" , &show_analog_output1);
16 view->addChoice(
"[ Selbsttest des B15 ]" , &show_selftest_info);
17 view->addChoice(
"[ Informationen ]" , &show_info);
18 view->addChoice(
"" ,
nullptr );
19 view->addChoice(
"[ Beenden ]" , &finish);
22 win_stack.push_back(view);
33 win_stack.back()->repaint();
34 nextCall = win_stack.back()->keypress(key);
42 while (win_stack.size());
49 delete win_stack.back();
53 win_stack.back()->repaint();
64 if (t_refresh.joinable())
75 view->setText(
"Informationen zu Board 15 Famulus Edition\n \nProjektseite: https://github.com/devfix/b15f/\nDokumentation: https://devfix.github.io/b15f/\n \nB15F Software entwickelt von Tristan Krause für das Hardware-Labor.\nKontakt: tristan.krause@stud.htwk-leipzig.de" );
76 view->setLabelClose(
"[ Zurueck ]" );
79 win_stack.push_back(view);
83 void show_monitor(
int )
87 view->setText(
"\nErfasse Messwerte..." );
88 view->setLabelClose(
"[ Zurueck ]" );
91 win_stack.push_back(view);
95 void show_invalid_port_input(
int )
99 view->setText(
"Bitte geben Sie einen Wert aus dem Intervall [0, FF] an." );
100 view->setLabelClose(
"[ Schliessen ]" );
103 win_stack.push_back(view);
107 void show_invalid_dac_input(
int )
111 view->setText(
"Bitte geben Sie einen Wert aus dem Intervall [0, 1023] an." );
112 view->setLabelClose(
"[ Schliessen ]" );
115 win_stack.push_back(view);
119 void write_digital_output0(
int )
123 int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
125 throw std::invalid_argument(
"bad value" );
126 uint8_t port = static_cast<uint8_t>(d);
132 catch (std::invalid_argument& ex)
134 show_invalid_port_input(0);
138 void write_digital_output1(
int )
142 int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
144 throw std::invalid_argument(
"bad value" );
145 uint8_t port = static_cast<uint8_t>(d);
151 catch (std::invalid_argument& ex)
153 show_invalid_port_input(0);
157 void write_analog_output0(
int )
161 uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
163 throw std::invalid_argument(
"bad value" );
169 catch (std::invalid_argument& ex)
171 show_invalid_dac_input(0);
175 void write_analog_output1(
int )
179 uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
181 throw std::invalid_argument(
"bad value" );
187 catch (std::invalid_argument& ex)
189 show_invalid_dac_input(0);
193 void show_digital_output0(
int )
196 view->
setTitle (
"Digitale Ausgabe BE0" );
197 view->setMessage(
"\nAusgabe Port-Wert (hex): 0x" );
198 view->setCancel(
"[ Zurueck ]" ,
true );
199 view->setConfirm(
"[ OK ]" , &write_digital_output0);
202 win_stack.push_back(view);
206 void show_digital_output1(
int )
209 view->
setTitle (
"Digitale Ausgabe BE1" );
210 view->setMessage(
"\nAusgabe Port-Wert (hex): 0x" );
211 view->setCancel(
"[ Zurueck ]" ,
true );
212 view->setConfirm(
"[ OK ]" , &write_digital_output1);
215 win_stack.push_back(view);
219 void show_analog_output0(
int )
222 view->
setTitle (
"Analoge Ausgabe AA0" );
223 view->setMessage(
"\nAusgabe 10-Bit-Wert (0...1023): " );
224 view->setCancel(
"[ Zurueck ]" ,
true );
225 view->setConfirm(
"[ OK ]" , &write_analog_output0);
228 win_stack.push_back(view);
232 void show_analog_output1(
int )
235 view->
setTitle (
"Analoge Ausgabe AA1" );
236 view->setMessage(
"\nAusgabe 10-Bit-Wert (0...1023): " );
237 view->setCancel(
"[ Zurueck ]" ,
true );
238 view->setConfirm(
"[ OK ]" , &write_analog_output1);
241 win_stack.push_back(view);
245 void start_selftest(
int )
252 view->setText(
"Das B15 befindet sich jetzt im Selbsttestmodus.\n \nSelbsttest:\nZu Beginn geht der Reihe nach jede LED von BA0 bis BA1 an.\nDanach leuchten die LEDs an AA0 und AA1 kurz auf.\nZum Schluss spiegelt in einer Endlosschleife:\n* BA0 Port BE0\n* BA1 die DIP-Schalter S7\n* AA0 ADC0\n* AA1 ADC1" );
253 view->setLabelClose(
"[ Selbsttest Beenden ]" );
254 view->setCall(&stop_selftest);
257 win_stack.push_back(view);
261 void stop_selftest(
int )
271 void show_selftest_info(
int )
275 view->setText(
"Bitte entfernen Sie jetzt alle Draehte von den Anschlussklemmen und\nbestätigen mit Enter." );
276 view->setLabelClose(
"[ Weiter ]" );
277 view->setCall(&start_selftest);
280 win_stack.push_back(view);
+ 2 #include "../drv/b15f.h" 4 std::vector<View*> win_stack;
10 view->
setTitle (
"B15F - Command Line Interface" );
11 view->addChoice(
"[ Monitor - Eingaben beobachten ]" , &show_monitor);
12 view->addChoice(
"[ Digitale Ausgabe BA0 ]" , &show_digital_output0);
13 view->addChoice(
"[ Digitale Ausgabe BA1 ]" , &show_digital_output1);
14 view->addChoice(
"[ Analoge Ausgabe AA0 ]" , &show_analog_output0);
15 view->addChoice(
"[ Analoge Ausgabe AA1 ]" , &show_analog_output1);
16 view->addChoice(
"[ Selbsttest des B15 ]" , &show_selftest_info);
17 view->addChoice(
"[ Informationen ]" , &show_info);
18 view->addChoice(
"" ,
nullptr );
19 view->addChoice(
"[ Beenden ]" , &finish);
22 win_stack.push_back(view);
33 win_stack.back()->repaint();
34 nextCall = win_stack.back()->keypress(key);
42 while (win_stack.size());
49 delete win_stack.back();
53 win_stack.back()->repaint();
64 if (t_refresh.joinable())
75 view->
setText (
"Informationen zu Board 15 Famulus Edition\n \nProjektseite: https://github.com/devfix/b15f/\nDokumentation: https://devfix.github.io/b15f/\n \nB15F Software entwickelt von Tristan Krause für das Hardware-Labor.\nKontakt: tristan.krause@stud.htwk-leipzig.de" );
79 win_stack.push_back(view);
83 void show_monitor(
int )
87 view->
setText (
"\nErfasse Messwerte..." );
91 win_stack.push_back(view);
95 void show_invalid_port_input(
int )
99 view->
setText (
"Bitte geben Sie einen Wert aus dem Intervall [0, FF] an." );
103 win_stack.push_back(view);
107 void show_invalid_dac_input(
int )
111 view->
setText (
"Bitte geben Sie einen Wert aus dem Intervall [0, 1023] an." );
115 win_stack.push_back(view);
119 void write_digital_output0(
int )
123 int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
125 throw std::invalid_argument(
"bad value" );
126 uint8_t port = static_cast<uint8_t>(d);
132 catch (std::invalid_argument& ex)
134 show_invalid_port_input(0);
138 void write_digital_output1(
int )
142 int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
144 throw std::invalid_argument(
"bad value" );
145 uint8_t port = static_cast<uint8_t>(d);
151 catch (std::invalid_argument& ex)
153 show_invalid_port_input(0);
157 void write_analog_output0(
int )
161 uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
163 throw std::invalid_argument(
"bad value" );
169 catch (std::invalid_argument& ex)
171 show_invalid_dac_input(0);
175 void write_analog_output1(
int )
179 uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
181 throw std::invalid_argument(
"bad value" );
187 catch (std::invalid_argument& ex)
189 show_invalid_dac_input(0);
193 void show_digital_output0(
int )
196 view->
setTitle (
"Digitale Ausgabe BE0" );
197 view->setMessage(
"\nAusgabe Port-Wert (hex): 0x" );
198 view->setCancel(
"[ Zurueck ]" ,
true );
199 view->setConfirm(
"[ OK ]" , &write_digital_output0);
202 win_stack.push_back(view);
206 void show_digital_output1(
int )
209 view->
setTitle (
"Digitale Ausgabe BE1" );
210 view->setMessage(
"\nAusgabe Port-Wert (hex): 0x" );
211 view->setCancel(
"[ Zurueck ]" ,
true );
212 view->setConfirm(
"[ OK ]" , &write_digital_output1);
215 win_stack.push_back(view);
219 void show_analog_output0(
int )
222 view->
setTitle (
"Analoge Ausgabe AA0" );
223 view->setMessage(
"\nAusgabe 10-Bit-Wert (0...1023): " );
224 view->setCancel(
"[ Zurueck ]" ,
true );
225 view->setConfirm(
"[ OK ]" , &write_analog_output0);
228 win_stack.push_back(view);
232 void show_analog_output1(
int )
235 view->
setTitle (
"Analoge Ausgabe AA1" );
236 view->setMessage(
"\nAusgabe 10-Bit-Wert (0...1023): " );
237 view->setCancel(
"[ Zurueck ]" ,
true );
238 view->setConfirm(
"[ OK ]" , &write_analog_output1);
241 win_stack.push_back(view);
245 void start_selftest(
int )
252 view->
setText (
"Das B15 befindet sich jetzt im Selbsttestmodus.\n \nSelbsttest:\nZu Beginn geht der Reihe nach jede LED von BA0 bis BA1 an.\nDanach leuchten die LEDs an AA0 und AA1 kurz auf.\nZum Schluss spiegelt in einer Endlosschleife:\n* BA0 Port BE0\n* BA1 die DIP-Schalter S7\n* AA0 ADC0\n* AA1 ADC1" );
257 win_stack.push_back(view);
261 void stop_selftest(
int )
271 void show_selftest_info(
int )
275 view->
setText (
"Bitte entfernen Sie jetzt alle Draehte von den Anschlussklemmen und\nbestätigen mit Enter." );
277 view->
setCall (&start_selftest);
280 win_stack.push_back(view);
void analogWrite0(uint16_t port)
void analogWrite1(uint16_t port)
void digitalWrite0(uint8_t)
-
+
static WINDOW * getWinContext(void)
void delay_ms(uint16_t ms)
+virtual void setText(std::string text)
static B15F & getInstance(void)
void activateSelfTestMode(void)
@@ -87,11 +88,13 @@ $(function() {
constexpr static uint16_t WDT_TIMEOUT
Time in ms after which the watch dog timer resets the MCU.
+virtual void setLabelClose(std::string label)
virtual void setTitle(std::string title)
+virtual void setCall(call_t call)
void digitalWrite1(uint8_t)
diff --git a/docs/html/ui_8h_source.html b/docs/html/ui_8h_source.html
index 216da07..71ae0b6 100644
--- a/docs/html/ui_8h_source.html
+++ b/docs/html/ui_8h_source.html
@@ -73,7 +73,7 @@ $(function() {
5 #include "view_selection.h" 7 #include "view_monitor.h" 8 #include "view_promt.h" 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 );
30 void show_selftest_info(
int );
31 void start_selftest(
int );
32 void stop_selftest(
int );
35 extern std::vector<View*> win_stack;
36 extern std::thread t_refresh;
diff --git a/docs/html/usart_8cpp_source.html b/docs/html/usart_8cpp_source.html
index 8abba5b..67e7ceb 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 8a6c183..eaf2eb7 100644
--- a/docs/html/usart_8h_source.html
+++ b/docs/html/usart_8h_source.html
@@ -88,7 +88,7 @@ $(function() {
void flushOutputBuffer(void)
diff --git a/docs/html/usartexception_8h_source.html b/docs/html/usartexception_8h_source.html
index ca58e16..ca27f65 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 02eb344..f2e3888 100644
--- a/docs/html/view_8cpp_source.html
+++ b/docs/html/view_8cpp_source.html
@@ -88,7 +88,7 @@ $(function() {
virtual void draw(void)=0
diff --git a/docs/html/view_8h_source.html b/docs/html/view_8h_source.html
index 419a51c..920047c 100644
--- a/docs/html/view_8h_source.html
+++ b/docs/html/view_8h_source.html
@@ -91,7 +91,7 @@ $(function() {
constexpr static int KEY_ENT
Key value for the Enter key.
diff --git a/docs/html/view__info_8cpp_source.html b/docs/html/view__info_8cpp_source.html
index 5306e7c..71a96b6 100644
--- a/docs/html/view__info_8cpp_source.html
+++ b/docs/html/view__info_8cpp_source.html
@@ -70,20 +70,30 @@ $(function() {
view_info.cpp
-
5 calls .push_back(
nullptr );
8 void ViewInfo::setText(std::string text)
13 void ViewInfo::setLabelClose(std::string label)
15 this->label_close = label;
18 void ViewInfo::setCall(call_t call)
26 for (std::string line :
str_split (text,
"\n" ))
27 mvwprintw(
win , text_offset_y + li++, text_offset_x,
"%s" , line.c_str());
29 close_offset_x = (
width - label_close.length()) / 2;
30 close_offset_y =
height - 2;
32 wattron(
win , A_REVERSE);
33 mvwprintw(
win , close_offset_y, close_offset_x,
"%s" , label_close.c_str());
34 wattroff(
win , A_REVERSE);
46 if (getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
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())
+ 5 calls .push_back(
nullptr );
32 wattron(
win , A_REVERSE);
34 wattroff(
win , A_REVERSE);
46 if (getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
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())
int height
height of view in terminal characters
+constexpr static int text_offset_x
Relativer Abstand des Textes zum linken Rahmen.
int width
width of view in terminal characters
+virtual void setText(std::string text)
std::vector< call_t > calls
calls (function pointers) for different button actions in the view (if any)
+
static WINDOW * win
static window contexts for all views
+int close_offset_x
Relative X Koordinate des Buttons zum Schließen im Window.
static std::vector< std::string > str_split(const std::string &str, const std::string delim)
+std::string label_close
Beschriftung für Button zum Schließen.
+constexpr static int text_offset_y
Relativer Abstand des Textes zum oberen Rahmen.
virtual call_t keypress(int &key) override
+int close_offset_y
Relative Y Koordinate des Buttons zum Schließen im Window.
+virtual void setLabelClose(std::string label)
int start_x
x offset (characters) in the terminal, used to center the window on repaint()
+std::string text
Benachrichtigungstext dieser View.
+virtual void setCall(call_t call)
int start_y
y offset (characters) in the terminal, used to center the window on repaint()
virtual void draw(void) override
constexpr static int KEY_ENT
Key value for the Enter key.
diff --git a/docs/html/view__info_8h_source.html b/docs/html/view__info_8h_source.html
index aa8d4ab..d5bf10e 100644
--- a/docs/html/view__info_8h_source.html
+++ b/docs/html/view__info_8h_source.html
@@ -70,14 +70,24 @@ $(function() {
view_info.h
-
12 virtual void setText(std::string text);
13 virtual void setLabelClose(std::string label);;
14 virtual void setCall(call_t call);
15 virtual void draw (
void )
override ;
16 virtual call_t
keypress (
int & key)
override ;
20 std::string label_close;
21 int close_offset_x = 0;
22 int close_offset_y = 0;
23 constexpr
static int text_offset_x = 2;
24 constexpr
static int text_offset_y = 3;
-
+ 36 virtual void setCall (call_t call);
41 virtual void draw (
void )
override ;
48 virtual call_t
keypress (
int & key)
override ;
+constexpr static int text_offset_x
Relativer Abstand des Textes zum linken Rahmen.
+
+virtual void setText(std::string text)
+
+int close_offset_x
Relative X Koordinate des Buttons zum Schließen im Window.
+std::string label_close
Beschriftung für Button zum Schließen.
+constexpr static int text_offset_y
Relativer Abstand des Textes zum oberen Rahmen.
virtual call_t keypress(int &key) override
+int close_offset_y
Relative Y Koordinate des Buttons zum Schließen im Window.
+virtual void setLabelClose(std::string label)
+std::string text
Benachrichtigungstext dieser View.
+virtual void setCall(call_t call)
virtual void draw(void) override
diff --git a/docs/html/view__monitor_8cpp_source.html b/docs/html/view__monitor_8cpp_source.html
index d9aa7e2..df59651 100644
--- a/docs/html/view__monitor_8cpp_source.html
+++ b/docs/html/view__monitor_8cpp_source.html
@@ -70,9 +70,10 @@ $(function() {
view_monitor.cpp
-
1 #include "view_monitor.h" 3 ViewMonitor::ViewMonitor() : t_worker(&
ViewMonitor ::worker, this)
17 if (getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
19 size_t column =
start_x + close_offset_x;
20 size_t row =
start_y + close_offset_y;
21 size_t mouse_x =
event .x, mouse_y =
event .y;
22 if (mouse_y == row && mouse_x >= column && mouse_x < column + label_close.length())
44 std::string ViewMonitor::fancyDigitalString(uint8_t& b)
46 std::string bitstring(std::bitset<8>(b).to_string());
49 std::stringstream str;
52 str <<
"0x" << std::setfill (
'0' ) << std::setw(2) << std::hex << (int) b << std::dec;
56 std::string ViewMonitor::fancyAnalogString(uint16_t& v)
58 std::stringstream str;
59 double volt = round(v * 100.0 * 5.0 / 1023.0) / 100.0;
61 str << std::setfill (
'0' ) << std::setw(4) << (int) v <<
" " << std::fixed << std::setprecision(2) << volt <<
" V " ;
64 uint8_t p = round(v * 40.0 / 1023.0);
65 for (uint8_t i = 0; i < p; i++)
67 for (uint8_t i = 0; i < 40 - p; i++)
69 str <<
"]" << std::endl;
74 void ViewMonitor::worker()
84 std::this_thread::sleep_for(std::chrono::milliseconds(1000));
87 std::this_thread::sleep_for(std::chrono::milliseconds(100));
94 for (uint8_t i = 0; i <
sizeof (adc) /
sizeof (adc[0]); i++)
98 std::stringstream str;
101 for (uint8_t i = 0; i <
width - 2 * text_offset_x; i++)
108 str <<
"Digitale Enigaenge:" << std::endl;
109 str <<
"Binaere Eingabe 0: " << fancyDigitalString(be0) << std::endl;
110 str <<
"Binaere Eingabe 1: " << fancyDigitalString(be1) << std::endl;
111 str <<
"Dip Schalter (S7): " << fancyDigitalString(dsw) << std::endl;
114 for (uint8_t i = 0; i <
width - 2 * text_offset_x; i++)
121 str <<
"Analoge Eingaenge:" << std::endl;
122 for (uint8_t i = 0; i <
sizeof (adc) /
sizeof (adc[0]); i++)
124 str <<
"Kanal " << std::to_string((
int ) i) <<
": " ;
125 str << fancyAnalogString(adc[i]) << std::endl;
133 std::cout <<
"DriverException: " << ex.
what () << std::endl;
144 B15F::abort (
"Die Verbindung ist unterbrochen worden. Wurde ein Stecker gezogen? :D" );
+ 1 #include "view_monitor.h" 3 ViewMonitor::ViewMonitor() : t_worker(&
ViewMonitor ::worker, this)
17 if (getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
21 size_t mouse_x =
event .x, mouse_y =
event .y;
22 if (mouse_y == row && mouse_x >= column && mouse_x < column +
label_close .length())
44 std::string ViewMonitor::fancyDigitalString(uint8_t& b)
46 std::string bitstring(std::bitset<8>(b).to_string());
49 std::stringstream str;
52 str <<
"0x" << std::setfill (
'0' ) << std::setw(2) << std::hex << (int) b << std::dec;
56 std::string ViewMonitor::fancyAnalogString(uint16_t& v)
58 std::stringstream str;
59 double volt = round(v * 100.0 * 5.0 / 1023.0) / 100.0;
61 str << std::setfill (
'0' ) << std::setw(4) << (int) v <<
" " << std::fixed << std::setprecision(2) << volt <<
" V " ;
64 uint8_t p = round(v * 40.0 / 1023.0);
65 for (uint8_t i = 0; i < p; i++)
67 for (uint8_t i = 0; i < 40 - p; i++)
69 str <<
"]" << std::endl;
74 void ViewMonitor::worker()
84 std::this_thread::sleep_for(std::chrono::milliseconds(1000));
87 std::this_thread::sleep_for(std::chrono::milliseconds(100));
94 for (uint8_t i = 0; i <
sizeof (adc) /
sizeof (adc[0]); i++)
98 std::stringstream str;
108 str <<
"Digitale Enigaenge:" << std::endl;
109 str <<
"Binaere Eingabe 0: " << fancyDigitalString(be0) << std::endl;
110 str <<
"Binaere Eingabe 1: " << fancyDigitalString(be1) << std::endl;
111 str <<
"Dip Schalter (S7): " << fancyDigitalString(dsw) << std::endl;
121 str <<
"Analoge Eingaenge:" << std::endl;
122 for (uint8_t i = 0; i <
sizeof (adc) /
sizeof (adc[0]); i++)
124 str <<
"Kanal " << std::to_string((
int ) i) <<
": " ;
125 str << fancyAnalogString(adc[i]) << std::endl;
133 std::cout <<
"DriverException: " << ex.
what () << std::endl;
144 B15F::abort (
"Die Verbindung ist unterbrochen worden. Wurde ein Stecker gezogen? :D" );
virtual call_t keypress(int &key) override
+constexpr static int text_offset_x
Relativer Abstand des Textes zum linken Rahmen.
int width
width of view in terminal characters
uint8_t digitalRead0(void)
virtual const char * what() const
@@ -83,17 +84,21 @@ $(function() {
static void abort(std::string msg)
static WINDOW * win
static window contexts for all views
+int close_offset_x
Relative X Koordinate des Buttons zum Schließen im Window.
+std::string label_close
Beschriftung für Button zum Schließen.
uint16_t analogRead(uint8_t channel)
virtual void repaint(void)
+int close_offset_y
Relative Y Koordinate des Buttons zum Schließen im Window.
uint8_t digitalRead1(void)
int start_x
x offset (characters) in the terminal, used to center the window on repaint()
+std::string text
Benachrichtigungstext dieser View.
int start_y
y offset (characters) in the terminal, used to center the window on repaint()
constexpr static int KEY_ENT
Key value for the Enter key.
diff --git a/docs/html/view__monitor_8h_source.html b/docs/html/view__monitor_8h_source.html
index 7e69114..9f22b05 100644
--- a/docs/html/view__monitor_8h_source.html
+++ b/docs/html/view__monitor_8h_source.html
@@ -73,10 +73,10 @@ $(function() {
9 #include "../drv/b15f.h" 18 virtual call_t
keypress (
int & key)
override ;
21 std::string fancyDigitalString(uint8_t& b);
22 std::string fancyAnalogString(uint16_t& v);
25 virtual void worker(
void );
26 volatile bool run_worker =
true ;
31 #endif // VIEW_MONITOR_H
virtual call_t keypress(int &key) override
-
+
diff --git a/docs/html/view__promt_8cpp_source.html b/docs/html/view__promt_8cpp_source.html
index 96d56be..d838c02 100644
--- a/docs/html/view__promt_8cpp_source.html
+++ b/docs/html/view__promt_8cpp_source.html
@@ -83,7 +83,7 @@ $(function() {
constexpr static int KEY_ENT
Key value for the Enter key.
diff --git a/docs/html/view__promt_8h_source.html b/docs/html/view__promt_8h_source.html
index b49ec2b..c67bb83 100644
--- a/docs/html/view__promt_8h_source.html
+++ b/docs/html/view__promt_8h_source.html
@@ -77,7 +77,7 @@ $(function() {
virtual call_t keypress(int &key) override
diff --git a/docs/html/view__selection_8cpp_source.html b/docs/html/view__selection_8cpp_source.html
index 7b7746a..b953db6 100644
--- a/docs/html/view__selection_8cpp_source.html
+++ b/docs/html/view__selection_8cpp_source.html
@@ -81,7 +81,7 @@ $(function() {
constexpr static int KEY_ENT
Key value for the Enter key.
diff --git a/docs/html/view__selection_8h_source.html b/docs/html/view__selection_8h_source.html
index 95eb6af..06965d3 100644
--- a/docs/html/view__selection_8h_source.html
+++ b/docs/html/view__selection_8h_source.html
@@ -77,7 +77,7 @@ $(function() {
virtual void draw(void) override