Merge branch 'dev'
This commit is contained in:
commit
3a4b59ddf1
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -1,3 +1,9 @@
|
|||
# IDE stuff
|
||||
control/src/.idea
|
||||
control/src/cmake-build-debug
|
||||
control/.Makefile.swp
|
||||
control/src/CMakeLists.txt
|
||||
|
||||
# Prerequisites
|
||||
*.d
|
||||
gnuplotscript.gp
|
||||
|
|
21
LICENSE
Normal file
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 Tristan Krause
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,13 +1,16 @@
|
|||
# B15F - Board 15 Famulus Edition
|
||||
|
||||
**Hinweis:**
|
||||
Die Projekt-Dokumentation befindet sich unter [github pages](https://devfix.github.io/b15f/).
|
||||
|
||||
## TODO / Ideen
|
||||
- [X] CLI: Exception catchen, set global error message, raise SIGINT --> ncurses wird richtig beendet
|
||||
- [ ] Monitor: Refresh visualisieren, z.B. - / - \ |
|
||||
- [ ] Main Menu: Informationen ergänzen
|
||||
- [X] Selbsttest bei discard richtig beenden (momentan wird wahrscheinlich WDT angeschmissen, besser global bool für selbsttest-loop)
|
||||
- [ ] Lizenz
|
||||
- [ ] gitignore checken
|
||||
- [ ] readme schreiben
|
||||
- [x] Lizenz
|
||||
- [x] gitignore checken
|
||||
- [x] readme schreiben
|
||||
- [ ] CLI: Farbe?
|
||||
- [ ] globale strings / msg klasse für treiber, ui (z.B. B15F info)
|
||||
- [ ] drv: requests als array organisieren
|
||||
|
|
Binary file not shown.
|
@ -1,178 +0,0 @@
|
|||
#include <iostream>
|
||||
#include <cmath>
|
||||
#include "drv/b15f.h"
|
||||
#include "drv/plottyfile.h"
|
||||
|
||||
|
||||
void kennlinieErsterQuadrant()
|
||||
{
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
PlottyFile pf;
|
||||
|
||||
uint16_t ba[1024];
|
||||
uint16_t bb[1024];
|
||||
|
||||
const uint16_t sample_count = 1024;
|
||||
const uint16_t delta = 1;
|
||||
|
||||
const uint16_t u_gs_start = 440;
|
||||
const uint16_t u_gs_delta = 20;
|
||||
const uint16_t u_gs_end = 600;
|
||||
|
||||
pf.setUnitX("V");
|
||||
pf.setUnitY("mA");
|
||||
pf.setUnitPara("V");
|
||||
pf.setDescX("U_{DS}");
|
||||
pf.setDescY("I_D");
|
||||
pf.setDescPara("U_{GS}");
|
||||
pf.setRefX(5);
|
||||
pf.setRefY(50);
|
||||
pf.setParaFirstCurve(u_gs_start);
|
||||
pf.setParaStepWidth(u_gs_delta);
|
||||
|
||||
uint8_t curve = 0;
|
||||
|
||||
std::cout << "Erfasse Kennlinie erster Quadrant..." << std::endl << std::flush;
|
||||
|
||||
for(uint16_t u_gs = u_gs_start; u_gs <= u_gs_end; u_gs += u_gs_delta)
|
||||
{
|
||||
drv.analogWrite1(u_gs);
|
||||
|
||||
drv.analogSequence(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count);
|
||||
|
||||
for(uint16_t k = 0; k < sample_count; k++)
|
||||
{
|
||||
uint16_t i_d = ba[k] - bb[k];
|
||||
uint16_t u_ds = bb[k];
|
||||
pf.addDot(Dot(u_ds, i_d, curve));
|
||||
}
|
||||
|
||||
std::cout << "\033[1K\r" << 1e2 * (u_gs - u_gs_start) / (u_gs_end - u_gs_start) << "%" << std::flush;
|
||||
|
||||
curve++;
|
||||
}
|
||||
|
||||
std::cout << "\033[1K\r" << std::flush;
|
||||
|
||||
// speichern und plotty starten
|
||||
pf.writeToFile("test_plot");
|
||||
pf.startPlotty("test_plot");
|
||||
}
|
||||
|
||||
void kennlinieZweiterQuadrant()
|
||||
{
|
||||
B15F& drv = B15F::getInstance();
|
||||
PlottyFile pf;
|
||||
|
||||
uint16_t ba[1024];
|
||||
uint16_t bb[1024];
|
||||
|
||||
const uint16_t sample_count = 1024;
|
||||
const uint16_t delta = 1;
|
||||
|
||||
const uint16_t u_gs_start = 300;
|
||||
const uint16_t u_gs_delta = 25;
|
||||
const uint16_t u_gs_end = 700;
|
||||
|
||||
pf.setQuadrant(2);
|
||||
pf.setUnitX("V");
|
||||
pf.setUnitY("mA");
|
||||
pf.setUnitPara("V");
|
||||
pf.setDescX("U_{GS}");
|
||||
pf.setDescY("I_D");
|
||||
pf.setDescPara("U_{DS}");
|
||||
pf.setRefX(5);
|
||||
pf.setRefY(50);
|
||||
pf.setParaFirstCurve(u_gs_start);
|
||||
pf.setParaStepWidth(u_gs_delta);
|
||||
|
||||
uint8_t curve = 0;
|
||||
|
||||
std::cout << "Erfasse Kennlinie zweiter Quadrant..." << std::endl << std::flush;
|
||||
|
||||
for(uint16_t u_gs = u_gs_start; u_gs <= u_gs_end; u_gs += u_gs_delta)
|
||||
{
|
||||
drv.analogWrite1(u_gs);
|
||||
|
||||
drv.analogSequence(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count);
|
||||
|
||||
curve = 0;
|
||||
for(uint16_t k = 0; k < sample_count; k++)
|
||||
{
|
||||
if(ba[k] > bb[k] && bb[k] % 50 == 0 && bb[k] != 0)
|
||||
{
|
||||
uint16_t i_d = ba[k] - bb[k];
|
||||
pf.addDot(Dot(u_gs, i_d, bb[k] / 50));
|
||||
}
|
||||
curve++;
|
||||
}
|
||||
|
||||
std::cout << "\033[1K\r" << 1e2 * (u_gs - u_gs_start) / (u_gs_end - u_gs_start) << "%" << std::flush;
|
||||
}
|
||||
|
||||
std::cout << "\033[1K\r" << std::flush;
|
||||
|
||||
// speichern und plotty starten
|
||||
pf.writeToFile("test_plot");
|
||||
pf.startPlotty("test_plot");
|
||||
}
|
||||
|
||||
void testFunktionen()
|
||||
{
|
||||
B15F& drv = B15F::getInstance();
|
||||
|
||||
std::cout << "DIP-Switch: " << (int) drv.readDipSwitch() << std::endl;
|
||||
|
||||
|
||||
drv.digitalWrite0(0xFF);
|
||||
drv.analogWrite0(128);
|
||||
std::cout << (int) drv.digitalRead0() << std::endl;;
|
||||
std::cout << "adc: " << (int) drv.analogRead(4) << std::endl;
|
||||
|
||||
drv.digitalWrite0(0x00);
|
||||
drv.analogWrite0(0);
|
||||
std::cout << (int) drv.digitalRead0() << std::endl;;
|
||||
std::cout << "adc: " << (int) drv.analogRead(4) << std::endl;
|
||||
|
||||
drv.digitalWrite0(0xFF);
|
||||
drv.analogWrite0(255);
|
||||
std::cout << (int) drv.digitalRead0() << std::endl;
|
||||
std::cout << "adc: " << (int) drv.analogRead(4) << std::endl;
|
||||
|
||||
|
||||
std::cout << "Kennlinie..." << std::endl;
|
||||
uint16_t a[1024];
|
||||
uint16_t b[1024];
|
||||
drv.analogSequence(0, &a[0], 0, 1, &b[0], 0, 0, 1, 1024);
|
||||
|
||||
/*for(uint16_t i= 0; i < sizeof(a) / sizeof(uint16_t); i++)
|
||||
{
|
||||
std::cout << (int) i << " : " << a[i] << " " << b[i] << std::endl;
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
//testFunktionen();
|
||||
//kennlinieZweiterQuadrant();
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
while(1)
|
||||
{
|
||||
//uint8_t be0 = drv.digitalRead0();
|
||||
//uint8_t be1 = drv.digitalRead1();
|
||||
//uint8_t dsw = drv.readDipSwitch();
|
||||
drv.analogRead(0);
|
||||
drv.analogRead(1);
|
||||
drv.analogRead(2);
|
||||
drv.analogRead(3);
|
||||
drv.analogRead(4);
|
||||
drv.analogRead(5);
|
||||
drv.analogRead(6);
|
||||
drv.analogRead(7);
|
||||
}
|
||||
|
||||
std::cout << "Schluss." << std::endl;
|
||||
}
|
|
@ -3,6 +3,11 @@
|
|||
#include <b15f/b15f.h>
|
||||
#include <b15f/plottyfile.h>
|
||||
|
||||
/*
|
||||
* Inkrementiert DAC 0 von 0 bis 1023 und speichert zu jeder Ausgabe den Wert von ADC 0 in einem Puffer.
|
||||
* Die Funktion ADC 0 abhängig von DAC 0 wird als Graph geplottet.
|
||||
*/
|
||||
|
||||
const char PLOT_FILE[] = "plot.bin";
|
||||
|
||||
int main()
|
||||
|
@ -13,8 +18,9 @@ int main()
|
|||
|
||||
uint16_t buf[1024];
|
||||
|
||||
const uint16_t sample_count = 1024;
|
||||
const uint16_t count = 1024;
|
||||
const uint16_t delta = 1;
|
||||
const uint16_t start = 0;
|
||||
|
||||
pf.setUnitX("V");
|
||||
pf.setUnitY("V");
|
||||
|
@ -27,18 +33,17 @@ int main()
|
|||
pf.setParaFirstCurve(0);
|
||||
pf.setParaStepWidth(0);
|
||||
|
||||
uint8_t curve = 0;
|
||||
|
||||
const uint8_t curve = 0;
|
||||
|
||||
drv.analogSequence(0, &buf[0], 0, 1, nullptr, 0, 0, delta, sample_count);
|
||||
drv.analogSequence(0, &buf[0], 0, 1, nullptr, 0, start, delta, count);
|
||||
|
||||
for(uint16_t x = 0; x < sample_count * delta; x += delta)
|
||||
for(uint16_t x = 0; x < count; x++)
|
||||
{
|
||||
std::cout << x << " - " << buf[x] << std::endl;
|
||||
pf.addDot(Dot(x, buf[x], curve));
|
||||
}
|
||||
|
||||
// speichern und plotty starten
|
||||
pf.writeToFile(PLOT_FILE);
|
||||
pf.writeToFile(PLOT_FILE);
|
||||
pf.startPlotty(PLOT_FILE);
|
||||
}
|
||||
|
|
30
control/examples/pwm/Makefile
Normal file
30
control/examples/pwm/Makefile
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Name: Makefile
|
||||
# Project: B15F (board15 Famulus Edition)
|
||||
# Author: Tristan Krause
|
||||
# Creation Date: 2019-05-15
|
||||
|
||||
# Environment
|
||||
COMPILER_PATH = g++
|
||||
|
||||
# Options
|
||||
CFLAGS = -std=c++17 -O3 -Wall -Wextra
|
||||
LDFLAGS = -lb15fdrv
|
||||
OBJECTS = main.o
|
||||
OUT = main.elf
|
||||
|
||||
COMPILE = $(COMPILER_PATH) $(CFLAGS)
|
||||
|
||||
main: $(OBJECTS)
|
||||
$(COMPILE) $(OBJECTS) -o $(OUT) $(LDFLAGS)
|
||||
|
||||
help:
|
||||
@echo "This Makefile has the following targets:"
|
||||
@echo "make main .... to compile"
|
||||
@echo "make clean ... to delete objects and executables"
|
||||
|
||||
clean:
|
||||
@echo "Cleaning..."
|
||||
rm -f $(OBJECTS) $(OUT) *.bin gnuplotscript.gp
|
||||
|
||||
.cpp.o:
|
||||
$(COMPILE) -c $< -o $@
|
16
control/examples/pwm/main.cpp
Normal file
16
control/examples/pwm/main.cpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
#include <iostream>
|
||||
#include <cmath>
|
||||
#include <b15f/b15f.h>
|
||||
#include <b15f/plottyfile.h>
|
||||
|
||||
/*
|
||||
* Erzeugt ein PWM Signal an PB4 mit 100KHz.
|
||||
* Beste Frequenz: 31300
|
||||
*/
|
||||
int main()
|
||||
{
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
std::cout << "TOP: " << (int) drv.pwmSetFrequency(31300) << std::endl;
|
||||
drv.pwmSetValue(127);
|
||||
}
|
30
control/examples/register/Makefile
Normal file
30
control/examples/register/Makefile
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Name: Makefile
|
||||
# Project: B15F (board15 Famulus Edition)
|
||||
# Author: Tristan Krause
|
||||
# Creation Date: 2019-05-15
|
||||
|
||||
# Environment
|
||||
COMPILER_PATH = g++
|
||||
|
||||
# Options
|
||||
CFLAGS = -std=c++17 -O3 -Wall -Wextra
|
||||
LDFLAGS = -lb15fdrv
|
||||
OBJECTS = main.o
|
||||
OUT = main.elf
|
||||
|
||||
COMPILE = $(COMPILER_PATH) $(CFLAGS)
|
||||
|
||||
main: $(OBJECTS)
|
||||
$(COMPILE) $(OBJECTS) -o $(OUT) $(LDFLAGS)
|
||||
|
||||
help:
|
||||
@echo "This Makefile has the following targets:"
|
||||
@echo "make main .... to compile"
|
||||
@echo "make clean ... to delete objects and executables"
|
||||
|
||||
clean:
|
||||
@echo "Cleaning..."
|
||||
rm -f $(OBJECTS) $(OUT) *.bin gnuplotscript.gp
|
||||
|
||||
.cpp.o:
|
||||
$(COMPILE) -c $< -o $@
|
30
control/examples/register/main.cpp
Normal file
30
control/examples/register/main.cpp
Normal file
|
@ -0,0 +1,30 @@
|
|||
#include <b15f/b15f.h>
|
||||
#include <b15f/plottyfile.h>
|
||||
|
||||
/*
|
||||
* Dieses Beispiel erzeugt einen 300ms langen Impuls an PB0.
|
||||
*
|
||||
*/
|
||||
int main()
|
||||
{
|
||||
uint8_t tmp;
|
||||
B15F& drv = B15F::getInstance();
|
||||
|
||||
|
||||
tmp = drv.getRegister(&DDRB);
|
||||
tmp |= (1<<0);
|
||||
drv.setRegister(&DDRB, tmp);
|
||||
|
||||
|
||||
tmp = drv.getRegister(&PORTB);
|
||||
tmp |= (1<<0);
|
||||
drv.setRegister(&PORTB, tmp);
|
||||
|
||||
|
||||
drv.delay_ms(300);
|
||||
|
||||
|
||||
tmp = drv.getRegister(&PORTB);
|
||||
tmp &= ~(1<<0);
|
||||
drv.setRegister(&PORTB, tmp);
|
||||
}
|
30
control/examples/transistor/Makefile
Normal file
30
control/examples/transistor/Makefile
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Name: Makefile
|
||||
# Project: B15F (board15 Famulus Edition)
|
||||
# Author: Tristan Krause
|
||||
# Creation Date: 2019-05-15
|
||||
|
||||
# Environment
|
||||
COMPILER_PATH = g++
|
||||
|
||||
# Options
|
||||
CFLAGS = -std=c++17 -O3 -Wall -Wextra
|
||||
LDFLAGS = -lb15fdrv
|
||||
OBJECTS = main.o
|
||||
OUT = main.elf
|
||||
|
||||
COMPILE = $(COMPILER_PATH) $(CFLAGS)
|
||||
|
||||
main: $(OBJECTS)
|
||||
$(COMPILE) $(OBJECTS) -o $(OUT) $(LDFLAGS)
|
||||
|
||||
help:
|
||||
@echo "This Makefile has the following targets:"
|
||||
@echo "make main .... to compile"
|
||||
@echo "make clean ... to delete objects and executables"
|
||||
|
||||
clean:
|
||||
@echo "Cleaning..."
|
||||
rm -f $(OBJECTS) $(OUT) *.bin gnuplotscript.gp
|
||||
|
||||
.cpp.o:
|
||||
$(COMPILE) -c $< -o $@
|
152
control/examples/transistor/main.cpp
Normal file
152
control/examples/transistor/main.cpp
Normal file
|
@ -0,0 +1,152 @@
|
|||
#include <iostream>
|
||||
#include <cmath>
|
||||
#include <iomanip>
|
||||
#include <b15f/b15f.h>
|
||||
#include <b15f/plottyfile.h>
|
||||
|
||||
const char PLOT_FILE[] = "plot.bin";
|
||||
|
||||
void printProgress(double p)
|
||||
{
|
||||
constexpr double precision = 1e1;
|
||||
constexpr int width = 20;
|
||||
const int n = round(width * p);
|
||||
p = round(1e2 * precision * p) / precision;
|
||||
std::cout << "\033[1K\r";
|
||||
std::cout << "[" << std::string(n, '#') << std::string(width - n, '-') << "] ";
|
||||
std::cout << std::setfill(' ') << std::setw(5) << std::fixed << std::showpoint << std::setprecision(1) << p << "%" << std::flush;
|
||||
}
|
||||
|
||||
void kennlinieErsterQuadrant()
|
||||
{
|
||||
// Puffer für Messwerte
|
||||
uint16_t u_out[1024];
|
||||
uint16_t u_drain[1024];
|
||||
|
||||
// Ansteuerung der U_GS, Anzahl der Werte für U_GS muss kleiner 64 sein,
|
||||
// da sonst zu großer Kurvenindex entsteht
|
||||
const uint16_t u_gs_start = 200;
|
||||
const uint16_t u_gs_delta = 50;
|
||||
const uint16_t u_gs_end = 600;
|
||||
|
||||
// Ansteuerung durch u_out (ruft Drainstrom i_drain hervor)
|
||||
const uint16_t seq_start = 0;
|
||||
const uint16_t seq_delta = 1;
|
||||
const uint16_t seq_sample_count = 1024;
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
PlottyFile pf;
|
||||
|
||||
pf.setUnitX("V");
|
||||
pf.setUnitY("mA");
|
||||
pf.setUnitPara("V");
|
||||
pf.setDescX("U_{DS}");
|
||||
pf.setDescY("I_D");
|
||||
pf.setDescPara("U_{GS}");
|
||||
pf.setRefX(5);
|
||||
pf.setRefY(50);
|
||||
pf.setParaFirstCurve(u_gs_start);
|
||||
pf.setParaStepWidth(u_gs_delta);
|
||||
|
||||
uint8_t curve = 0;
|
||||
|
||||
std::cout << "Erfasse Kennlinie erster Quadrant..." << std::endl;
|
||||
|
||||
for(uint16_t u_gs = u_gs_start; u_gs <= u_gs_end; u_gs += u_gs_delta)
|
||||
{
|
||||
drv.analogWrite1(u_gs);
|
||||
|
||||
// Erfasse u_out und u_drain und variiere dabei u_out, die aktuelle U_GS bleibt solange konstant
|
||||
drv.analogSequence(0, &u_out[0], 0, 1, &u_drain[0], 0, seq_start, seq_delta, seq_sample_count);
|
||||
|
||||
for(uint16_t k = 0; k < seq_sample_count; k++)
|
||||
{
|
||||
uint16_t i_drain = u_out[k] - u_drain[k];
|
||||
pf.addDot(Dot(u_drain[k], i_drain, curve));
|
||||
}
|
||||
|
||||
curve++;
|
||||
|
||||
// Fortschrittsanzeige
|
||||
printProgress(double(u_gs - u_gs_start) / double(u_gs_end - u_gs_start));
|
||||
}
|
||||
|
||||
std::cout << std::endl << std::flush;
|
||||
|
||||
// speichern und plotty starten
|
||||
pf.writeToFile(PLOT_FILE);
|
||||
pf.startPlotty(PLOT_FILE);
|
||||
}
|
||||
|
||||
void kennlinieZweiterQuadrant()
|
||||
{
|
||||
constexpr uint8_t resolution = 50;
|
||||
|
||||
// Puffer für Messwerte
|
||||
uint16_t u_out[1024];
|
||||
uint16_t u_drain[1024];
|
||||
|
||||
// Ansteuerung der U_GS
|
||||
const uint16_t u_gs_start = 128;
|
||||
const uint16_t u_gs_delta = 32;
|
||||
const uint16_t u_gs_end = 512;
|
||||
|
||||
// Ansteuerung druch u_out (ruft Drainstrom i_drain hervor)
|
||||
const uint16_t seq_start = 0;
|
||||
const uint16_t seq_delta = 1;
|
||||
const uint16_t seq_sample_count = 1024;
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
PlottyFile pf;
|
||||
|
||||
pf.setQuadrant(2);
|
||||
pf.setUnitX("V");
|
||||
pf.setUnitY("mA");
|
||||
pf.setUnitPara("V");
|
||||
pf.setDescX("U_{GS}");
|
||||
pf.setDescY("I_D");
|
||||
pf.setDescPara("U_{DS}");
|
||||
pf.setRefX(5);
|
||||
pf.setRefY(50);
|
||||
pf.setParaFirstCurve(u_gs_start);
|
||||
pf.setParaStepWidth(u_gs_delta);
|
||||
|
||||
uint8_t curve;
|
||||
|
||||
std::cout << "Erfasse Kennlinie zweiter Quadrant..." << std::endl;
|
||||
|
||||
for(uint16_t u_gs = u_gs_start; u_gs <= u_gs_end; u_gs += u_gs_delta)
|
||||
{
|
||||
drv.analogWrite1(u_gs);
|
||||
|
||||
// Erfasse u_out und u_drain und variiere dabei u_out, die aktuelle U_GS bleibt solange konstant
|
||||
drv.analogSequence(0, &u_out[0], 0, 1, &u_drain[0], 0, seq_start, seq_delta, seq_sample_count);
|
||||
|
||||
curve = 0;
|
||||
for(uint16_t k = 0; k < seq_sample_count; k++)
|
||||
{
|
||||
// Speichere nur Werte für i_drain, wo u_drain ein Vielfaches der Auflösung ist
|
||||
if(u_out[k] > u_drain[k] && u_drain[k] % resolution == 0 && u_drain[k] != 0)
|
||||
{
|
||||
uint16_t i_drain = u_out[k] - u_drain[k];
|
||||
pf.addDot(Dot(u_gs, i_drain, u_drain[k] / resolution));
|
||||
}
|
||||
curve++;
|
||||
}
|
||||
|
||||
// Fortschrittsanzeige
|
||||
printProgress(double(u_gs - u_gs_start) / double(u_gs_end - u_gs_start));
|
||||
}
|
||||
|
||||
std::cout << std::endl << std::flush;
|
||||
|
||||
// speichern und plotty starten
|
||||
pf.writeToFile(PLOT_FILE);
|
||||
pf.startPlotty(PLOT_FILE);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
kennlinieErsterQuadrant();
|
||||
kennlinieZweiterQuadrant();
|
||||
}
|
|
@ -18,7 +18,7 @@ PATH_TMP_LIB = ../lib/
|
|||
|
||||
# outputs
|
||||
OUT_TMP_DRV = $(PATH_TMP_LIB)/libb15fdrv.so
|
||||
OUT_TMP_CLI = $(PATH_TMP_BIN)/cli.elf
|
||||
OUT_TMP_CLI = $(PATH_TMP_BIN)/b15fcli
|
||||
OUT_TMP_PLOTTY = $(PATH_TMP_BIN)/plotty
|
||||
OUT_DRV = $(PATH_LIB)/libb15fdrv.so
|
||||
OUT_CLI = $(PATH_BIN)/b15fcli
|
||||
|
@ -38,7 +38,9 @@ OBJECTS_CLI = cli.o ui/view.o ui/view_selection.o ui/view_promt.o ui/view_info
|
|||
|
||||
# *** TARGETS ***
|
||||
|
||||
all: drv cli doc
|
||||
.PHONY: $(OUT_TMP_DRV) clean help
|
||||
|
||||
all: drv cli style
|
||||
|
||||
drv: $(OBJECTS_DRV) $(OUT_TMP_DRV)
|
||||
|
||||
|
@ -50,8 +52,13 @@ cli: drv $(OBJECTS_CLI)
|
|||
@bash -c 'if [ ! -f "$(OUT_DRV)" ]; then echo -e "\n*** Warning ***: driver not installed\nType \"sudo make install\" to install or update b15fdrv."; fi'
|
||||
|
||||
doc:
|
||||
@echo "Creating documentation with doxygen.."
|
||||
@echo "Creating documentation with doxygen..."
|
||||
$(PATH_DOXYGEN) doxygen-cfg
|
||||
@echo problems found: `($(PATH_DOXYGEN) doxygen-cfg 3>&2 2>&1 1>&3) 2>/dev/null | wc -l`
|
||||
|
||||
style:
|
||||
@echo "Formatting source code with astyle..."
|
||||
astyle --recursive --style=allman *.cpp,*.h,*.c,*.hpp
|
||||
|
||||
install:
|
||||
@echo "Installing driver..."
|
||||
|
@ -61,9 +68,9 @@ install:
|
|||
cp $(OUT_TMP_PLOTTY) $(OUT_PLOTTY)
|
||||
cp drv/*.h $(PATH_INCLUDE)
|
||||
|
||||
uninstall: clean
|
||||
uninstall:
|
||||
@echo "Uninstalling driver..."
|
||||
rm -rf $(PATH_INCLUDE) $(OUT_DRV) $(OUT_CLI) $(OUT_PLOTTY)
|
||||
rm -rf $(OUT_DRV) $(OUT_CLI) $(OUT_PLOTTY) $(PATH_INCLUDE)
|
||||
|
||||
help:
|
||||
@echo "This Makefile compiles the b15f driver lib and command line interface (CLI):"
|
||||
|
@ -73,11 +80,12 @@ help:
|
|||
@echo "make install . to install or update the lib and headers on this machine"
|
||||
@echo "make uninstall to remove the lib and headers on this machine"
|
||||
@echo "make clean ... to delete objects and executables"
|
||||
|
||||
|
||||
clean:
|
||||
@echo "Cleaning..."
|
||||
rm -f $(OBJECTS_DRV) $(OBJECTS_CLI) $(OUT_TMP_CLI) $(OUT_TMP_DRV)
|
||||
rm -rf $(OUT_DOC)
|
||||
find . -type f -name '*.orig' -delete
|
||||
|
||||
.cpp.o:
|
||||
$(PATH_COMPILER) $(CFLAGS) -c $< -o $@
|
||||
|
|
|
@ -1,3 +1,94 @@
|
|||
# Einführung
|
||||
Die wichtigste Klasse für die Steuerung des Board 15 ist [B15F](classB15F.html).
|
||||
Dort befindet sich auch eine Übersicht der verfügbaren Befehle.
|
||||
# B15F Benutzerhandbuch
|
||||
*Hinweis*: Terminal-Befehle sind **fett** gedruckt
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Abhängigkeiten installieren
|
||||
(a) **sudo apt-get update**
|
||||
(b) **sudo apt-get install git avr-libc avrdude libncurses5-dev g++**
|
||||
|
||||
### 2. Das Repository klonen
|
||||
(a) **cd /home/famulus/**
|
||||
(b) **git clone "https://github.com/devfix/b15f.git"**
|
||||
|
||||
### 3. Die Firmware installieren
|
||||
(a) **cd "/home/famulus/b15f/firmware"**
|
||||
|
||||
(b) Passen Sie in der Datei *Makefile* die Option "MCU = ..." an die MCU des vorliegenden Boards an
|
||||
(*atmega1284* und *atmega1284p* sind nicht identisch!)
|
||||
|
||||
(c) **make**
|
||||
|
||||
Wenn udev richtig konfiguriert wurde:
|
||||
(d I) **make upload**
|
||||
Sonst:
|
||||
(d II) **sudo make upload**
|
||||
|
||||
### 4. Die Steuersoftware (Bibliothek & CLI) installieren
|
||||
(a) **cd "/home/famulus/b15f/control/src"**
|
||||
(b) **make**
|
||||
(Die Warnungen durch doxygen können ignoriert werden.)
|
||||
|
||||
(c) **sudo make install**
|
||||
|
||||
## Aktualisierung
|
||||
(a) **cd /home/famulus/b15f/**
|
||||
(b) **git pull --prune**
|
||||
(c) **cd "/home/famulus/b15f/firmware"**
|
||||
(d) **make clean**
|
||||
(e) **cd "/home/famulus/b15f/control/src"**
|
||||
(f) **make clean**
|
||||
(g) Installation ab Schritt 3 wiederholen
|
||||
|
||||
## Das CommandLineInterface (CLI) benutzen
|
||||
(a) Öffnen Sie ein Terminal und maximieren Sie das Fenster
|
||||
(b) Start des CLI erfolgt durch **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 B15F schreiben
|
||||
|
||||
### Grundsätzliches
|
||||
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.
|
||||
|
||||
### Beispiele
|
||||
In dem Verzeichnis [b15f/control/examples](https://github.com/devfix/b15f/tree/master/control/examples) sind einige Beispiele für die Verwendung einzelner B15F Funktionen.
|
||||
Zu jedem Beispiel gehört eine *main.cpp* mit dem Quellcode und eine *Makefile*-Datei.
|
||||
Das Beispiel kann mit **make** kompiliert und mit **./main.elf** gestartet werden.
|
||||
|
||||
### Den B15F Treiber verwenden
|
||||
Benötigt wird der B15F-Header:
|
||||
`#include <b15f/b15f.h>`
|
||||
und der Header für die plottyfile-Generierung, falls mit Kennlinien gearbeitet werden soll:
|
||||
`#include <b15f/plottyfile.h>`
|
||||
|
||||
Für die Interaktion wird eine Referenz auf die aktuelle Treiberinstanz gespeichert:
|
||||
`B15F& drv = B15F::getInstance();`
|
||||
Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Board hergestellt.
|
||||
|
||||
Ab jetzt können auf dem Object `drv` verschiedene Methoden angewand werden, siehe [B15F](https://devfix.github.io/b15f/html/classB15F.html).
|
||||
|
||||
### 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++
|
||||
PlottyFile pf;
|
||||
pf.setUnitX("V");
|
||||
pf.setUnitY("V");
|
||||
pf.setUnitPara("V");
|
||||
pf.setDescX("U_{OUT}");
|
||||
pf.setDescY("U_{IN}");
|
||||
pf.setDescPara("");
|
||||
pf.setRefX(5);
|
||||
pf.setRefY(5);
|
||||
pf.setParaFirstCurve(0);
|
||||
pf.setParaStepWidth(0);
|
||||
```
|
||||
Messpunkte können anschließend hinzugefügt werden.
|
||||
Dabei gehören Punkte mit dem gleichen Index für `curve` (*uint8_t*) zur selben Kurve und erhalten durch Plotty automatisch die gleiche Farbe.
|
||||
```C++
|
||||
pf.addDot(Dot(x, y, curve));
|
||||
```
|
||||
`x` und `y` sind *uint16_t*, also keine Gleitkommazahlen.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#define B15F_CLI_DEBUG
|
||||
//#define B15F_CLI_DEBUG
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ncurses.h> // sudo apt-get install libncurses5-dev
|
||||
|
@ -24,91 +24,92 @@ volatile bool t_refresh_active = false;
|
|||
|
||||
void signal_handler(int signal)
|
||||
{
|
||||
if(signal == SIGWINCH)
|
||||
{
|
||||
win_changed_cooldown = 10; // 100ms
|
||||
|
||||
if (!t_refresh_active)
|
||||
{
|
||||
if(t_refresh.joinable())
|
||||
t_refresh.join();
|
||||
t_refresh_active = true;
|
||||
t_refresh = std::thread([](){
|
||||
|
||||
while(win_changed_cooldown--)
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
|
||||
t_refresh_active = false;
|
||||
|
||||
if(win_stack.size())
|
||||
win_stack.back()->repaint();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
else if(signal == SIGINT)
|
||||
{
|
||||
cleanup();
|
||||
std::cout << "SIGINT - Abbruch." << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if(signal == SIGWINCH)
|
||||
{
|
||||
win_changed_cooldown = 10; // 100ms
|
||||
|
||||
if (!t_refresh_active)
|
||||
{
|
||||
if(t_refresh.joinable())
|
||||
t_refresh.join();
|
||||
t_refresh_active = true;
|
||||
t_refresh = std::thread([]()
|
||||
{
|
||||
|
||||
while(win_changed_cooldown--)
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
|
||||
t_refresh_active = false;
|
||||
|
||||
if(win_stack.size())
|
||||
win_stack.back()->repaint();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
else if(signal == SIGINT)
|
||||
{
|
||||
cleanup();
|
||||
std::cout << "SIGINT - Abbruch." << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
void abort_handler(std::exception& ex)
|
||||
{
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Fehler");
|
||||
std::string msg(ex.what());
|
||||
msg += "\n\nBeende in 5 Sekunden.";
|
||||
view->setText(msg.c_str());
|
||||
view->setLabelClose("");
|
||||
view->repaint();
|
||||
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
|
||||
|
||||
cleanup();
|
||||
std::cerr << std::endl << "*** EXCEPTION ***" << std::endl << ex.what() << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Fehler");
|
||||
std::string msg(ex.what());
|
||||
msg += "\n\nBeende in 5 Sekunden.";
|
||||
view->setText(msg.c_str());
|
||||
view->setLabelClose("");
|
||||
view->repaint();
|
||||
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
|
||||
|
||||
cleanup();
|
||||
std::cerr << std::endl << "*** EXCEPTION ***" << std::endl << ex.what() << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
void init()
|
||||
{
|
||||
// init b15 driver
|
||||
B15F::getInstance();
|
||||
// init b15 driver
|
||||
B15F::getInstance();
|
||||
#ifndef B15F_CLI_DEBUG
|
||||
std::cout << std::endl << "Starte in 3s ..." << std::endl;
|
||||
sleep(3);
|
||||
std::cout << std::endl << "Starte in 3s ..." << std::endl;
|
||||
sleep(3);
|
||||
#endif
|
||||
B15F::setAbortHandler(&abort_handler);
|
||||
|
||||
// init all ncurses stuff
|
||||
initscr();
|
||||
start_color();
|
||||
curs_set(0); // 0: invisible, 1: normal, 2: very visible
|
||||
clear();
|
||||
noecho();
|
||||
cbreak(); // Line buffering disabled. pass on everything
|
||||
mousemask(ALL_MOUSE_EVENTS, NULL);
|
||||
|
||||
// connect signals to handler
|
||||
signal(SIGWINCH, signal_handler);
|
||||
signal(SIGINT, signal_handler);
|
||||
|
||||
// set view context
|
||||
View::setWinContext(newwin(25, 85, 0, 0));
|
||||
B15F::setAbortHandler(&abort_handler);
|
||||
|
||||
// init all ncurses stuff
|
||||
initscr();
|
||||
start_color();
|
||||
curs_set(0); // 0: invisible, 1: normal, 2: very visible
|
||||
clear();
|
||||
noecho();
|
||||
cbreak(); // Line buffering disabled. pass on everything
|
||||
mousemask(ALL_MOUSE_EVENTS, NULL);
|
||||
|
||||
// connect signals to handler
|
||||
signal(SIGWINCH, signal_handler);
|
||||
signal(SIGINT, signal_handler);
|
||||
|
||||
// set view context
|
||||
View::setWinContext(newwin(25, 85, 0, 0));
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
init();
|
||||
|
||||
int exit_code = EXIT_SUCCESS;
|
||||
|
||||
show_main(0);
|
||||
|
||||
cleanup();
|
||||
|
||||
return exit_code;
|
||||
init();
|
||||
|
||||
int exit_code = EXIT_SUCCESS;
|
||||
|
||||
show_main(0);
|
||||
|
||||
cleanup();
|
||||
|
||||
return exit_code;
|
||||
}
|
||||
|
|
|
@ -1260,7 +1260,7 @@ HTML_COLORSTYLE_GAMMA = 80
|
|||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_TIMESTAMP = NO
|
||||
HTML_TIMESTAMP = YES
|
||||
|
||||
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
|
||||
# documentation will contain a main index with vertical navigation menus that
|
||||
|
@ -1279,7 +1279,7 @@ HTML_DYNAMIC_MENUS = YES
|
|||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
HTML_DYNAMIC_SECTIONS = YES
|
||||
|
||||
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
|
||||
# shown in the various tree structured indices initially; the user can expand
|
||||
|
|
|
@ -1,319 +1,464 @@
|
|||
#include "b15f.h"
|
||||
|
||||
B15F* B15F::instance = nullptr;
|
||||
B15F *B15F::instance = nullptr;
|
||||
errorhandler_t B15F::errorhandler = nullptr;
|
||||
|
||||
B15F::B15F()
|
||||
{
|
||||
init();
|
||||
init();
|
||||
}
|
||||
|
||||
void B15F::init()
|
||||
{
|
||||
|
||||
std::string device = exec("bash -c 'ls /dev/ttyUSB*'");
|
||||
while(device.find(' ') != std::string::npos || device.find('\n') != std::string::npos || device.find('\t') != std::string::npos)
|
||||
device.pop_back();
|
||||
|
||||
if(device.length() == 0)
|
||||
abort("Adapter nicht gefunden");
|
||||
|
||||
std::cout << PRE << "Verwende Adapter: " << device << std::endl;
|
||||
|
||||
|
||||
|
||||
std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush;
|
||||
usart.setBaudrate(BAUDRATE);
|
||||
usart.openDevice(device);
|
||||
std::cout << "OK" << std::endl;
|
||||
|
||||
|
||||
|
||||
std::cout << PRE << "Teste Verbindung... " << std::flush;
|
||||
uint8_t tries = 3;
|
||||
while(tries--)
|
||||
{
|
||||
// verwerfe Daten, die µC noch hat
|
||||
//discard();
|
||||
|
||||
if(!testConnection())
|
||||
continue;
|
||||
|
||||
if(!testIntConv())
|
||||
continue;
|
||||
|
||||
break;
|
||||
}
|
||||
if(tries == 0)
|
||||
abort("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?");
|
||||
std::cout << "OK" << std::endl;
|
||||
|
||||
|
||||
// Gib board info aus
|
||||
std::vector<std::string> info = getBoardInfo();
|
||||
std::cout << PRE << "AVR Firmware Version: " << info[0] << " um " << info[1] << " Uhr (" << info[2] << ")" << std::endl;
|
||||
std::string device = exec("bash -c 'ls /dev/ttyUSB*'");
|
||||
while (device.find(' ') != std::string::npos || device.find('\n') != std::string::npos ||
|
||||
device.find('\t') != std::string::npos)
|
||||
device.pop_back();
|
||||
|
||||
if (device.length() == 0)
|
||||
abort("Adapter nicht gefunden");
|
||||
|
||||
std::cout << PRE << "Verwende Adapter: " << device << std::endl;
|
||||
|
||||
|
||||
std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush;
|
||||
usart.setBaudrate(BAUDRATE);
|
||||
usart.openDevice(device);
|
||||
std::cout << "OK" << std::endl;
|
||||
|
||||
|
||||
std::cout << PRE << "Teste Verbindung... " << std::flush;
|
||||
uint8_t tries = 3;
|
||||
while (tries--)
|
||||
{
|
||||
// verwerfe Daten, die µC noch hat
|
||||
//discard();
|
||||
|
||||
if (!testConnection())
|
||||
continue;
|
||||
|
||||
if (!testIntConv())
|
||||
continue;
|
||||
|
||||
break;
|
||||
}
|
||||
if (tries == 0)
|
||||
abort("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?");
|
||||
std::cout << "OK" << std::endl;
|
||||
|
||||
|
||||
// Gib board info aus
|
||||
std::vector<std::string> info = getBoardInfo();
|
||||
std::cout << PRE << "AVR Firmware Version: " << info[0] << " um " << info[1] << " Uhr (" << info[2] << ")"
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
void B15F::reconnect()
|
||||
{
|
||||
uint8_t tries = RECONNECT_TRIES;
|
||||
while(tries--)
|
||||
{
|
||||
delay_ms(RECONNECT_TIMEOUT);
|
||||
discard();
|
||||
|
||||
if(testConnection())
|
||||
return;
|
||||
}
|
||||
|
||||
abort("Verbindung kann nicht repariert werden");
|
||||
uint8_t tries = RECONNECT_TRIES;
|
||||
while (tries--)
|
||||
{
|
||||
delay_ms(RECONNECT_TIMEOUT);
|
||||
discard();
|
||||
|
||||
if (testConnection())
|
||||
return;
|
||||
}
|
||||
|
||||
abort("Verbindung kann nicht repariert werden");
|
||||
}
|
||||
|
||||
void B15F::discard(void)
|
||||
{
|
||||
try
|
||||
{
|
||||
usart.clearOutputBuffer();
|
||||
for(uint8_t i = 0; i < 16; i++)
|
||||
{
|
||||
usart.writeByte(RQ_DISC); // sende discard Befehl (verwerfe input)
|
||||
delay_ms(4);
|
||||
}
|
||||
usart.clearInputBuffer();
|
||||
}
|
||||
catch(std::exception& ex)
|
||||
{
|
||||
abort(ex);
|
||||
}
|
||||
try
|
||||
{
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_DISC
|
||||
};
|
||||
|
||||
usart.clearOutputBuffer();
|
||||
for (uint8_t i = 0; i < 16; i++)
|
||||
{
|
||||
usart.transmit(&rq[0], 0, sizeof(rq)); // sende discard Befehl (verwerfe input)
|
||||
delay_ms(4);
|
||||
}
|
||||
usart.clearInputBuffer();
|
||||
}
|
||||
catch (std::exception &ex)
|
||||
{
|
||||
abort(ex);
|
||||
}
|
||||
}
|
||||
|
||||
bool B15F::testConnection()
|
||||
{
|
||||
// erzeuge zufälliges Byte
|
||||
srand(time(NULL));
|
||||
uint8_t dummy = rand() % 256;
|
||||
|
||||
usart.writeByte(RQ_TEST);
|
||||
usart.writeByte(dummy);
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
uint8_t mirror = usart.readByte();
|
||||
|
||||
return aw == MSG_OK && mirror == dummy;
|
||||
// erzeuge zufälliges Byte
|
||||
srand(time(NULL));
|
||||
uint8_t dummy = rand() % 256;
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_TEST,
|
||||
dummy
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw[2];
|
||||
usart.receive(&aw[0], 0, sizeof(aw));
|
||||
|
||||
return aw[0] == MSG_OK && aw[1] == dummy;
|
||||
}
|
||||
|
||||
bool B15F::testIntConv()
|
||||
{
|
||||
srand(time(NULL));
|
||||
uint16_t dummy = rand() % (0xFFFF / 3);
|
||||
|
||||
usart.writeByte(RQ_INT);
|
||||
usart.writeInt(dummy);
|
||||
|
||||
uint16_t aw = usart.readInt();
|
||||
return aw == dummy * 3;
|
||||
srand(time(NULL));
|
||||
uint16_t dummy = rand() % (0xFFFF / 3);
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_INT,
|
||||
static_cast<uint8_t >(dummy & 0xFF),
|
||||
static_cast<uint8_t >(dummy >> 8)
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint16_t aw;
|
||||
usart.receive(reinterpret_cast<uint8_t *>(&aw), 0, sizeof(aw));
|
||||
|
||||
return aw == dummy * 3;
|
||||
}
|
||||
|
||||
|
||||
std::vector<std::string> B15F::getBoardInfo(void)
|
||||
{
|
||||
std::vector<std::string> info;
|
||||
|
||||
usart.writeByte(RQ_INFO);
|
||||
|
||||
uint8_t n = usart.readByte();
|
||||
while(n--)
|
||||
{
|
||||
uint8_t len = usart.readByte();
|
||||
std::string str;
|
||||
|
||||
while(len--) {
|
||||
str += static_cast<char>(usart.readByte());
|
||||
}
|
||||
|
||||
info.push_back(str);
|
||||
}
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
if(aw != MSG_OK)
|
||||
abort("Board Info fehlerhalft: code " + std::to_string((int) aw));
|
||||
|
||||
return info;
|
||||
std::vector<std::string> info;
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_INFO
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t n;
|
||||
usart.receive(&n, 0, sizeof(n));
|
||||
while (n--)
|
||||
{
|
||||
uint8_t len;
|
||||
usart.receive(&len, 0, sizeof(len));
|
||||
|
||||
char str[len + 1];
|
||||
str[len] = '\0';
|
||||
usart.receive(reinterpret_cast<uint8_t *>(&str[0]), 0, len);
|
||||
|
||||
info.push_back(std::string(str));
|
||||
}
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
if (aw != MSG_OK)
|
||||
abort("Board Info fehlerhalft: code " + std::to_string((int) aw));
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
bool B15F::activateSelfTestMode()
|
||||
{
|
||||
usart.writeByte(RQ_ST);
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
return aw == MSG_OK;
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_ST
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == MSG_OK;
|
||||
}
|
||||
|
||||
bool B15F::digitalWrite0(uint8_t port)
|
||||
{
|
||||
usart.writeByte(RQ_BA0);
|
||||
usart.writeByte(port);
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
delay_us(10);
|
||||
return aw == MSG_OK;
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_BA0,
|
||||
port
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == MSG_OK;
|
||||
}
|
||||
|
||||
bool B15F::digitalWrite1(uint8_t port)
|
||||
{
|
||||
usart.writeByte(RQ_BA1);
|
||||
usart.writeByte(port);
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
delay_us(10);
|
||||
return aw == MSG_OK;
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_BA1,
|
||||
port
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == MSG_OK;
|
||||
}
|
||||
|
||||
uint8_t B15F::digitalRead0()
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
usart.writeByte(RQ_BE0);
|
||||
uint8_t byte = usart.readByte();
|
||||
delay_us(10);
|
||||
return byte;
|
||||
usart.clearInputBuffer();
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_BE0
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw;
|
||||
}
|
||||
|
||||
uint8_t B15F::digitalRead1()
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
usart.writeByte(RQ_BE1);
|
||||
uint8_t byte = usart.readByte();
|
||||
delay_us(10);
|
||||
return byte;
|
||||
usart.clearInputBuffer();
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_BE1
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw;
|
||||
}
|
||||
|
||||
uint8_t B15F::readDipSwitch()
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
usart.writeByte(RQ_DSW);
|
||||
uint8_t byte = usart.readByte();
|
||||
delay_us(10);
|
||||
return byte;
|
||||
usart.clearInputBuffer();
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_DSW
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw;
|
||||
}
|
||||
|
||||
bool B15F::analogWrite0(uint16_t value)
|
||||
{
|
||||
usart.writeByte(RQ_AA0);
|
||||
usart.writeInt(value);
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
delay_us(10);
|
||||
return aw == MSG_OK;
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_AA0,
|
||||
static_cast<uint8_t >(value & 0xFF),
|
||||
static_cast<uint8_t >(value >> 8)
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == MSG_OK;
|
||||
}
|
||||
|
||||
bool B15F::analogWrite1(uint16_t value)
|
||||
{
|
||||
usart.writeByte(RQ_AA1);
|
||||
usart.writeInt(value);
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
delay_us(10);
|
||||
return aw == MSG_OK;
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_AA1,
|
||||
static_cast<uint8_t >(value & 0xFF),
|
||||
static_cast<uint8_t >(value >> 8)
|
||||
};
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == MSG_OK;
|
||||
}
|
||||
|
||||
uint16_t B15F::analogRead(uint8_t channel)
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
if(channel > 7)
|
||||
abort("Bad ADC channel: " + std::to_string(channel));
|
||||
|
||||
uint8_t rq[] = {
|
||||
RQ_ADC,
|
||||
channel
|
||||
};
|
||||
|
||||
int n_sent = usart.write_timeout(&rq[0], 0, sizeof(rq), 1000);
|
||||
if(n_sent != sizeof(rq))
|
||||
abort("Sent failed");
|
||||
|
||||
uint16_t adc = usart.readInt();
|
||||
|
||||
if(adc > 1023)
|
||||
abort("Bad ADC data detected (1)");
|
||||
return adc;
|
||||
usart.clearInputBuffer();
|
||||
if (channel > 7)
|
||||
abort("Bad ADC channel: " + std::to_string(channel));
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_ADC,
|
||||
channel
|
||||
};
|
||||
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint16_t aw;
|
||||
usart.receive(reinterpret_cast<uint8_t *>(&aw), 0, sizeof(aw));
|
||||
|
||||
if (aw > 1023)
|
||||
abort("Bad ADC data detected (1)");
|
||||
return aw;
|
||||
}
|
||||
|
||||
void B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t* buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count)
|
||||
void
|
||||
B15F::analogSequence(uint8_t channel_a, uint16_t *buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t *buffer_b,
|
||||
uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count)
|
||||
{
|
||||
// check pointers
|
||||
buffer_a += offset_a;
|
||||
buffer_b += offset_b;
|
||||
|
||||
|
||||
usart.clearInputBuffer();
|
||||
usart.writeByte(RQ_ADC_DAC_STROKE);
|
||||
usart.writeByte(channel_a);
|
||||
usart.writeByte(channel_b);
|
||||
usart.writeInt(start);
|
||||
usart.writeInt(static_cast<uint16_t>(delta));
|
||||
usart.writeInt(count);
|
||||
|
||||
for(uint16_t i = 0; i < count; i++)
|
||||
{
|
||||
if(buffer_a)
|
||||
{
|
||||
buffer_a[i] = usart.readInt();
|
||||
|
||||
if(buffer_a[i] > 1023) // check for broken usart connection
|
||||
abort("Bad ADC data detected (2)");
|
||||
}
|
||||
else
|
||||
{
|
||||
usart.readInt();
|
||||
}
|
||||
|
||||
if(buffer_b)
|
||||
{
|
||||
buffer_b[i] = usart.readInt();
|
||||
|
||||
if(buffer_b[i] > 1023) // check for broken usart connection
|
||||
abort("Bad ADC data detected (3)");
|
||||
}
|
||||
else
|
||||
{
|
||||
usart.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t aw = usart.readByte();
|
||||
if(aw != MSG_OK)
|
||||
abort("Sequenz unterbrochen");
|
||||
|
||||
delay_us(10);
|
||||
// prepare pointers
|
||||
buffer_a += offset_a;
|
||||
buffer_b += offset_b;
|
||||
|
||||
|
||||
usart.clearInputBuffer();
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_ADC_DAC_STROKE,
|
||||
channel_a,
|
||||
channel_b,
|
||||
static_cast<uint8_t >(start & 0xFF),
|
||||
static_cast<uint8_t >(start >> 8),
|
||||
static_cast<uint8_t >(delta & 0xFF),
|
||||
static_cast<uint8_t >(delta >> 8),
|
||||
static_cast<uint8_t >(count & 0xFF),
|
||||
static_cast<uint8_t >(count >> 8)
|
||||
};
|
||||
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
for (uint16_t i = 0; i < count; i++)
|
||||
{
|
||||
if (buffer_a)
|
||||
{
|
||||
usart.receive(reinterpret_cast<uint8_t *>(&buffer_a[i]), 0, 2);
|
||||
|
||||
if (buffer_a[i] > 1023) // check for broken usart connection
|
||||
abort("Bad ADC data detected (2)");
|
||||
}
|
||||
else
|
||||
{
|
||||
usart.drop(2);
|
||||
}
|
||||
|
||||
if (buffer_b)
|
||||
{
|
||||
usart.receive(reinterpret_cast<uint8_t *>(&buffer_b[i]), 0, 2);
|
||||
|
||||
if (buffer_b[i] > 1023) // check for broken usart connection
|
||||
abort("Bad ADC data detected (3)");
|
||||
}
|
||||
else
|
||||
{
|
||||
usart.drop(2);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
if(aw != MSG_OK)
|
||||
abort("Sequenz unterbrochen");
|
||||
}
|
||||
|
||||
uint8_t B15F::pwmSetFrequency(uint32_t freq)
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_PWM_SET_FREQ,
|
||||
static_cast<uint8_t>((freq >> 0) & 0xFF),
|
||||
static_cast<uint8_t>((freq >> 8) & 0xFF),
|
||||
static_cast<uint8_t>((freq >> 16) & 0xFF),
|
||||
static_cast<uint8_t>((freq >> 24) & 0xFF)
|
||||
};
|
||||
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw;
|
||||
}
|
||||
|
||||
bool B15F::pwmSetValue(uint8_t value)
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_PWM_SET_VALUE,
|
||||
value
|
||||
};
|
||||
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == MSG_OK;
|
||||
}
|
||||
|
||||
bool B15F::setRegister(volatile uint8_t* adr, uint8_t val)
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_SET_REG,
|
||||
static_cast<uint8_t>(reinterpret_cast<size_t>(adr)),
|
||||
val
|
||||
};
|
||||
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw == val;
|
||||
}
|
||||
|
||||
uint8_t B15F::getRegister(volatile uint8_t* adr)
|
||||
{
|
||||
usart.clearInputBuffer();
|
||||
|
||||
uint8_t rq[] =
|
||||
{
|
||||
RQ_GET_REG,
|
||||
static_cast<uint8_t>(reinterpret_cast<size_t>(adr))
|
||||
};
|
||||
|
||||
usart.transmit(&rq[0], 0, sizeof(rq));
|
||||
|
||||
uint8_t aw;
|
||||
usart.receive(&aw, 0, sizeof(aw));
|
||||
return aw;
|
||||
}
|
||||
|
||||
|
||||
void B15F::delay_ms(uint16_t ms)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(ms));
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(ms));
|
||||
}
|
||||
|
||||
void B15F::delay_us(uint16_t us)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::microseconds(us));
|
||||
std::this_thread::sleep_for(std::chrono::microseconds(us));
|
||||
}
|
||||
|
||||
B15F& B15F::getInstance(void)
|
||||
{
|
||||
if(!instance)
|
||||
instance = new B15F();
|
||||
|
||||
return *instance;
|
||||
B15F &B15F::getInstance(void)
|
||||
{
|
||||
if (!instance)
|
||||
instance = new B15F();
|
||||
|
||||
return *instance;
|
||||
}
|
||||
|
||||
// https://stackoverflow.com/a/478960
|
||||
std::string B15F::exec(std::string cmd) {
|
||||
std::string B15F::exec(std::string cmd)
|
||||
{
|
||||
std::array<char, 128> buffer;
|
||||
std::string result;
|
||||
std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd.c_str(), "r"), pclose);
|
||||
if (!pipe) {
|
||||
if (!pipe)
|
||||
{
|
||||
throw std::runtime_error("popen() failed!");
|
||||
}
|
||||
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
|
||||
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr)
|
||||
{
|
||||
result += buffer.data();
|
||||
}
|
||||
return result;
|
||||
|
@ -321,22 +466,23 @@ std::string B15F::exec(std::string cmd) {
|
|||
|
||||
void B15F::abort(std::string msg)
|
||||
{
|
||||
DriverException ex(msg);
|
||||
abort(ex);
|
||||
DriverException ex(msg);
|
||||
abort(ex);
|
||||
}
|
||||
void B15F::abort(std::exception& ex)
|
||||
|
||||
void B15F::abort(std::exception &ex)
|
||||
{
|
||||
if(errorhandler)
|
||||
errorhandler(ex);
|
||||
else
|
||||
{
|
||||
std::cerr << "NOTICE: B15F::errorhandler not set" << std::endl;
|
||||
std::cout << ex.what() << std::endl;
|
||||
throw DriverException(ex.what());
|
||||
}
|
||||
if (errorhandler)
|
||||
errorhandler(ex);
|
||||
else
|
||||
{
|
||||
std::cerr << "NOTICE: B15F::errorhandler not set" << std::endl;
|
||||
std::cout << ex.what() << std::endl;
|
||||
throw DriverException(ex.what());
|
||||
}
|
||||
}
|
||||
|
||||
void B15F::setAbortHandler(errorhandler_t func)
|
||||
{
|
||||
errorhandler = func;
|
||||
errorhandler = func;
|
||||
}
|
||||
|
|
|
@ -18,219 +18,263 @@
|
|||
#include "driverexception.h"
|
||||
#include "timeoutexception.h"
|
||||
|
||||
// wichtig für die Register-Zugriffe
|
||||
#define _AVR_IO_H_ 1 // Erzwinge die Inklusion
|
||||
#include "/usr/lib/avr/include/avr/sfr_defs.h"
|
||||
#include "/usr/lib/avr/include/avr/iom1284p.h"
|
||||
|
||||
typedef std::function<void(std::exception&)> errorhandler_t;
|
||||
|
||||
|
||||
/*! main driver class */
|
||||
|
||||
class B15F
|
||||
{
|
||||
private:
|
||||
// privater Konstruktor
|
||||
B15F(void);
|
||||
// privater Konstruktor
|
||||
B15F(void);
|
||||
public:
|
||||
|
||||
/*************************************
|
||||
* Grundfunktionen des B15F Treibers *
|
||||
*************************************/
|
||||
|
||||
/**
|
||||
* Versucht die Verbindung zum B15 wiederherzustellen
|
||||
* \throws DriverException
|
||||
*/
|
||||
void reconnect(void);
|
||||
|
||||
/**
|
||||
* Verwirft Daten im USART Puffer auf dieser Maschine und B15
|
||||
* \throws DriverException
|
||||
*/
|
||||
void discard(void);
|
||||
|
||||
/**
|
||||
* Testet die USART Verbindung auf Funktion
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool testConnection(void);
|
||||
|
||||
/**
|
||||
* Testet die Integer Konvertierung der USART Verbindung
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool testIntConv(void);
|
||||
|
||||
/**
|
||||
* Liefert Informationen zur aktuellen Firmware des B15
|
||||
* \throws DriverException
|
||||
*/
|
||||
std::vector<std::string> getBoardInfo(void);
|
||||
|
||||
/**
|
||||
* Lässt den Treiber für eine angegebene Zeit pausieren
|
||||
* \param ms Verzögerung in Millisekunden
|
||||
*/
|
||||
void delay_ms(uint16_t ms);
|
||||
|
||||
/**
|
||||
* Lässt den Treiber für eine angegebene Zeit pausieren
|
||||
* \param us Verzögerung in Microsekunden
|
||||
*/
|
||||
void delay_us(uint16_t us);
|
||||
|
||||
/**
|
||||
* Liefert eine Referenz zur aktuellen Treiber-Instanz
|
||||
* @throws DriverException
|
||||
*/
|
||||
static B15F& getInstance(void);
|
||||
|
||||
/**
|
||||
* Führt ein Befehl auf dieser Maschine aus und liefert stdout zurück
|
||||
* \param cmd Der Befehl
|
||||
*/
|
||||
static std::string exec(std::string cmd);
|
||||
|
||||
/**
|
||||
* Multithread sicherer Abbruch des B15F-Treibers
|
||||
* \param msg Beschreibung der Abbruchursache
|
||||
*/
|
||||
static void abort(std::string msg);
|
||||
/*************************************
|
||||
* Grundfunktionen des B15F Treibers *
|
||||
*************************************/
|
||||
|
||||
/**
|
||||
* Multithread sicherer Abbruch des B15F-Treibers
|
||||
* \param ex Exception als Abbruchursache
|
||||
*/
|
||||
static void abort(std::exception& ex);
|
||||
/**
|
||||
* Versucht die Verbindung zum B15 wiederherzustellen
|
||||
* \throws DriverException
|
||||
*/
|
||||
void reconnect(void);
|
||||
|
||||
/**
|
||||
* Setzt eine Fehlerbehandlungsroutine für den Treiberabbruch (abort)
|
||||
* \param func Funktion, die Exception als Parameter bekommt
|
||||
*/
|
||||
static void setAbortHandler(errorhandler_t func);
|
||||
/**
|
||||
* Verwirft Daten im USART Puffer auf dieser Maschine und B15
|
||||
* \throws DriverException
|
||||
*/
|
||||
void discard(void);
|
||||
|
||||
/*************************************/
|
||||
|
||||
|
||||
|
||||
/*************************
|
||||
* Steuerbefehle für B15 *
|
||||
*************************/
|
||||
|
||||
/**
|
||||
* Versetzt das Board in den Selbsttest-Modus
|
||||
* WICHTIG: Es darf dabei nichts an den Klemmen angeschlossen sein!
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool activateSelfTestMode(void);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des digitalen Ausgabeports 0
|
||||
* \param port Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool digitalWrite0(uint8_t);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des digitalen Ausgabeports 1
|
||||
* \param port Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool digitalWrite1(uint8_t);
|
||||
|
||||
/**
|
||||
* Liest den Wert des digitalen Eingabeports 0
|
||||
* \return Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t digitalRead0(void);
|
||||
|
||||
/**
|
||||
* Liest den Wert des digitalen Eingabeports 1
|
||||
* \return Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t digitalRead1(void);
|
||||
|
||||
/**
|
||||
* Liest den Wert des digitalen Eingabeports, an dem der DIP-switch angeschlossen ist (S7)
|
||||
* \return Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t readDipSwitch(void);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 0
|
||||
* \param port 10-Bit Wert
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool analogWrite0(uint16_t);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 1
|
||||
* \param port 10-Bit Wert
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool analogWrite1(uint16_t);
|
||||
|
||||
/**
|
||||
* Liest den Wert des Analog-Digital-Converters (ADC / ADU)
|
||||
* \param channel Kanalwahl von 0 - 7
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint16_t analogRead(uint8_t channel);
|
||||
|
||||
/**
|
||||
* DAC 0 wird auf den Startwert gesetzt und dann schrittweise um Delta inkrementiert.
|
||||
* Für jeden eingestelleten DAC-Wert werden zwei ADCs (channel_a und channel_b) angesprochen und die Werte übermittelt.
|
||||
* Die Werte werden in buffer_a für Kanal a und buffer_b für Kanal b gespeichert.
|
||||
* \param channel_a Auswahl des ADC a, von 0 - 7
|
||||
* \param buffer_a Speichertort für Werte des Kanals a
|
||||
* \param offset_a Anzahl an Werten des Kanals a, die im Speicher übersprungen werden sollen
|
||||
* \param channel_b Auswahl des ADC b, von 0 - 7
|
||||
* \param buffer_b Speichertort für Werte des Kanals b
|
||||
* \param offset_b Anzahl an Werten des Kanals b, die im Speicher übersprungen werden
|
||||
* \param start Startwert des DACs
|
||||
* \param delta Schrittweite, mit welcher der DAC inkrementiert wird
|
||||
* \param count Anzahl an Inkrementierungen
|
||||
* \throws DriverException
|
||||
*/
|
||||
void analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t* buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count);
|
||||
|
||||
/*************************/
|
||||
/**
|
||||
* Testet die USART Verbindung auf Funktion
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool testConnection(void);
|
||||
|
||||
/**
|
||||
* Testet die Integer Konvertierung der USART Verbindung
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool testIntConv(void);
|
||||
|
||||
/**
|
||||
* Liefert Informationen zur aktuellen Firmware des B15
|
||||
* \throws DriverException
|
||||
*/
|
||||
std::vector<std::string> getBoardInfo(void);
|
||||
|
||||
/**
|
||||
* Lässt den Treiber für eine angegebene Zeit pausieren
|
||||
* \param ms Verzögerung in Millisekunden
|
||||
*/
|
||||
void delay_ms(uint16_t ms);
|
||||
|
||||
/**
|
||||
* Lässt den Treiber für eine angegebene Zeit pausieren
|
||||
* \param us Verzögerung in Microsekunden
|
||||
*/
|
||||
void delay_us(uint16_t us);
|
||||
|
||||
/**
|
||||
* Liefert eine Referenz zur aktuellen Treiber-Instanz
|
||||
* @throws DriverException
|
||||
*/
|
||||
static B15F& getInstance(void);
|
||||
|
||||
/**
|
||||
* Führt ein Befehl auf dieser Maschine aus und liefert stdout zurück
|
||||
* \param cmd Der Befehl
|
||||
*/
|
||||
static std::string exec(std::string cmd);
|
||||
|
||||
/**
|
||||
* Multithread sicherer Abbruch des B15F-Treibers
|
||||
* \param msg Beschreibung der Abbruchursache
|
||||
*/
|
||||
static void abort(std::string msg);
|
||||
|
||||
/**
|
||||
* Multithread sicherer Abbruch des B15F-Treibers
|
||||
* \param ex Exception als Abbruchursache
|
||||
*/
|
||||
static void abort(std::exception& ex);
|
||||
|
||||
/**
|
||||
* Setzt eine Fehlerbehandlungsroutine für den Treiberabbruch (abort)
|
||||
* \param func Funktion, die Exception als Parameter bekommt
|
||||
*/
|
||||
static void setAbortHandler(errorhandler_t func);
|
||||
|
||||
/*************************************/
|
||||
|
||||
|
||||
// CONSTANTS
|
||||
const std::string PRE = "[B15F] ";
|
||||
constexpr static uint8_t MSG_OK = 0xFF;
|
||||
constexpr static uint8_t MSG_FAIL = 0xFE;
|
||||
constexpr static uint16_t RECONNECT_TIMEOUT = 64; // ms
|
||||
constexpr static uint16_t WDT_TIMEOUT = 15; // ms
|
||||
constexpr static uint8_t RECONNECT_TRIES = 3;
|
||||
constexpr static uint32_t BAUDRATE = 57600;
|
||||
|
||||
/*************************
|
||||
* Steuerbefehle für B15 *
|
||||
*************************/
|
||||
|
||||
/**
|
||||
* Versetzt das Board in den Selbsttest-Modus
|
||||
* WICHTIG: Es darf dabei nichts an den Klemmen angeschlossen sein!
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool activateSelfTestMode(void);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des digitalen Ausgabeports 0
|
||||
* \param port Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool digitalWrite0(uint8_t);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des digitalen Ausgabeports 1
|
||||
* \param port Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool digitalWrite1(uint8_t);
|
||||
|
||||
/**
|
||||
* Liest den Wert des digitalen Eingabeports 0
|
||||
* \return Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t digitalRead0(void);
|
||||
|
||||
/**
|
||||
* Liest den Wert des digitalen Eingabeports 1
|
||||
* \return Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t digitalRead1(void);
|
||||
|
||||
/**
|
||||
* Liest den Wert des digitalen Eingabeports, an dem der DIP-switch angeschlossen ist (S7)
|
||||
* \return Wert für gesamten Port
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t readDipSwitch(void);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 0
|
||||
* \param port 10-Bit Wert
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool analogWrite0(uint16_t port);
|
||||
|
||||
/**
|
||||
* Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 1
|
||||
* \param port 10-Bit Wert
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool analogWrite1(uint16_t port);
|
||||
|
||||
/**
|
||||
* Liest den Wert des Analog-Digital-Converters (ADC / ADU)
|
||||
* \param channel Kanalwahl von 0 - 7
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint16_t analogRead(uint8_t channel);
|
||||
|
||||
/**
|
||||
* DAC 0 wird auf den Startwert gesetzt und dann schrittweise um Delta inkrementiert.
|
||||
* Für jeden eingestelleten DAC-Wert werden zwei ADCs (channel_a und channel_b) angesprochen und die Werte übermittelt.
|
||||
* Die Werte werden in buffer_a für Kanal a und buffer_b für Kanal b gespeichert.
|
||||
* \param channel_a Auswahl des ADC a, von 0 - 7
|
||||
* \param buffer_a Speichertort für Werte des Kanals a
|
||||
* \param offset_a Anzahl an Werten des Kanals a, die im Speicher übersprungen werden sollen
|
||||
* \param channel_b Auswahl des ADC b, von 0 - 7
|
||||
* \param buffer_b Speichertort für Werte des Kanals b
|
||||
* \param offset_b Anzahl an Werten des Kanals b, die im Speicher übersprungen werden
|
||||
* \param start Startwert des DACs
|
||||
* \param delta Schrittweite, mit welcher der DAC inkrementiert wird
|
||||
* \param count Anzahl an Inkrementierungen
|
||||
* \throws DriverException
|
||||
*/
|
||||
void analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t* buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count);
|
||||
|
||||
/**
|
||||
* Setzt die Register so, dass näherungsweise die gewünschte Frequenz erzeugt wird.
|
||||
* Ist freq == 0 wird PWM deaktiviert.
|
||||
* Standardfrequenz: 31300 (empfohlen, da dann TOP == 255)
|
||||
* \param freq PWM Frequenz
|
||||
* \return Top Wert des PWM Value für die gesetzte Frequenz
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t pwmSetFrequency(uint32_t freq);
|
||||
|
||||
/**
|
||||
* Setzt den PWM Wert.
|
||||
* \param value PWM Wert [0..0xFF]
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool pwmSetValue(uint8_t value);
|
||||
|
||||
/**
|
||||
* Setzt direkt den Wert eines MCU Registers.
|
||||
* *Wichtig:* bei einer falschen Adresse kann das Board 15 ernsthaften Schaden nehmen!
|
||||
* \param adr Speicheradresse des Registers
|
||||
* \param val Neuer Wert für das Register
|
||||
* \throws DriverException
|
||||
*/
|
||||
bool setRegister(volatile uint8_t* adr, uint8_t val);
|
||||
|
||||
/**
|
||||
* Liefert den Wert eines MCU Registers.
|
||||
* \param adr Speicheradresse des Registers
|
||||
* \throws DriverException
|
||||
*/
|
||||
uint8_t getRegister(volatile uint8_t* adr);
|
||||
|
||||
/*************************/
|
||||
|
||||
|
||||
// CONSTANTS
|
||||
const std::string PRE = "[B15F] "; //!< B15F stdout prefix
|
||||
constexpr static uint8_t MSG_OK = 0xFF; //!< Value to acknowledge a received command
|
||||
constexpr static uint8_t MSG_FAIL = 0xFE; //!< Value to reject a received command
|
||||
constexpr static uint16_t RECONNECT_TIMEOUT = 64; //!< Time in ms after which a reconnect attempt aborts
|
||||
constexpr static uint16_t WDT_TIMEOUT = 15; //!< Time in ms after which the watch dog timer resets the MCU
|
||||
constexpr static uint8_t RECONNECT_TRIES = 3; //!< Maximum count of reconnect attempts after which the driver stops
|
||||
constexpr static uint32_t BAUDRATE = 57600; //!< USART baudrate for communication with the MCU
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* Initialisiert und testet die Verbindung zum B15
|
||||
* \throws DriverException
|
||||
*/
|
||||
void init(void);
|
||||
|
||||
USART usart;
|
||||
static B15F* instance;
|
||||
static errorhandler_t errorhandler;
|
||||
|
||||
// REQUESTS
|
||||
constexpr static uint8_t RQ_DISC = 0;
|
||||
constexpr static uint8_t RQ_TEST = 1;
|
||||
constexpr static uint8_t RQ_INFO = 2;
|
||||
constexpr static uint8_t RQ_INT = 3;
|
||||
constexpr static uint8_t RQ_ST = 4;
|
||||
constexpr static uint8_t RQ_BA0 = 5;
|
||||
constexpr static uint8_t RQ_BA1 = 6;
|
||||
constexpr static uint8_t RQ_BE0 = 7;
|
||||
constexpr static uint8_t RQ_BE1 = 8;
|
||||
constexpr static uint8_t RQ_DSW = 9;
|
||||
constexpr static uint8_t RQ_AA0 = 10;
|
||||
constexpr static uint8_t RQ_AA1 = 11;
|
||||
constexpr static uint8_t RQ_ADC = 12;
|
||||
constexpr static uint8_t RQ_ADC_DAC_STROKE = 13;
|
||||
/**
|
||||
* Initialisiert und testet die Verbindung zum B15
|
||||
* \throws DriverException
|
||||
*/
|
||||
void init(void);
|
||||
|
||||
USART usart;
|
||||
static B15F* instance;
|
||||
static errorhandler_t errorhandler;
|
||||
|
||||
// REQUESTS
|
||||
constexpr static uint8_t RQ_DISC = 0;
|
||||
constexpr static uint8_t RQ_TEST = 1;
|
||||
constexpr static uint8_t RQ_INFO = 2;
|
||||
constexpr static uint8_t RQ_INT = 3;
|
||||
constexpr static uint8_t RQ_ST = 4;
|
||||
constexpr static uint8_t RQ_BA0 = 5;
|
||||
constexpr static uint8_t RQ_BA1 = 6;
|
||||
constexpr static uint8_t RQ_BE0 = 7;
|
||||
constexpr static uint8_t RQ_BE1 = 8;
|
||||
constexpr static uint8_t RQ_DSW = 9;
|
||||
constexpr static uint8_t RQ_AA0 = 10;
|
||||
constexpr static uint8_t RQ_AA1 = 11;
|
||||
constexpr static uint8_t RQ_ADC = 12;
|
||||
constexpr static uint8_t RQ_ADC_DAC_STROKE = 13;
|
||||
constexpr static uint8_t RQ_PWM_SET_FREQ = 14;
|
||||
constexpr static uint8_t RQ_PWM_SET_VALUE = 15;
|
||||
constexpr static uint8_t RQ_SET_REG = 16;
|
||||
constexpr static uint8_t RQ_GET_REG = 17;
|
||||
};
|
||||
|
||||
#endif // B15F_H
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
|
||||
Dot::Dot(uint16_t x, uint16_t y, uint8_t curve) : x(x), y(y), curve(curve)
|
||||
{
|
||||
if(curve >= 64)
|
||||
throw std::range_error("Kurvenindex muss im Bereich [0, 63] liegen");
|
||||
if(curve >= 64)
|
||||
throw std::range_error("Kurvenindex muss im Bereich [0, 63] liegen");
|
||||
}
|
||||
|
||||
uint16_t Dot::getX() const
|
||||
{
|
||||
return x;
|
||||
return x;
|
||||
}
|
||||
|
||||
uint16_t Dot::getY() const
|
||||
{
|
||||
return y;
|
||||
return y;
|
||||
}
|
||||
|
||||
uint8_t Dot::getCurve(void) const
|
||||
{
|
||||
return curve;
|
||||
return curve;
|
||||
}
|
||||
|
|
|
@ -4,17 +4,37 @@
|
|||
#include <cstdint>
|
||||
#include <stdexcept>
|
||||
|
||||
/**
|
||||
* Immutable dot class with x and y coordinate and curve index.
|
||||
* Dots with the same curve index get the same color by plotty.
|
||||
*/
|
||||
|
||||
class Dot
|
||||
{
|
||||
public:
|
||||
Dot(uint16_t x, uint16_t y, uint8_t curve);
|
||||
uint16_t getX(void) const;
|
||||
uint16_t getY(void) const;
|
||||
uint8_t getCurve(void) const;
|
||||
|
||||
/**
|
||||
* Constructor with x and y coordinate and curve index.
|
||||
*/
|
||||
Dot(uint16_t x, uint16_t y, uint8_t curve);
|
||||
|
||||
/**
|
||||
* Returns the x coordinate.
|
||||
*/
|
||||
uint16_t getX(void) const;
|
||||
|
||||
/**
|
||||
* Returns the y coordinate.
|
||||
*/
|
||||
uint16_t getY(void) const;
|
||||
|
||||
/**
|
||||
* Returns the curve index.
|
||||
*/
|
||||
uint8_t getCurve(void) const;
|
||||
|
||||
private:
|
||||
uint16_t x, y;
|
||||
uint8_t curve;
|
||||
uint16_t x, y;
|
||||
uint8_t curve;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -5,28 +5,30 @@
|
|||
|
||||
// SOURCE: https://stackoverflow.com/a/8152888
|
||||
|
||||
/*! Exception driver problems, for instance incompatible firmware version. */
|
||||
|
||||
class DriverException: public std::exception
|
||||
{
|
||||
public:
|
||||
explicit DriverException(const char* message) : msg_(message)
|
||||
{
|
||||
}
|
||||
explicit DriverException(const char* message) : msg_(message)
|
||||
{
|
||||
}
|
||||
|
||||
explicit DriverException(const std::string& message) : msg_(message)
|
||||
{
|
||||
}
|
||||
explicit DriverException(const std::string& message) : msg_(message)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~DriverException() throw ()
|
||||
{
|
||||
}
|
||||
virtual ~DriverException() throw ()
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* what() const throw ()
|
||||
{
|
||||
return msg_.c_str();
|
||||
}
|
||||
virtual const char* what() const throw ()
|
||||
{
|
||||
return msg_.c_str();
|
||||
}
|
||||
|
||||
protected:
|
||||
std::string msg_;
|
||||
std::string msg_;
|
||||
};
|
||||
|
||||
#endif // DRIVEREXCEPTION_H
|
||||
|
|
|
@ -2,197 +2,200 @@
|
|||
|
||||
void PlottyFile::addDot(Dot& dot)
|
||||
{
|
||||
dots.push_back(dot);
|
||||
dots.push_back(dot);
|
||||
}
|
||||
|
||||
void PlottyFile::addDot(Dot dot)
|
||||
{
|
||||
dots.push_back(dot);
|
||||
dots.push_back(dot);
|
||||
}
|
||||
|
||||
void PlottyFile::setFunctionType(FunctionType function_type)
|
||||
{
|
||||
this->function_type = function_type;
|
||||
this->function_type = function_type;
|
||||
}
|
||||
|
||||
void PlottyFile::setQuadrant(uint8_t quadrant)
|
||||
{
|
||||
if(quadrant < 1 || quadrant > 4)
|
||||
throw std::range_error("Ungueltiger Quadrant");
|
||||
this->quadrant = quadrant;
|
||||
if(quadrant < 1 || quadrant > 4)
|
||||
throw std::range_error("Ungueltiger Quadrant");
|
||||
this->quadrant = quadrant;
|
||||
}
|
||||
|
||||
void PlottyFile::setRefX(uint16_t ref_x)
|
||||
{
|
||||
this->ref_x = ref_x;
|
||||
this->ref_x = ref_x;
|
||||
}
|
||||
|
||||
void PlottyFile::setRefY(uint16_t ref_y)
|
||||
{
|
||||
this->ref_y = ref_y;
|
||||
this->ref_y = ref_y;
|
||||
}
|
||||
|
||||
void PlottyFile::setParaFirstCurve(uint16_t para_first)
|
||||
{
|
||||
this->para_first = para_first;
|
||||
this->para_first = para_first;
|
||||
}
|
||||
|
||||
void PlottyFile::setParaStepWidth(uint16_t para_stepwidth)
|
||||
{
|
||||
this->para_stepwidth = para_stepwidth;
|
||||
this->para_stepwidth = para_stepwidth;
|
||||
}
|
||||
|
||||
void PlottyFile::setUnitX(std::string unit_x)
|
||||
{
|
||||
this->unit_x = unit_x;
|
||||
this->unit_x = unit_x;
|
||||
}
|
||||
|
||||
void PlottyFile::setDescX(std::string desc_x)
|
||||
{
|
||||
this->desc_x = desc_x;
|
||||
this->desc_x = desc_x;
|
||||
}
|
||||
|
||||
void PlottyFile::setUnitY(std::string unit_y)
|
||||
{
|
||||
this->unit_y = unit_y;
|
||||
this->unit_y = unit_y;
|
||||
}
|
||||
|
||||
void PlottyFile::setDescY(std::string desc_y)
|
||||
{
|
||||
this->desc_y = desc_y;
|
||||
this->desc_y = desc_y;
|
||||
}
|
||||
|
||||
void PlottyFile::setUnitPara(std::string unit_para)
|
||||
{
|
||||
this->unit_para = unit_para;
|
||||
this->unit_para = unit_para;
|
||||
}
|
||||
|
||||
void PlottyFile::setDescPara(std::string desc_para)
|
||||
{
|
||||
this->desc_para = desc_para;
|
||||
this->desc_para = desc_para;
|
||||
}
|
||||
|
||||
|
||||
FunctionType PlottyFile::getFunctionType() const
|
||||
{
|
||||
return function_type;
|
||||
return function_type;
|
||||
}
|
||||
|
||||
uint8_t PlottyFile::getQuadrant() const
|
||||
{
|
||||
return quadrant;
|
||||
return quadrant;
|
||||
}
|
||||
|
||||
uint16_t PlottyFile::getRefX() const
|
||||
{
|
||||
return ref_x;
|
||||
return ref_x;
|
||||
}
|
||||
|
||||
uint16_t PlottyFile::getRefY() const
|
||||
{
|
||||
return ref_y;
|
||||
return ref_y;
|
||||
}
|
||||
|
||||
uint16_t PlottyFile::getParaFirstCurve() const
|
||||
{
|
||||
return para_first;
|
||||
return para_first;
|
||||
}
|
||||
|
||||
uint16_t PlottyFile::getParaStepWidth() const
|
||||
{
|
||||
return para_stepwidth;
|
||||
return para_stepwidth;
|
||||
}
|
||||
|
||||
std::string PlottyFile::getUnitX() const
|
||||
{
|
||||
return unit_x;
|
||||
return unit_x;
|
||||
}
|
||||
|
||||
std::string PlottyFile::getDescX() const
|
||||
{
|
||||
return desc_x;
|
||||
return desc_x;
|
||||
}
|
||||
|
||||
std::string PlottyFile::getUnitY() const
|
||||
{
|
||||
return unit_y;
|
||||
return unit_y;
|
||||
}
|
||||
|
||||
std::string PlottyFile::getDescY() const
|
||||
{
|
||||
return desc_y;
|
||||
return desc_y;
|
||||
}
|
||||
|
||||
std::string PlottyFile::getUnitPara() const
|
||||
{
|
||||
return unit_para;
|
||||
return unit_para;
|
||||
}
|
||||
|
||||
std::string PlottyFile::getDescPara() const
|
||||
{
|
||||
return desc_para;
|
||||
return desc_para;
|
||||
}
|
||||
|
||||
void PlottyFile::prepStr(std::string& str, uint8_t len)
|
||||
{
|
||||
if(str.length() > len)
|
||||
throw std::runtime_error("Zu grosser String.");
|
||||
|
||||
if(str.length() != len)
|
||||
str += '\n';
|
||||
|
||||
while(str.length() < len)
|
||||
str += '\0';
|
||||
if(str.length() > len)
|
||||
throw std::runtime_error("Zu grosser String.");
|
||||
|
||||
if(str.length() != len)
|
||||
str += '\n';
|
||||
|
||||
while(str.length() < len)
|
||||
str += '\0';
|
||||
}
|
||||
|
||||
void PlottyFile::writeToFile(std::string filename)
|
||||
{
|
||||
prepStr(unit_x, STR_LEN_SHORT);
|
||||
prepStr(desc_x, STR_LEN_LARGE);
|
||||
prepStr(unit_y, STR_LEN_SHORT);
|
||||
prepStr(desc_y, STR_LEN_LARGE);
|
||||
prepStr(unit_para, STR_LEN_SHORT);
|
||||
prepStr(desc_para, STR_LEN_LARGE);
|
||||
|
||||
std::ofstream file(filename);
|
||||
|
||||
// write file header
|
||||
file.write(reinterpret_cast<char*>(&command), 1);
|
||||
file.write(head.c_str(), head.length());
|
||||
file.write(filetype.c_str(), filetype.length());
|
||||
file.write(reinterpret_cast<char*>(&version), 2);
|
||||
file.write(reinterpret_cast<char*>(&subversion), 2);
|
||||
file.put(static_cast<uint8_t>(function_type));
|
||||
file.write(reinterpret_cast<char*>(&quadrant), 1);
|
||||
file.write(reinterpret_cast<char*>(&ref_x), 2);
|
||||
file.write(reinterpret_cast<char*>(&ref_y), 2);
|
||||
file.write(reinterpret_cast<char*>(¶_first), 2);
|
||||
file.write(reinterpret_cast<char*>(¶_stepwidth), 2);
|
||||
file.write(unit_x.c_str(), unit_x.length());
|
||||
file.write(desc_x.c_str(), desc_x.length());
|
||||
file.write(unit_y.c_str(), unit_y.length());
|
||||
file.write(desc_y.c_str(), desc_y.length());
|
||||
file.write(unit_para.c_str(), unit_para.length());
|
||||
file.write(desc_para.c_str(), desc_para.length());
|
||||
file.write(reinterpret_cast<const char*>(&eof), 1);
|
||||
|
||||
// make sure header size is 256 Byte
|
||||
while(file.tellp() < 256)
|
||||
file.put(0);
|
||||
|
||||
for(Dot& dot : dots)
|
||||
{
|
||||
file.put((dot.getX() >> 8) | (static_cast<uint8_t>(dot.getCurve()) << 2));
|
||||
file.put(dot.getX() & 0xFF);
|
||||
file.put(dot.getY() >> 8);
|
||||
file.put(dot.getY() & 0xFF);
|
||||
}
|
||||
|
||||
file.close();
|
||||
{
|
||||
if(dots.empty())
|
||||
throw std::length_error("Es wurden keine Punkte gespeichert.");
|
||||
|
||||
prepStr(unit_x, STR_LEN_SHORT);
|
||||
prepStr(desc_x, STR_LEN_LARGE);
|
||||
prepStr(unit_y, STR_LEN_SHORT);
|
||||
prepStr(desc_y, STR_LEN_LARGE);
|
||||
prepStr(unit_para, STR_LEN_SHORT);
|
||||
prepStr(desc_para, STR_LEN_LARGE);
|
||||
|
||||
std::ofstream file(filename);
|
||||
|
||||
// write file header
|
||||
file.write(reinterpret_cast<char*>(&command), 1);
|
||||
file.write(head.c_str(), head.length());
|
||||
file.write(filetype.c_str(), filetype.length());
|
||||
file.write(reinterpret_cast<char*>(&version), 2);
|
||||
file.write(reinterpret_cast<char*>(&subversion), 2);
|
||||
file.put(static_cast<uint8_t>(function_type));
|
||||
file.write(reinterpret_cast<char*>(&quadrant), 1);
|
||||
file.write(reinterpret_cast<char*>(&ref_x), 2);
|
||||
file.write(reinterpret_cast<char*>(&ref_y), 2);
|
||||
file.write(reinterpret_cast<char*>(¶_first), 2);
|
||||
file.write(reinterpret_cast<char*>(¶_stepwidth), 2);
|
||||
file.write(unit_x.c_str(), unit_x.length());
|
||||
file.write(desc_x.c_str(), desc_x.length());
|
||||
file.write(unit_y.c_str(), unit_y.length());
|
||||
file.write(desc_y.c_str(), desc_y.length());
|
||||
file.write(unit_para.c_str(), unit_para.length());
|
||||
file.write(desc_para.c_str(), desc_para.length());
|
||||
file.write(reinterpret_cast<const char*>(&eof), 1);
|
||||
|
||||
// make sure header size is 256 Byte
|
||||
while(file.tellp() < 256)
|
||||
file.put(0);
|
||||
|
||||
for(Dot& dot : dots)
|
||||
{
|
||||
file.put((dot.getX() >> 8) | (static_cast<uint8_t>(dot.getCurve()) << 2));
|
||||
file.put(dot.getX() & 0xFF);
|
||||
file.put(dot.getY() >> 8);
|
||||
file.put(dot.getY() & 0xFF);
|
||||
}
|
||||
|
||||
file.close();
|
||||
}
|
||||
|
||||
void PlottyFile::startPlotty(std::string filename)
|
||||
{
|
||||
int code = system(("plotty --in " + filename).c_str());
|
||||
if(code)
|
||||
throw std::runtime_error("Fehler beim Aufruf von plotty");
|
||||
int code = system(("plotty --in " + filename).c_str());
|
||||
if(code)
|
||||
throw std::runtime_error("Fehler beim Aufruf von plotty");
|
||||
}
|
||||
|
|
|
@ -5,75 +5,205 @@
|
|||
#include <fstream>
|
||||
#include <exception>
|
||||
#include <vector>
|
||||
#include <stdexcept>
|
||||
#include "dot.h"
|
||||
|
||||
enum FunctionType
|
||||
{
|
||||
CurveFamily = 'S',
|
||||
Curve = 'C',
|
||||
Level = 'P'
|
||||
};
|
||||
CurveFamily = 'S',
|
||||
Curve = 'C',
|
||||
Level = 'P'
|
||||
};
|
||||
|
||||
/*! Wrapper class for convenient plot file creation, needed to display graphs using plotty. */
|
||||
|
||||
class PlottyFile
|
||||
{
|
||||
public:
|
||||
void addDot(Dot& dot);
|
||||
void addDot(Dot dot);
|
||||
|
||||
void setFunctionType(FunctionType);
|
||||
void setQuadrant(uint8_t);
|
||||
void setRefX(uint16_t);
|
||||
void setRefY(uint16_t);
|
||||
void setParaFirstCurve(uint16_t);
|
||||
void setParaStepWidth(uint16_t);
|
||||
void setUnitX(std::string);
|
||||
void setDescX(std::string);
|
||||
void setUnitY(std::string);
|
||||
void setDescY(std::string);
|
||||
void setUnitPara(std::string);
|
||||
void setDescPara(std::string);
|
||||
|
||||
FunctionType getFunctionType(void) const;
|
||||
uint8_t getQuadrant(void) const;
|
||||
uint16_t getRefX(void) const;
|
||||
uint16_t getRefY(void) const;
|
||||
uint16_t getParaFirstCurve(void) const;
|
||||
uint16_t getParaStepWidth(void) const;
|
||||
std::string getUnitX(void) const;
|
||||
std::string getDescX(void) const;
|
||||
std::string getUnitY(void) const;
|
||||
std::string getDescY(void) const;
|
||||
std::string getUnitPara(void) const;
|
||||
std::string getDescPara(void) const;
|
||||
|
||||
void writeToFile(std::string filename);
|
||||
void startPlotty(std::string filename);
|
||||
/**
|
||||
* Adds a dot to the plotty file.
|
||||
* \param dot the dot
|
||||
*/
|
||||
void addDot(Dot& dot);
|
||||
|
||||
/**
|
||||
* Adds a dot by reference to the plotty file.
|
||||
* \param dot the dot
|
||||
*/
|
||||
void addDot(Dot dot);
|
||||
|
||||
/**
|
||||
* Sets the FunctionType of this plotty file.
|
||||
* \param function_type enum value
|
||||
*/
|
||||
void setFunctionType(FunctionType function_type);
|
||||
|
||||
/**
|
||||
* Sets the quadrant of this plot.
|
||||
* \param quadrant quadrant number (1..4)
|
||||
*/
|
||||
void setQuadrant(uint8_t quadrant);
|
||||
|
||||
/**
|
||||
* Sets reference (max) value of the x axis
|
||||
* \param ref_x reference value
|
||||
*/
|
||||
void setRefX(uint16_t ref_x);
|
||||
|
||||
/**
|
||||
* Sets reference (max) value of the y axis
|
||||
* \param ref_y reference value
|
||||
*/
|
||||
void setRefY(uint16_t ref_y);
|
||||
|
||||
/**
|
||||
* Sets initial value of the parameter.
|
||||
* Gets used together with the stepwith to label the curves.
|
||||
* \param para_first initial parameter value
|
||||
*/
|
||||
void setParaFirstCurve(uint16_t para_first);
|
||||
|
||||
/**
|
||||
* Sets the stepwith the parameter got increased with each curve.
|
||||
* \param para_first parameter stepwith
|
||||
*/
|
||||
void setParaStepWidth(uint16_t para_stepwidth);
|
||||
|
||||
/**
|
||||
* Sets the unit of the x axis.
|
||||
* \param para_first unit
|
||||
*/
|
||||
void setUnitX(std::string unit_x);
|
||||
|
||||
/**
|
||||
* Sets the description of the x axis.
|
||||
* \param para_first description
|
||||
*/
|
||||
void setDescX(std::string desc_x);
|
||||
|
||||
/**
|
||||
* Sets the unit of the y axis.
|
||||
* \param para_first unit
|
||||
*/
|
||||
void setUnitY(std::string unit_y);
|
||||
|
||||
/**
|
||||
* Sets the description of the y axis.
|
||||
* \param para_first description
|
||||
*/
|
||||
void setDescY(std::string desc_y);
|
||||
|
||||
/**
|
||||
* Sets the unit of the parameter.
|
||||
* \param para_first unit
|
||||
*/
|
||||
void setUnitPara(std::string unit_para);
|
||||
/**
|
||||
* Sets the description of the parameter.
|
||||
* \param para_first description
|
||||
*/
|
||||
void setDescPara(std::string desc_para);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \return the FunctionType
|
||||
*/
|
||||
FunctionType getFunctionType(void) const;
|
||||
|
||||
/**
|
||||
* \return the quadrant
|
||||
*/
|
||||
uint8_t getQuadrant(void) const;
|
||||
|
||||
/**
|
||||
* \return x reference (max) value
|
||||
*/
|
||||
uint16_t getRefX(void) const;
|
||||
|
||||
/**
|
||||
* \return y reference (max) value
|
||||
*/
|
||||
uint16_t getRefY(void) const;
|
||||
|
||||
/**
|
||||
* \return initial parameter value
|
||||
*/
|
||||
uint16_t getParaFirstCurve(void) const;
|
||||
|
||||
/**
|
||||
* \return parameter stepwith
|
||||
*/
|
||||
uint16_t getParaStepWidth(void) const;
|
||||
|
||||
/**
|
||||
* \return unit of x axis
|
||||
*/
|
||||
std::string getUnitX(void) const;
|
||||
|
||||
/**
|
||||
* \return description of x axis
|
||||
*/
|
||||
std::string getDescX(void) const;
|
||||
|
||||
/**
|
||||
* \return unit of y axis
|
||||
*/
|
||||
std::string getUnitY(void) const;
|
||||
|
||||
/**
|
||||
* \return description of y axis
|
||||
*/
|
||||
std::string getDescY(void) const;
|
||||
|
||||
/**
|
||||
* \return unit of parameter
|
||||
*/
|
||||
std::string getUnitPara(void) const;
|
||||
|
||||
/**
|
||||
* \return description of parameter
|
||||
*/
|
||||
std::string getDescPara(void) const;
|
||||
|
||||
|
||||
/**
|
||||
* Saves the PlottyFile in a binary format, ready to open with plotty.
|
||||
* \param filename desired plot path
|
||||
*/
|
||||
void writeToFile(std::string filename);
|
||||
|
||||
/**
|
||||
* Starts plotty with a plot file.
|
||||
* \param filename plot path
|
||||
*/
|
||||
void startPlotty(std::string filename);
|
||||
private:
|
||||
void prepStr(std::string& str, uint8_t len);
|
||||
void prepStr(std::string& str, uint8_t len);
|
||||
|
||||
std::vector<Dot> dots;
|
||||
std::vector<Dot> dots;
|
||||
|
||||
int8_t command = 0x1D;
|
||||
const std::string head = "HTWK-HWLab";
|
||||
const std::string filetype = "MD";
|
||||
int16_t version = 1;
|
||||
int16_t subversion = 0;
|
||||
FunctionType function_type = FunctionType::Curve;
|
||||
uint8_t quadrant = 1;
|
||||
uint16_t ref_x = 1023;
|
||||
uint16_t ref_y = 1023;
|
||||
uint16_t para_first = 1;
|
||||
uint16_t para_stepwidth = 1;
|
||||
std::string unit_x;
|
||||
std::string desc_x;
|
||||
std::string unit_y;
|
||||
std::string desc_y;
|
||||
std::string unit_para;
|
||||
std::string desc_para;
|
||||
const uint8_t eof = 0xD;
|
||||
|
||||
constexpr static uint8_t STR_LEN_SHORT = 10;
|
||||
constexpr static uint8_t STR_LEN_LARGE = 20;
|
||||
int8_t command = 0x1D;
|
||||
const std::string head = "HTWK-HWLab";
|
||||
const std::string filetype = "MD";
|
||||
int16_t version = 1;
|
||||
int16_t subversion = 0;
|
||||
FunctionType function_type = FunctionType::Curve;
|
||||
uint8_t quadrant = 1;
|
||||
uint16_t ref_x = 1023;
|
||||
uint16_t ref_y = 1023;
|
||||
uint16_t para_first = 1;
|
||||
uint16_t para_stepwidth = 1;
|
||||
std::string unit_x;
|
||||
std::string desc_x;
|
||||
std::string unit_y;
|
||||
std::string desc_y;
|
||||
std::string unit_para;
|
||||
std::string desc_para;
|
||||
const uint8_t eof = 0xD;
|
||||
|
||||
constexpr static uint8_t STR_LEN_SHORT = 10;
|
||||
constexpr static uint8_t STR_LEN_LARGE = 20;
|
||||
};
|
||||
|
||||
#endif // PLOTTYFILE_H
|
||||
|
|
|
@ -2,34 +2,45 @@
|
|||
#define TIMEOUTEXCEPTION_H
|
||||
|
||||
#include <exception>
|
||||
#include <string>
|
||||
|
||||
// SOURCE: https://stackoverflow.com/a/8152888
|
||||
/*! Exception for USART related timeouts. */
|
||||
|
||||
class TimeoutException: public std::exception
|
||||
{
|
||||
public:
|
||||
explicit TimeoutException(const char* message, int timeout) : TimeoutException(std::string(message), timeout)
|
||||
{
|
||||
}
|
||||
/**
|
||||
* Constructor
|
||||
* @param message as c-string
|
||||
*/
|
||||
explicit TimeoutException(const char* message) : msg(message)
|
||||
{
|
||||
}
|
||||
|
||||
explicit TimeoutException(const std::string& message, int timeout) : msg(message), m_timeout(timeout)
|
||||
{
|
||||
if(!msg.length())
|
||||
msg = "Timeout reached (" + std::to_string(m_timeout) + ")";
|
||||
}
|
||||
/**
|
||||
* Constructor
|
||||
* @param message as c++-string
|
||||
*/
|
||||
explicit TimeoutException(const std::string& message) : msg(message)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~TimeoutException() throw ()
|
||||
{
|
||||
}
|
||||
/**
|
||||
* Standard-destructor
|
||||
*/
|
||||
virtual ~TimeoutException() = default;
|
||||
|
||||
virtual const char* what() const throw ()
|
||||
{
|
||||
return msg.c_str();
|
||||
}
|
||||
/**
|
||||
* Get failure description
|
||||
* @return error message as c-string
|
||||
*/
|
||||
virtual const char* what() const throw ()
|
||||
{
|
||||
return msg.c_str();
|
||||
}
|
||||
|
||||
protected:
|
||||
std::string msg;
|
||||
int m_timeout;
|
||||
std::string msg; //!< failure description
|
||||
};
|
||||
|
||||
#endif // TIMEOUTEXCEPTION_H
|
||||
|
|
|
@ -1,324 +1,139 @@
|
|||
#include <stdexcept>
|
||||
#include "usart.h"
|
||||
|
||||
USART::~USART()
|
||||
{
|
||||
closeDevice();
|
||||
}
|
||||
|
||||
void USART::openDevice(std::string device)
|
||||
{
|
||||
file_desc = open(device.c_str(), O_RDWR | O_NOCTTY | O_NDELAY /* | O_NONBLOCK*/);
|
||||
if(file_desc <= 0)
|
||||
throw USARTException("Fehler beim Öffnen des Gerätes");
|
||||
|
||||
struct termios options;
|
||||
int code = tcgetattr(file_desc, &options);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Lesen der Geräteparameter");
|
||||
|
||||
options.c_cflag = CS8 | CLOCAL | CREAD;
|
||||
options.c_iflag = IGNPAR;
|
||||
options.c_oflag = 0;
|
||||
options.c_lflag = 0;
|
||||
options.c_cc[VMIN] = 0; // #bytes read returns at least
|
||||
options.c_cc[VTIME] = timeout;
|
||||
// Benutze blockierenden Modus
|
||||
file_desc = open(device.c_str(), O_RDWR | O_NOCTTY);// | O_NDELAY
|
||||
if (file_desc <= 0)
|
||||
throw USARTException("Fehler beim Öffnen des Gerätes");
|
||||
|
||||
struct termios options;
|
||||
int code = tcgetattr(file_desc, &options);
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Lesen der Geräteparameter");
|
||||
|
||||
options.c_cflag = CS8 | CLOCAL | CREAD;
|
||||
options.c_iflag = IGNPAR;
|
||||
options.c_oflag = 0;
|
||||
options.c_lflag = 0;
|
||||
options.c_cc[VMIN] = 0;
|
||||
options.c_cc[VTIME] = timeout;
|
||||
code = cfsetspeed(&options, baudrate);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Setzen der Baudrate");
|
||||
|
||||
code = tcsetattr(file_desc, TCSANOW, &options);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Setzen der Geräteparameter");
|
||||
|
||||
clearOutputBuffer();
|
||||
clearInputBuffer();
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Setzen der Baudrate");
|
||||
|
||||
code = tcsetattr(file_desc, TCSANOW, &options);
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Setzen der Geräteparameter");
|
||||
|
||||
code = fcntl(file_desc, F_SETFL, 0); // blockierender Modus
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Aktivieren des blockierenden Modus'");
|
||||
|
||||
clearOutputBuffer();
|
||||
clearInputBuffer();
|
||||
}
|
||||
|
||||
|
||||
void USART::closeDevice()
|
||||
{
|
||||
int code = close(file_desc);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Schließen des Gerätes");
|
||||
if (file_desc > 0)
|
||||
{
|
||||
int code = close(file_desc);
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Schließen des Gerätes");
|
||||
file_desc = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void USART::clearInputBuffer()
|
||||
{
|
||||
int code = tcflush(file_desc, TCIFLUSH);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Leeren des Eingangspuffers");
|
||||
int code = tcflush(file_desc, TCIFLUSH);
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Leeren des Eingangspuffers");
|
||||
}
|
||||
|
||||
|
||||
void USART::clearOutputBuffer()
|
||||
{
|
||||
int code = tcflush(file_desc, TCOFLUSH);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Leeren des Ausgangspuffers");
|
||||
int code = tcflush(file_desc, TCOFLUSH);
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Leeren des Ausgangspuffers");
|
||||
}
|
||||
|
||||
|
||||
void USART::flushOutputBuffer()
|
||||
{
|
||||
int code = tcdrain(file_desc);
|
||||
if(code)
|
||||
throw USARTException("Fehler beim Versenden des Ausgangspuffers");
|
||||
int code = tcdrain(file_desc);
|
||||
if (code)
|
||||
throw USARTException("Fehler beim Versenden des Ausgangspuffers");
|
||||
}
|
||||
|
||||
void USART::printStatistics()
|
||||
void USART::transmit(uint8_t *buffer, uint16_t offset, uint8_t len)
|
||||
{
|
||||
double pz = 1e2 * n_blocks_failed / n_blocks_total;
|
||||
pz = std::round(pz * 1e2) / 1e2;
|
||||
std::cout << "blocks total: " << n_blocks_total << " ok: " << (n_blocks_total - n_blocks_failed) << " failed: " << n_blocks_failed << " (" << pz << "%)" << std::endl;
|
||||
int code = write(file_desc, buffer + offset, len);
|
||||
if (code != len)
|
||||
throw USARTException(
|
||||
std::string(__FUNCTION__) + " failed: " + std::string(__FILE__) + "#" + std::to_string(__LINE__) +
|
||||
", " + strerror(code) + " (code " + std::to_string(code) + " / " + std::to_string(len) + ")");
|
||||
}
|
||||
|
||||
void USART::writeByte(uint8_t b)
|
||||
void USART::receive(uint8_t *buffer, uint16_t offset, uint8_t len)
|
||||
{
|
||||
int sent = write(file_desc, &b, 1);
|
||||
if(sent != 1)
|
||||
{
|
||||
std::cout << "WARNUNG: Fehler beim Senden (" << sent << "): writeByte(), wiederhole..." << std::endl;
|
||||
usleep(100000);
|
||||
sent = write(file_desc, &b, 1);
|
||||
if(sent != 1)
|
||||
throw USARTException("Fehler beim Senden: writeByte()");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void USART::writeInt(uint16_t d)
|
||||
{
|
||||
int sent = write(file_desc, reinterpret_cast<char*>(&d), 2);
|
||||
if(sent != 2)
|
||||
throw USARTException("Fehler beim Senden: writeInt()");
|
||||
int bytes_avail, code;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
auto end = std::chrono::steady_clock::now();
|
||||
do
|
||||
{
|
||||
code = ioctl(file_desc, FIONREAD, &bytes_avail);
|
||||
if (code)
|
||||
throw USARTException(
|
||||
std::string(__FUNCTION__) + " failed: " + std::string(__FILE__) + "#" + std::to_string(__LINE__) +
|
||||
", " + strerror(code) + " (code " + std::to_string(code) + ")");
|
||||
|
||||
end = std::chrono::steady_clock::now();
|
||||
long elapsed =
|
||||
std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count() / 100; // in Dezisekunden
|
||||
if (elapsed >= timeout)
|
||||
throw TimeoutException(
|
||||
std::string(__FUNCTION__) + " failed: " + std::string(__FILE__) + "#" + std::to_string(__LINE__) +
|
||||
", " + std::to_string(elapsed) + " / " + std::to_string(timeout) + " ds");
|
||||
}
|
||||
while (bytes_avail < len);
|
||||
|
||||
code = read(file_desc, buffer + offset, len);
|
||||
if (code != len)
|
||||
throw USARTException(
|
||||
std::string(__FUNCTION__) + " failed: " + std::string(__FILE__) + "#" + std::to_string(__LINE__) +
|
||||
", " + strerror(code) + " (code " + std::to_string(code) + " / " + std::to_string(len) + ")");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int USART::read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout)
|
||||
void USART::drop(uint8_t len)
|
||||
{
|
||||
uint32_t elapsed = 0;
|
||||
int n_read = -1;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
auto end = start;
|
||||
while(elapsed < timeout)
|
||||
{
|
||||
n_read = read(file_desc, buffer + offset, len);
|
||||
if (n_read == len)
|
||||
return n_read;
|
||||
|
||||
end = std::chrono::steady_clock::now();
|
||||
elapsed = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int USART::write_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout)
|
||||
{
|
||||
uint32_t elapsed = 0;
|
||||
int n_sent = -1;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
auto end = start;
|
||||
while(elapsed < timeout)
|
||||
{
|
||||
n_sent = write(file_desc, buffer + offset, len);
|
||||
flushOutputBuffer();
|
||||
if (n_sent == len)
|
||||
return n_sent;
|
||||
|
||||
end = std::chrono::steady_clock::now();
|
||||
elapsed = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
|
||||
}
|
||||
|
||||
return n_sent;
|
||||
}
|
||||
|
||||
void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len)
|
||||
{
|
||||
uint8_t crc;
|
||||
uint8_t aw;
|
||||
const uint16_t us_per_bit = (1000000 / baudrate) * 16;
|
||||
const uint16_t n_total = len + 3;
|
||||
|
||||
n_blocks_total++;
|
||||
bool failed = false;
|
||||
|
||||
do
|
||||
{
|
||||
// calc crc
|
||||
crc = 0;
|
||||
for(uint8_t i = 0; i < len; i++)
|
||||
{
|
||||
crc ^= buffer[i];
|
||||
for (uint8_t k = 0; k < 8; k++)
|
||||
{
|
||||
if (crc & 1)
|
||||
crc ^= CRC7_POLY;
|
||||
crc >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
// construct block
|
||||
block_buffer[0] = len;
|
||||
std::memcpy(&block_buffer[1], buffer + offset, len);
|
||||
block_buffer[len + 1] = crc;
|
||||
block_buffer[len + 2] = BLOCK_END;
|
||||
|
||||
// send block
|
||||
clearOutputBuffer();
|
||||
clearInputBuffer();
|
||||
int n_sent = write_timeout(&block_buffer[0], 0, len + 3, us_per_bit * n_total);
|
||||
if(n_sent != n_total)
|
||||
throw std::runtime_error("fatal (send): " + std::to_string(n_sent));
|
||||
|
||||
/*for(uint8_t i = 0; i < len + 3; i++)
|
||||
{
|
||||
write_timeout(&block_buffer[i], 0, 1, us_per_bit * n_total);
|
||||
//tcdrain(file_desc);
|
||||
//usleep(1000);
|
||||
}*/
|
||||
|
||||
// flush output data
|
||||
tcdrain(file_desc);
|
||||
|
||||
//usleep(us_per_bit * n_total * 10);
|
||||
|
||||
// check response
|
||||
int n_read = read_timeout(&aw, 0, 1, us_per_bit * n_blocks_total * 10);
|
||||
for(uint16_t i = 0; i < 255 && n_read != 1; i++)
|
||||
{
|
||||
writeByte(0x80); // Stoppzeichen für Block
|
||||
if(tcdrain(file_desc))
|
||||
{
|
||||
std::cout << "drain failed" << std::endl;
|
||||
}
|
||||
std::cout << "WARNING: read error (" << n_read << "), retry #" << (int) i << std::endl;
|
||||
usleep(us_per_bit*100);
|
||||
n_read = read_timeout(&aw, 0, 1, us_per_bit);
|
||||
}
|
||||
|
||||
if(n_read != 1)
|
||||
throw std::runtime_error("fatal: " + std::to_string(n_read));
|
||||
|
||||
//clearInputBuffer();
|
||||
|
||||
if(aw != 0xFF) {
|
||||
if(!failed)
|
||||
n_blocks_failed++;
|
||||
failed = true;
|
||||
std::cout << "block failed, retry" << std::endl;
|
||||
}
|
||||
}
|
||||
while(aw != 0xFF);
|
||||
|
||||
//std::cout << "OK" << std::endl;
|
||||
}
|
||||
|
||||
uint8_t USART::readByte(void)
|
||||
{
|
||||
char b;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
auto end = start;
|
||||
uint16_t elapsed = 0;
|
||||
while(elapsed < timeout * 100)
|
||||
{
|
||||
int code = read(file_desc, &b, 1);
|
||||
if (code > 0)
|
||||
return static_cast<uint8_t>(b);
|
||||
|
||||
end = std::chrono::steady_clock::now();
|
||||
elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
|
||||
}
|
||||
|
||||
throw TimeoutException("Verbindung unterbrochen.", timeout);
|
||||
}
|
||||
|
||||
uint16_t USART::readInt(void)
|
||||
{
|
||||
return readByte() | readByte() << 8;
|
||||
}
|
||||
|
||||
bool USART::readBlock(uint8_t* buffer, uint16_t offset)
|
||||
{
|
||||
uint8_t len = readByte();
|
||||
uint8_t crc = 0;
|
||||
buffer += offset;
|
||||
|
||||
uint32_t block_timeout = timeout / 10;
|
||||
|
||||
// wait for block
|
||||
int n_ready;
|
||||
uint16_t elapsed = 0;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
auto end = start;
|
||||
while(elapsed < block_timeout)
|
||||
{
|
||||
int code = ioctl(file_desc, FIONREAD, &n_ready);
|
||||
if(code != 0)
|
||||
{
|
||||
std::cout << "n_ready code: " << code << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
if(n_ready >= len + 1)
|
||||
break;
|
||||
|
||||
end = std::chrono::steady_clock::now();
|
||||
elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
|
||||
}
|
||||
if(elapsed >= timeout)
|
||||
{
|
||||
std::cout << "block timeout: " << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
while(len--)
|
||||
{
|
||||
*buffer = readByte();
|
||||
|
||||
crc ^= *buffer++;
|
||||
for (uint8_t i = 0; i < 8; i++)
|
||||
{
|
||||
if (crc & 1)
|
||||
crc ^= CRC7_POLY;
|
||||
crc >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
crc ^= readByte();
|
||||
for (uint8_t i = 0; i < 8; i++)
|
||||
{
|
||||
if (crc & 1)
|
||||
crc ^= CRC7_POLY;
|
||||
crc >>= 1;
|
||||
}
|
||||
|
||||
if(TEST == 1)
|
||||
crc = 1;
|
||||
if(TEST > 100)
|
||||
TEST = 0;
|
||||
|
||||
if (crc == 0)
|
||||
{
|
||||
writeByte(0xFF);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
writeByte(0xFE);
|
||||
return false;
|
||||
}
|
||||
// Kann bestimmt noch eleganter gelöst werden
|
||||
uint8_t dummy[len];
|
||||
receive(&dummy[0], 0, len);
|
||||
}
|
||||
|
||||
uint32_t USART::getBaudrate()
|
||||
{
|
||||
return baudrate;
|
||||
return baudrate;
|
||||
}
|
||||
|
||||
uint8_t USART::getTimeout()
|
||||
{
|
||||
return timeout;
|
||||
return timeout;
|
||||
}
|
||||
|
||||
|
||||
void USART::setBaudrate(uint32_t baudrate)
|
||||
{
|
||||
this->baudrate = baudrate;
|
||||
this->baudrate = baudrate;
|
||||
}
|
||||
|
||||
void USART::setTimeout(uint8_t timeout)
|
||||
{
|
||||
this->timeout = timeout;
|
||||
this->timeout = timeout;
|
||||
}
|
||||
|
|
|
@ -1,150 +1,139 @@
|
|||
#ifndef USART_H
|
||||
#define USART_H
|
||||
|
||||
#include <iostream>
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <unistd.h>
|
||||
#include <cstring>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
#include <termios.h>
|
||||
#include <cmath>
|
||||
#include <sys/ioctl.h>
|
||||
#include <string.h>
|
||||
#include "usartexception.h"
|
||||
#include "timeoutexception.h"
|
||||
|
||||
/*! C++ Wrapper class for termios usart library. */
|
||||
|
||||
class USART
|
||||
{
|
||||
public:
|
||||
|
||||
/*************************************************
|
||||
* Methoden für die Verwaltung der Schnittstelle *
|
||||
*************************************************/
|
||||
|
||||
/**
|
||||
* Öffnet die USART Schnittstelle
|
||||
* \param device Linux-Gerätepfad
|
||||
* \throws USARTException
|
||||
*/
|
||||
void openDevice(std::string device);
|
||||
|
||||
/**
|
||||
* Schließt die USART Schnittstelle
|
||||
* \throws USARTException
|
||||
*/
|
||||
void closeDevice(void);
|
||||
|
||||
/**
|
||||
* Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gelesen wurden
|
||||
* \throws USARTException
|
||||
*/
|
||||
void clearInputBuffer(void);
|
||||
|
||||
/**
|
||||
* Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gesendet wurden
|
||||
* \throws USARTException
|
||||
*/
|
||||
void clearOutputBuffer(void);
|
||||
|
||||
/**
|
||||
* Schreibt Daten, die bereits im Puffer liegen, aber noch nicht gesendet wurden
|
||||
* \throws USARTException
|
||||
*/
|
||||
void flushOutputBuffer(void);
|
||||
|
||||
/**
|
||||
* Gibt Anzahl an erfolgreichen und fehlgeschlagenen Block-Übertragungen an
|
||||
*/
|
||||
void printStatistics(void);
|
||||
|
||||
/*************************************************/
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
* Methoden für die Datenübertragung *
|
||||
*************************************/
|
||||
|
||||
/**
|
||||
* Sendet ein Byte über die USART Schnittstelle
|
||||
* \param b das zu sendende Byte
|
||||
* \throws USARTException
|
||||
*/
|
||||
void writeByte(uint8_t b);
|
||||
|
||||
/**
|
||||
* Sendet ein Integer über die USART Schnittstelle
|
||||
* \param b das zu sendende Byte
|
||||
* \throws USARTException
|
||||
*/
|
||||
void writeInt(uint16_t d);
|
||||
|
||||
/**
|
||||
* Empfängt ein Byte über die USART Schnittstelle
|
||||
* \throws USARTException
|
||||
*/
|
||||
uint8_t readByte(void);
|
||||
|
||||
/**
|
||||
* Empfängt ein Integer über die USART Schnittstelle
|
||||
* \throws USARTException
|
||||
*/
|
||||
uint16_t readInt(void);
|
||||
|
||||
int read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout);
|
||||
int write_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout);
|
||||
void writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len);
|
||||
bool readBlock(uint8_t* buffer, uint16_t offset);
|
||||
|
||||
/*************************************/
|
||||
|
||||
|
||||
|
||||
/***************************************
|
||||
* Methoden für einstellbare Parameter *
|
||||
***************************************/
|
||||
|
||||
/**
|
||||
* Liefert die eingestellte Baudrate
|
||||
* <b>Änderungen werden erst nach einem open() wirksam</b>
|
||||
*/
|
||||
uint32_t getBaudrate(void);
|
||||
|
||||
/**
|
||||
* Liefert den eingestellten Timeout (in Dezisekunden)
|
||||
* <b>Änderungen werden erst nach einem open() wirksam</b>
|
||||
*/
|
||||
uint8_t getTimeout(void);
|
||||
|
||||
/**
|
||||
* Setzt die Baudrate
|
||||
* <b>Änderungen werden erst nach einem open() wirksam</b>
|
||||
*/
|
||||
void setBaudrate(uint32_t baudrate);
|
||||
|
||||
/**
|
||||
* Setzt den Timeout (in Dezisekunden)
|
||||
* <b>Änderungen werden erst nach einem open() wirksam</b>
|
||||
*/
|
||||
void setTimeout(uint8_t timeout);
|
||||
|
||||
/***************************************/
|
||||
|
||||
constexpr static uint8_t CRC7_POLY = 0x91;
|
||||
constexpr static uint8_t MAX_BLOCK_SIZE = 64;
|
||||
constexpr static uint8_t BLOCK_END = 0x80;
|
||||
|
||||
/*************************************************
|
||||
* Methoden für die Verwaltung der Schnittstelle *
|
||||
*************************************************/
|
||||
|
||||
/**
|
||||
* Standard-Konstruktor
|
||||
*/
|
||||
explicit USART() = default;
|
||||
|
||||
/**
|
||||
* Destructor, ruft automatisch closeDevice() auf
|
||||
*/
|
||||
virtual ~USART(void);
|
||||
|
||||
/**
|
||||
* Öffnet die USART Schnittstelle
|
||||
* \param device Linux-Gerätepfad
|
||||
* \throws USARTException
|
||||
*/
|
||||
void openDevice(std::string device);
|
||||
|
||||
/**
|
||||
* Schließt die USART Schnittstelle
|
||||
* \throws USARTException
|
||||
*/
|
||||
void closeDevice(void);
|
||||
|
||||
/**
|
||||
* Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gelesen wurden
|
||||
* \throws USARTException
|
||||
*/
|
||||
void clearInputBuffer(void);
|
||||
|
||||
/**
|
||||
* Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gesendet wurden
|
||||
* \throws USARTException
|
||||
*/
|
||||
void clearOutputBuffer(void);
|
||||
|
||||
/**
|
||||
* Schreibt Daten, die bereits im Puffer liegen, aber noch nicht gesendet wurden
|
||||
* \throws USARTException
|
||||
*/
|
||||
void flushOutputBuffer(void);
|
||||
|
||||
/*************************************************/
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
* Methoden für die Datenübertragung *
|
||||
*************************************/
|
||||
|
||||
/**
|
||||
* Sends n bytes from the buffer over USART
|
||||
* \param buffer target buffer
|
||||
* \param offset in buffer (mostly 0)
|
||||
* \param len count of bytes to send
|
||||
* \throws USARTException
|
||||
*/
|
||||
void transmit(uint8_t *buffer, uint16_t offset, uint8_t len);
|
||||
|
||||
/**
|
||||
* Receives n bytes from USART and writes them into the buffer
|
||||
* \param buffer target buffer
|
||||
* \param offset in buffer (mostly 0)
|
||||
* \param len count of bytes to receive
|
||||
* \throws USARTException
|
||||
*/
|
||||
void receive(uint8_t *buffer, uint16_t offset, uint8_t len);
|
||||
|
||||
/**
|
||||
* Receives n bytes but discards them
|
||||
* \param len count of bytes to receive
|
||||
* \throws USARTException
|
||||
*/
|
||||
void drop(uint8_t len);
|
||||
|
||||
/*************************************/
|
||||
|
||||
|
||||
|
||||
/***************************************
|
||||
* Methoden für einstellbare Parameter *
|
||||
***************************************/
|
||||
|
||||
/**
|
||||
* Liefert die eingestellte Baudrate
|
||||
* <b>Änderungen werden erst nach einem open() wirksam</b>
|
||||
*/
|
||||
uint32_t getBaudrate(void);
|
||||
|
||||
/**
|
||||
* Liefert den eingestellten Timeout (in Dezisekunden)
|
||||
* <b>Änderungen werden erst nach einem open() wirksam</b>
|
||||
*/
|
||||
uint8_t getTimeout(void);
|
||||
|
||||
/**
|
||||
* Setzt die Baudrate
|
||||
* <b>Änderungen werden erst nach openDevice() wirksam</b>
|
||||
*/
|
||||
void setBaudrate(uint32_t baudrate);
|
||||
|
||||
/**
|
||||
* Setzt den Timeout (in Dezisekunden)
|
||||
* <b>Änderungen werden erst nach openDevice() wirksam</b>
|
||||
*/
|
||||
void setTimeout(uint8_t timeout);
|
||||
|
||||
/***************************************/
|
||||
|
||||
private:
|
||||
|
||||
int file_desc = -1; // Linux Dateideskriptor
|
||||
uint32_t baudrate = 9600; // Standard-Baudrate, sollte mit setBaudrate() überschrieben werden!
|
||||
int TEST = 0;
|
||||
uint8_t timeout = 10; // in Dezisekunden
|
||||
uint8_t block_buffer[MAX_BLOCK_SIZE + 3];
|
||||
|
||||
// debug statistics
|
||||
uint32_t n_blocks_total = 0;
|
||||
uint32_t n_blocks_failed = 0;
|
||||
|
||||
int file_desc = -1; //!< Linux Dateideskriptor
|
||||
uint32_t baudrate = 9600; //!< Standard-Baudrate, sollte mit setBaudrate() überschrieben werden!
|
||||
uint8_t timeout = 10; //!< in Dezisekunden
|
||||
};
|
||||
|
||||
|
||||
#endif // USART_H
|
||||
|
|
|
@ -4,30 +4,43 @@
|
|||
#include <exception>
|
||||
#include <string>
|
||||
|
||||
// SOURCE: https://stackoverflow.com/a/8152888
|
||||
/*! Exception for USART problems, for instance buffer overflow. */
|
||||
|
||||
class USARTException: public std::exception
|
||||
{
|
||||
public:
|
||||
explicit USARTException(const char* message) : msg(message)
|
||||
{
|
||||
}
|
||||
/**
|
||||
* Constructor
|
||||
* @param message as c-string
|
||||
*/
|
||||
explicit USARTException(const char* message) : msg(message)
|
||||
{
|
||||
}
|
||||
|
||||
explicit USARTException(const std::string& message) : msg(message)
|
||||
{
|
||||
}
|
||||
/**
|
||||
* Constructor
|
||||
* @param message as c++-string
|
||||
*/
|
||||
explicit USARTException(const std::string& message) : msg(message)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~USARTException() throw ()
|
||||
{
|
||||
}
|
||||
/**
|
||||
* Standard-destructor
|
||||
*/
|
||||
virtual ~USARTException() = default;
|
||||
|
||||
virtual const char* what() const throw ()
|
||||
{
|
||||
return msg.c_str();
|
||||
}
|
||||
/**
|
||||
* Get failure description
|
||||
* @return error message as c-string
|
||||
*/
|
||||
virtual const char* what() const throw ()
|
||||
{
|
||||
return msg.c_str();
|
||||
}
|
||||
|
||||
protected:
|
||||
std::string msg;
|
||||
std::string msg; //!< failure description
|
||||
};
|
||||
|
||||
#endif // USARTEXCEPTION_H
|
||||
|
|
|
@ -6,277 +6,277 @@ std::thread t_refresh;
|
|||
|
||||
void show_main(int)
|
||||
{
|
||||
ViewSelection* view = new ViewSelection();
|
||||
view->setTitle("B15F - Command Line Interface");
|
||||
view->addChoice("[ Monitor - Eingaben beobachten ]", &show_monitor);
|
||||
view->addChoice("[ Digitale Ausgabe BE0 ]", &show_digital_output0);
|
||||
view->addChoice("[ Digitale Ausgabe BE1 ]", &show_digital_output1);
|
||||
view->addChoice("[ Analoge Ausgabe AA0 ]", &show_analog_output0);
|
||||
view->addChoice("[ Analoge Ausgabe AA1 ]", &show_analog_output1);
|
||||
view->addChoice("[ Selbsttest des B15 ]", &show_selftest_info);
|
||||
view->addChoice("[ Informationen ]", &show_info);
|
||||
view->addChoice("", nullptr);
|
||||
view->addChoice("[ Beenden ]", &finish);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewSelection* view = new ViewSelection();
|
||||
view->setTitle("B15F - Command Line Interface");
|
||||
view->addChoice("[ Monitor - Eingaben beobachten ]", &show_monitor);
|
||||
view->addChoice("[ Digitale Ausgabe BE0 ]", &show_digital_output0);
|
||||
view->addChoice("[ Digitale Ausgabe BE1 ]", &show_digital_output1);
|
||||
view->addChoice("[ Analoge Ausgabe AA0 ]", &show_analog_output0);
|
||||
view->addChoice("[ Analoge Ausgabe AA1 ]", &show_analog_output1);
|
||||
view->addChoice("[ Selbsttest des B15 ]", &show_selftest_info);
|
||||
view->addChoice("[ Informationen ]", &show_info);
|
||||
view->addChoice("", nullptr);
|
||||
view->addChoice("[ Beenden ]", &finish);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void input(int)
|
||||
{
|
||||
call_t nextCall;
|
||||
int key;
|
||||
do
|
||||
{
|
||||
key = wgetch(View::getWinContext());
|
||||
win_stack.back()->repaint();
|
||||
nextCall = win_stack.back()->keypress(key);
|
||||
|
||||
if(key == -1)
|
||||
view_back(key);
|
||||
|
||||
if(nextCall)
|
||||
nextCall(key);
|
||||
}
|
||||
while(win_stack.size());
|
||||
call_t nextCall;
|
||||
int key;
|
||||
do
|
||||
{
|
||||
key = wgetch(View::getWinContext());
|
||||
win_stack.back()->repaint();
|
||||
nextCall = win_stack.back()->keypress(key);
|
||||
|
||||
if(key == -1)
|
||||
view_back(key);
|
||||
|
||||
if(nextCall)
|
||||
nextCall(key);
|
||||
}
|
||||
while(win_stack.size());
|
||||
}
|
||||
|
||||
void view_back(int)
|
||||
{
|
||||
if(win_stack.size())
|
||||
{
|
||||
delete win_stack.back();
|
||||
win_stack.pop_back();
|
||||
}
|
||||
if(win_stack.size())
|
||||
win_stack.back()->repaint();
|
||||
if(win_stack.size())
|
||||
{
|
||||
delete win_stack.back();
|
||||
win_stack.pop_back();
|
||||
}
|
||||
if(win_stack.size())
|
||||
win_stack.back()->repaint();
|
||||
}
|
||||
|
||||
void finish(int)
|
||||
{
|
||||
cleanup();
|
||||
exit(EXIT_SUCCESS);
|
||||
cleanup();
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
void cleanup()
|
||||
{
|
||||
if(t_refresh.joinable())
|
||||
t_refresh.join();
|
||||
clrtoeol();
|
||||
refresh();
|
||||
endwin();
|
||||
if(t_refresh.joinable())
|
||||
t_refresh.join();
|
||||
clrtoeol();
|
||||
refresh();
|
||||
endwin();
|
||||
}
|
||||
|
||||
void show_info(int)
|
||||
{
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Info");
|
||||
view->setText("Informationen zu Board 15 Famulus Edition\nEs war einmal...");
|
||||
view->setLabelClose("[ Zurueck ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Info");
|
||||
view->setText("Informationen zu Board 15 Famulus Edition\nEs war einmal...");
|
||||
view->setLabelClose("[ Zurueck ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void show_monitor(int)
|
||||
{
|
||||
ViewMonitor* view = new ViewMonitor();
|
||||
view->setTitle("Monitor");
|
||||
view->setText("\nErfasse Messwerte...");
|
||||
view->setLabelClose("[ Zurueck ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewMonitor* view = new ViewMonitor();
|
||||
view->setTitle("Monitor");
|
||||
view->setText("\nErfasse Messwerte...");
|
||||
view->setLabelClose("[ Zurueck ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void show_invalid_port_input(int)
|
||||
{
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Falsche Eingabe");
|
||||
view->setText("Bitte geben Sie einen Wert aus dem Intervall [0, FF] an.");
|
||||
view->setLabelClose("[ Schliessen ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Falsche Eingabe");
|
||||
view->setText("Bitte geben Sie einen Wert aus dem Intervall [0, FF] an.");
|
||||
view->setLabelClose("[ Schliessen ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void show_invalid_dac_input(int)
|
||||
{
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Falsche Eingabe");
|
||||
view->setText("Bitte geben Sie einen Wert aus dem Intervall [0, 1023] an.");
|
||||
view->setLabelClose("[ Schliessen ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Falsche Eingabe");
|
||||
view->setText("Bitte geben Sie einen Wert aus dem Intervall [0, 1023] an.");
|
||||
view->setLabelClose("[ Schliessen ]");
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void write_digital_output0(int)
|
||||
{
|
||||
try
|
||||
{
|
||||
int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
|
||||
if(d > 255 || 0 > d)
|
||||
throw std::invalid_argument("bad value");
|
||||
uint8_t port = static_cast<uint8_t>(d);
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.digitalWrite0(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_port_input(0);
|
||||
}
|
||||
try
|
||||
{
|
||||
int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
|
||||
if(d > 255 || 0 > d)
|
||||
throw std::invalid_argument("bad value");
|
||||
uint8_t port = static_cast<uint8_t>(d);
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.digitalWrite0(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_port_input(0);
|
||||
}
|
||||
}
|
||||
|
||||
void write_digital_output1(int)
|
||||
{
|
||||
try
|
||||
{
|
||||
int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
|
||||
if(d > 255 || 0 > d)
|
||||
throw std::invalid_argument("bad value");
|
||||
uint8_t port = static_cast<uint8_t>(d);
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.digitalWrite1(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_port_input(0);
|
||||
}
|
||||
try
|
||||
{
|
||||
int d = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput(), 0, 16);
|
||||
if(d > 255 || 0 > d)
|
||||
throw std::invalid_argument("bad value");
|
||||
uint8_t port = static_cast<uint8_t>(d);
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.digitalWrite1(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_port_input(0);
|
||||
}
|
||||
}
|
||||
|
||||
void write_analog_output0(int)
|
||||
{
|
||||
try
|
||||
{
|
||||
uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
|
||||
if(port > 1023)
|
||||
throw std::invalid_argument("bad value");
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.analogWrite0(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_dac_input(0);
|
||||
}
|
||||
try
|
||||
{
|
||||
uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
|
||||
if(port > 1023)
|
||||
throw std::invalid_argument("bad value");
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.analogWrite0(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_dac_input(0);
|
||||
}
|
||||
}
|
||||
|
||||
void write_analog_output1(int)
|
||||
{
|
||||
try
|
||||
{
|
||||
uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
|
||||
if(port > 1023)
|
||||
throw std::invalid_argument("bad value");
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.analogWrite1(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_dac_input(0);
|
||||
}
|
||||
try
|
||||
{
|
||||
uint16_t port = std::stoi(static_cast<ViewPromt*>(win_stack.back())->getInput());
|
||||
if(port > 1023)
|
||||
throw std::invalid_argument("bad value");
|
||||
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.analogWrite1(port);
|
||||
view_back(0);
|
||||
}
|
||||
catch(std::invalid_argument& ex)
|
||||
{
|
||||
show_invalid_dac_input(0);
|
||||
}
|
||||
}
|
||||
|
||||
void show_digital_output0(int)
|
||||
{
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Digitale Ausgabe BE0");
|
||||
view->setMessage("\nAusgabe Port-Wert (hex): 0x");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_digital_output0);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Digitale Ausgabe BE0");
|
||||
view->setMessage("\nAusgabe Port-Wert (hex): 0x");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_digital_output0);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void show_digital_output1(int)
|
||||
{
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Digitale Ausgabe BE1");
|
||||
view->setMessage("\nAusgabe Port-Wert (hex): 0x");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_digital_output1);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Digitale Ausgabe BE1");
|
||||
view->setMessage("\nAusgabe Port-Wert (hex): 0x");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_digital_output1);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void show_analog_output0(int)
|
||||
{
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Analoge Ausgabe AA0");
|
||||
view->setMessage("\nAusgabe 10-Bit-Wert (0...1023): ");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_analog_output0);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Analoge Ausgabe AA0");
|
||||
view->setMessage("\nAusgabe 10-Bit-Wert (0...1023): ");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_analog_output0);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void show_analog_output1(int)
|
||||
{
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Analoge Ausgabe AA1");
|
||||
view->setMessage("\nAusgabe 10-Bit-Wert (0...1023): ");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_analog_output1);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewPromt* view = new ViewPromt();
|
||||
view->setTitle("Analoge Ausgabe AA1");
|
||||
view->setMessage("\nAusgabe 10-Bit-Wert (0...1023): ");
|
||||
view->setCancel("[ Zurueck ]", true);
|
||||
view->setConfirm("[ OK ]", &write_analog_output1);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void start_selftest(int)
|
||||
{
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.activateSelfTestMode();
|
||||
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Selbsttest aktiv");
|
||||
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");
|
||||
view->setLabelClose("[ Selbsttest Beenden ]");
|
||||
view->setCall(&stop_selftest);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.activateSelfTestMode();
|
||||
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Selbsttest aktiv");
|
||||
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");
|
||||
view->setLabelClose("[ Selbsttest Beenden ]");
|
||||
view->setCall(&stop_selftest);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
||||
void stop_selftest(int)
|
||||
{
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.discard();
|
||||
drv.delay_ms(B15F::WDT_TIMEOUT);
|
||||
drv.reconnect();
|
||||
drv.digitalWrite0(0);
|
||||
drv.digitalWrite1(0);
|
||||
B15F& drv = B15F::getInstance();
|
||||
drv.discard();
|
||||
drv.delay_ms(B15F::WDT_TIMEOUT);
|
||||
drv.reconnect();
|
||||
drv.digitalWrite0(0);
|
||||
drv.digitalWrite1(0);
|
||||
}
|
||||
|
||||
void show_selftest_info(int)
|
||||
{
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Selbsttest");
|
||||
view->setText("Bitte entfernen Sie jetzt alle Draehte von den Anschlussklemmen und bestaetigen\nmit Enter.");
|
||||
view->setLabelClose("[ Weiter ]");
|
||||
view->setCall(&start_selftest);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
ViewInfo* view = new ViewInfo();
|
||||
view->setTitle("Selbsttest");
|
||||
view->setText("Bitte entfernen Sie jetzt alle Draehte von den Anschlussklemmen und bestaetigen\nmit Enter.");
|
||||
view->setLabelClose("[ Weiter ]");
|
||||
view->setCall(&start_selftest);
|
||||
view->repaint();
|
||||
|
||||
win_stack.push_back(view);
|
||||
input(0);
|
||||
}
|
||||
|
|
|
@ -4,12 +4,12 @@ WINDOW* View::win = nullptr;
|
|||
|
||||
View::View()
|
||||
{
|
||||
if(!win)
|
||||
{
|
||||
B15F::abort("View::win not initialized, missing context");
|
||||
}
|
||||
getmaxyx(win, height, width); // init width and height
|
||||
keypad(win, TRUE);
|
||||
if(!win)
|
||||
{
|
||||
B15F::abort("View::win not initialized, missing context");
|
||||
}
|
||||
getmaxyx(win, height, width); // init width and height
|
||||
keypad(win, TRUE);
|
||||
}
|
||||
|
||||
View::~View()
|
||||
|
@ -18,12 +18,12 @@ View::~View()
|
|||
|
||||
void View::setWinContext(WINDOW* win)
|
||||
{
|
||||
View::win = win;
|
||||
View::win = win;
|
||||
}
|
||||
|
||||
WINDOW* View::getWinContext()
|
||||
{
|
||||
return win;
|
||||
return win;
|
||||
}
|
||||
|
||||
// from: https://stackoverflow.com/a/37454181
|
||||
|
@ -46,33 +46,33 @@ std::vector<std::string> View::str_split(const std::string& str, const std::stri
|
|||
|
||||
void View::setTitle(std::string title)
|
||||
{
|
||||
this->title = title;
|
||||
this->title = title;
|
||||
}
|
||||
|
||||
void View::repaint()
|
||||
{
|
||||
// get screen size
|
||||
struct winsize size;
|
||||
if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0)
|
||||
throw std::runtime_error("TIOCGWINSZ error");
|
||||
|
||||
|
||||
start_x = floor((size.ws_col - width) / 2.);
|
||||
start_y = floor((size.ws_row - height) / 2.);
|
||||
|
||||
curs_set(0); // hide cursor
|
||||
mvwin(win, start_y, start_x);
|
||||
clear();
|
||||
wclear(win);
|
||||
|
||||
// generic draw
|
||||
box(win, 0, 0);
|
||||
int offset_x = (width - title.length()) / 2;
|
||||
mvwprintw(win, 1, offset_x, "%s", title.c_str());
|
||||
|
||||
// specific draw
|
||||
draw();
|
||||
// get screen size
|
||||
struct winsize size;
|
||||
if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0)
|
||||
throw std::runtime_error("TIOCGWINSZ error");
|
||||
|
||||
refresh();
|
||||
wrefresh(win);
|
||||
|
||||
start_x = floor((size.ws_col - width) / 2.);
|
||||
start_y = floor((size.ws_row - height) / 2.);
|
||||
|
||||
curs_set(0); // hide cursor
|
||||
mvwin(win, start_y, start_x);
|
||||
clear();
|
||||
wclear(win);
|
||||
|
||||
// generic draw
|
||||
box(win, 0, 0);
|
||||
int offset_x = (width - title.length()) / 2;
|
||||
mvwprintw(win, 1, offset_x, "%s", title.c_str());
|
||||
|
||||
// specific draw
|
||||
draw();
|
||||
|
||||
refresh();
|
||||
wrefresh(win);
|
||||
}
|
||||
|
|
|
@ -14,32 +14,34 @@
|
|||
extern std::string ERR_MSG;
|
||||
typedef std::function<void(int)> call_t;
|
||||
|
||||
/*! Base class for multiple views with the ncurses user interface. */
|
||||
|
||||
class View
|
||||
{
|
||||
public:
|
||||
View(void);
|
||||
virtual ~View(void);
|
||||
|
||||
static void setWinContext(WINDOW* win);
|
||||
static WINDOW* getWinContext(void);
|
||||
static std::vector<std::string> str_split(const std::string& str, const std::string delim);
|
||||
|
||||
virtual void setTitle(std::string title);
|
||||
|
||||
virtual void repaint(void);
|
||||
|
||||
virtual void draw(void) = 0;
|
||||
virtual call_t keypress(int& key) = 0;
|
||||
|
||||
|
||||
View(void);
|
||||
virtual ~View(void);
|
||||
|
||||
static void setWinContext(WINDOW* win);
|
||||
static WINDOW* getWinContext(void);
|
||||
static std::vector<std::string> str_split(const std::string& str, const std::string delim);
|
||||
|
||||
virtual void setTitle(std::string title);
|
||||
|
||||
virtual void repaint(void);
|
||||
|
||||
virtual void draw(void) = 0;
|
||||
virtual call_t keypress(int& key) = 0;
|
||||
|
||||
|
||||
protected:
|
||||
int width, height;
|
||||
int start_x = 0, start_y = 0;
|
||||
std::string title;
|
||||
std::vector<call_t> calls;
|
||||
|
||||
static WINDOW* win;
|
||||
constexpr static int KEY_ENT = 10;
|
||||
int width, height;
|
||||
int start_x = 0, start_y = 0;
|
||||
std::string title;
|
||||
std::vector<call_t> calls;
|
||||
|
||||
static WINDOW* win;
|
||||
constexpr static int KEY_ENT = 10;
|
||||
};
|
||||
|
||||
#endif // VIEW_H
|
||||
|
|
|
@ -2,62 +2,62 @@
|
|||
|
||||
ViewInfo::ViewInfo()
|
||||
{
|
||||
calls.push_back(nullptr);
|
||||
calls.push_back(nullptr);
|
||||
}
|
||||
|
||||
void ViewInfo::setText(std::string text)
|
||||
{
|
||||
this->text = text;
|
||||
this->text = text;
|
||||
}
|
||||
|
||||
void ViewInfo::setLabelClose(std::string label)
|
||||
{
|
||||
this->label_close = label;
|
||||
this->label_close = label;
|
||||
}
|
||||
|
||||
void ViewInfo::setCall(call_t call)
|
||||
{
|
||||
calls[0] = call;
|
||||
calls[0] = call;
|
||||
}
|
||||
|
||||
void ViewInfo::draw()
|
||||
{
|
||||
int li = 0;
|
||||
for(std::string line : str_split(text, "\n"))
|
||||
mvwprintw(win, text_offset_y + li++, text_offset_x, "%s", line.c_str());
|
||||
|
||||
close_offset_x = (width - label_close.length()) / 2;
|
||||
close_offset_y = height - 2;
|
||||
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, close_offset_y, close_offset_x, "%s", label_close.c_str());
|
||||
wattroff(win, A_REVERSE);
|
||||
int li = 0;
|
||||
for(std::string line : str_split(text, "\n"))
|
||||
mvwprintw(win, text_offset_y + li++, text_offset_x, "%s", line.c_str());
|
||||
|
||||
close_offset_x = (width - label_close.length()) / 2;
|
||||
close_offset_y = height - 2;
|
||||
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, close_offset_y, close_offset_x, "%s", label_close.c_str());
|
||||
wattroff(win, A_REVERSE);
|
||||
}
|
||||
|
||||
call_t ViewInfo::keypress(int& key)
|
||||
{
|
||||
switch(key)
|
||||
{
|
||||
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column = start_x + close_offset_x;
|
||||
size_t row = start_y + close_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
if(mouse_y == row && mouse_x >= column && mouse_x < column + label_close.length())
|
||||
key = -1; // do return from view
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KEY_ENT:
|
||||
key = -1; // do return from view
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return calls[0];
|
||||
switch(key)
|
||||
{
|
||||
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column = start_x + close_offset_x;
|
||||
size_t row = start_y + close_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
if(mouse_y == row && mouse_x >= column && mouse_x < column + label_close.length())
|
||||
key = -1; // do return from view
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KEY_ENT:
|
||||
key = -1; // do return from view
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return calls[0];
|
||||
}
|
||||
|
|
|
@ -3,23 +3,25 @@
|
|||
|
||||
#include "view.h"
|
||||
|
||||
/*! View for simple text message output. */
|
||||
|
||||
class ViewInfo : public View
|
||||
{
|
||||
public:
|
||||
ViewInfo(void);
|
||||
virtual void setText(std::string text);
|
||||
virtual void setLabelClose(std::string label);;
|
||||
virtual void setCall(call_t call);
|
||||
virtual void draw(void) override;
|
||||
virtual call_t keypress(int& key) override;
|
||||
ViewInfo(void);
|
||||
virtual void setText(std::string text);
|
||||
virtual void setLabelClose(std::string label);;
|
||||
virtual void setCall(call_t call);
|
||||
virtual void draw(void) override;
|
||||
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;
|
||||
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;
|
||||
};
|
||||
|
||||
#endif // VIEW_INFO
|
||||
|
|
|
@ -1,139 +1,139 @@
|
|||
#include "view_monitor.h"
|
||||
|
||||
ViewMonitor::ViewMonitor() : t_worker(&ViewMonitor::worker, this)
|
||||
{
|
||||
{
|
||||
}
|
||||
|
||||
call_t ViewMonitor::keypress(int& key)
|
||||
{
|
||||
switch(key)
|
||||
{
|
||||
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
bool hit = false;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column = start_x + close_offset_x;
|
||||
size_t row = start_y + close_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
if(mouse_y == row && mouse_x >= column && mouse_x < column + label_close.length())
|
||||
hit = true;
|
||||
}
|
||||
if(!hit)
|
||||
break;
|
||||
|
||||
// fall through to next case
|
||||
[[fallthrough]];
|
||||
}
|
||||
case KEY_ENT:
|
||||
run_worker = false;
|
||||
key = -1; // do return from view
|
||||
wclear(win);
|
||||
wrefresh(win);
|
||||
t_worker.join();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return calls[0];
|
||||
switch(key)
|
||||
{
|
||||
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
bool hit = false;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column = start_x + close_offset_x;
|
||||
size_t row = start_y + close_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
if(mouse_y == row && mouse_x >= column && mouse_x < column + label_close.length())
|
||||
hit = true;
|
||||
}
|
||||
if(!hit)
|
||||
break;
|
||||
|
||||
// fall through to next case
|
||||
[[fallthrough]];
|
||||
}
|
||||
case KEY_ENT:
|
||||
run_worker = false;
|
||||
key = -1; // do return from view
|
||||
wclear(win);
|
||||
wrefresh(win);
|
||||
t_worker.join();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return calls[0];
|
||||
}
|
||||
|
||||
std::string ViewMonitor::fancyDigitalString(uint8_t& b)
|
||||
{
|
||||
std::stringstream str;
|
||||
str << std::bitset<8>(b).to_string();
|
||||
str << " ";
|
||||
str << "0x" << std::setfill ('0') << std::setw(2) << std::hex << (int) b << std::dec;
|
||||
return str.str();
|
||||
std::stringstream str;
|
||||
str << std::bitset<8>(b).to_string();
|
||||
str << " ";
|
||||
str << "0x" << std::setfill ('0') << std::setw(2) << std::hex << (int) b << std::dec;
|
||||
return str.str();
|
||||
}
|
||||
|
||||
std::string ViewMonitor::fancyAnalogString(uint16_t& v)
|
||||
{
|
||||
std::stringstream str;
|
||||
double volt = round(v * 100.0 * 5.0 / 1023.0) / 100.0;
|
||||
|
||||
str << std::setfill ('0') << std::setw(4) << (int) v << " " << std::fixed << std::setprecision(2) << volt << " V ";
|
||||
|
||||
str << "[";
|
||||
uint8_t p = round(v * 40.0 / 1023.0);
|
||||
for(uint8_t i = 0; i < p; i++)
|
||||
str << "X";
|
||||
for(uint8_t i = 0; i < 40 - p; i++)
|
||||
str << " ";
|
||||
str << "]" << std::endl;
|
||||
|
||||
return str.str();
|
||||
std::stringstream str;
|
||||
double volt = round(v * 100.0 * 5.0 / 1023.0) / 100.0;
|
||||
|
||||
str << std::setfill ('0') << std::setw(4) << (int) v << " " << std::fixed << std::setprecision(2) << volt << " V ";
|
||||
|
||||
str << "[";
|
||||
uint8_t p = round(v * 40.0 / 1023.0);
|
||||
for(uint8_t i = 0; i < p; i++)
|
||||
str << "X";
|
||||
for(uint8_t i = 0; i < 40 - p; i++)
|
||||
str << " ";
|
||||
str << "]" << std::endl;
|
||||
|
||||
return str.str();
|
||||
}
|
||||
|
||||
void ViewMonitor::worker()
|
||||
{
|
||||
B15F& drv = B15F::getInstance();
|
||||
while(run_worker)
|
||||
{
|
||||
try
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
|
||||
uint8_t be0 = drv.digitalRead0();
|
||||
uint8_t be1 = drv.digitalRead1();
|
||||
uint8_t dsw = drv.readDipSwitch();
|
||||
uint16_t adc[8];
|
||||
for(uint8_t i = 0; i < sizeof(adc) / sizeof(adc[0]); i++)
|
||||
adc[i] = drv.analogRead(i);
|
||||
|
||||
|
||||
std::stringstream str;
|
||||
|
||||
// hline
|
||||
for(uint8_t i = 0; i < width - 2 * text_offset_x; i++)
|
||||
if(i % 2 == 0)
|
||||
str << "-";
|
||||
else
|
||||
str << " ";
|
||||
str << std::endl;
|
||||
|
||||
str << "Digitale Enigaenge:" << std::endl;
|
||||
str << "Binaere Eingabe 0: " << fancyDigitalString(be0) << std::endl;
|
||||
str << "Binaere Eingabe 1: " << fancyDigitalString(be1) << std::endl;
|
||||
str << "Dip Schalter (S7): " << fancyDigitalString(dsw) << std::endl;
|
||||
|
||||
// hline
|
||||
for(uint8_t i = 0; i < width - 2 * text_offset_x; i++)
|
||||
if(i % 2 == 0)
|
||||
str << "-";
|
||||
else
|
||||
str << " ";
|
||||
str << std::endl;
|
||||
|
||||
str << "Analoge Eingaenge:" << std::endl;
|
||||
for(uint8_t i = 0; i < sizeof(adc) / sizeof(adc[0]); i++)
|
||||
{
|
||||
str << "Kanal " << std::to_string((int) i) << ": ";
|
||||
str << fancyAnalogString(adc[i]) << std::endl;
|
||||
}
|
||||
|
||||
text = str.str();
|
||||
repaint();
|
||||
}
|
||||
catch(DriverException& ex)
|
||||
{
|
||||
std::cout << "DriverException: " << ex.what() << std::endl;
|
||||
drv.delay_ms(1000);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
try
|
||||
{
|
||||
drv.reconnect();
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
B15F::abort("yoho meine dudes");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
B15F& drv = B15F::getInstance();
|
||||
while(run_worker)
|
||||
{
|
||||
try
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
|
||||
uint8_t be0 = drv.digitalRead0();
|
||||
uint8_t be1 = drv.digitalRead1();
|
||||
uint8_t dsw = drv.readDipSwitch();
|
||||
uint16_t adc[8];
|
||||
for(uint8_t i = 0; i < sizeof(adc) / sizeof(adc[0]); i++)
|
||||
adc[i] = drv.analogRead(i);
|
||||
|
||||
|
||||
std::stringstream str;
|
||||
|
||||
// hline
|
||||
for(uint8_t i = 0; i < width - 2 * text_offset_x; i++)
|
||||
if(i % 2 == 0)
|
||||
str << "-";
|
||||
else
|
||||
str << " ";
|
||||
str << std::endl;
|
||||
|
||||
str << "Digitale Enigaenge:" << std::endl;
|
||||
str << "Binaere Eingabe 0: " << fancyDigitalString(be0) << std::endl;
|
||||
str << "Binaere Eingabe 1: " << fancyDigitalString(be1) << std::endl;
|
||||
str << "Dip Schalter (S7): " << fancyDigitalString(dsw) << std::endl;
|
||||
|
||||
// hline
|
||||
for(uint8_t i = 0; i < width - 2 * text_offset_x; i++)
|
||||
if(i % 2 == 0)
|
||||
str << "-";
|
||||
else
|
||||
str << " ";
|
||||
str << std::endl;
|
||||
|
||||
str << "Analoge Eingaenge:" << std::endl;
|
||||
for(uint8_t i = 0; i < sizeof(adc) / sizeof(adc[0]); i++)
|
||||
{
|
||||
str << "Kanal " << std::to_string((int) i) << ": ";
|
||||
str << fancyAnalogString(adc[i]) << std::endl;
|
||||
}
|
||||
|
||||
text = str.str();
|
||||
repaint();
|
||||
}
|
||||
catch(DriverException& ex)
|
||||
{
|
||||
std::cout << "DriverException: " << ex.what() << std::endl;
|
||||
drv.delay_ms(1000);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
try
|
||||
{
|
||||
drv.reconnect();
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
B15F::abort("yoho meine dudes");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,22 +8,24 @@
|
|||
#include "view_info.h"
|
||||
#include "../drv/b15f.h"
|
||||
|
||||
/*! View to display all B15 inputs. */
|
||||
|
||||
class ViewMonitor : public ViewInfo
|
||||
{
|
||||
|
||||
|
||||
public:
|
||||
ViewMonitor(void);
|
||||
virtual call_t keypress(int& key) override;
|
||||
ViewMonitor(void);
|
||||
virtual call_t keypress(int& key) override;
|
||||
|
||||
private:
|
||||
std::string fancyDigitalString(uint8_t& b);
|
||||
std::string fancyAnalogString(uint16_t& v);
|
||||
std::string fancyDigitalString(uint8_t& b);
|
||||
std::string fancyAnalogString(uint16_t& v);
|
||||
|
||||
protected:
|
||||
virtual void worker(void);
|
||||
volatile bool run_worker = true;
|
||||
std::thread t_worker;
|
||||
|
||||
virtual void worker(void);
|
||||
volatile bool run_worker = true;
|
||||
std::thread t_worker;
|
||||
|
||||
};
|
||||
|
||||
#endif // VIEW_MONITOR_H
|
||||
|
|
|
@ -2,120 +2,120 @@
|
|||
|
||||
void ViewPromt::draw()
|
||||
{
|
||||
curs_set(1); // show cursor
|
||||
|
||||
int li = text_offset_y;
|
||||
int ci = 0;
|
||||
for(std::string line : str_split(message + input, "\n"))
|
||||
{
|
||||
mvwprintw(win, ++li, text_offset_x, "%s", line.c_str());
|
||||
ci = line.length() + text_offset_x;
|
||||
}
|
||||
|
||||
button_offset_x = (width - label_cancel.length() - sep.length() - label_confirm.length()) / 2;
|
||||
button_offset_y = height - text_offset_y;
|
||||
|
||||
if(selection == 0)
|
||||
{
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, button_offset_y, button_offset_x, "%s", label_cancel.c_str());
|
||||
wattroff(win, A_REVERSE);
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length(), "%s", sep.c_str());
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length() + sep.length(), "%s", label_confirm.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
mvwprintw(win, button_offset_y, button_offset_x, "%s", label_cancel.c_str());
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length(), "%s", sep.c_str());
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length() + sep.length(), "%s", label_confirm.c_str());
|
||||
wattroff(win, A_REVERSE);
|
||||
}
|
||||
wmove(win, li, ci);
|
||||
curs_set(1); // show cursor
|
||||
|
||||
int li = text_offset_y;
|
||||
int ci = 0;
|
||||
for(std::string line : str_split(message + input, "\n"))
|
||||
{
|
||||
mvwprintw(win, ++li, text_offset_x, "%s", line.c_str());
|
||||
ci = line.length() + text_offset_x;
|
||||
}
|
||||
|
||||
button_offset_x = (width - label_cancel.length() - sep.length() - label_confirm.length()) / 2;
|
||||
button_offset_y = height - text_offset_y;
|
||||
|
||||
if(selection == 0)
|
||||
{
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, button_offset_y, button_offset_x, "%s", label_cancel.c_str());
|
||||
wattroff(win, A_REVERSE);
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length(), "%s", sep.c_str());
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length() + sep.length(), "%s", label_confirm.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
mvwprintw(win, button_offset_y, button_offset_x, "%s", label_cancel.c_str());
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length(), "%s", sep.c_str());
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, button_offset_y, button_offset_x + label_cancel.length() + sep.length(), "%s", label_confirm.c_str());
|
||||
wattroff(win, A_REVERSE);
|
||||
}
|
||||
wmove(win, li, ci);
|
||||
}
|
||||
|
||||
void ViewPromt::setMessage(std::string message)
|
||||
{
|
||||
this->message = message;
|
||||
this->message = message;
|
||||
}
|
||||
|
||||
void ViewPromt::setConfirm(std::string name, std::function<void(int)> call)
|
||||
{
|
||||
label_confirm = name;
|
||||
call_confirm = call;
|
||||
label_confirm = name;
|
||||
call_confirm = call;
|
||||
}
|
||||
|
||||
void ViewPromt::setCancel(std::string name, bool cancelable)
|
||||
{
|
||||
label_cancel = name;
|
||||
this->cancelable = cancelable;
|
||||
label_cancel = name;
|
||||
this->cancelable = cancelable;
|
||||
}
|
||||
|
||||
std::string ViewPromt::getInput()
|
||||
{
|
||||
return input;
|
||||
return input;
|
||||
}
|
||||
|
||||
std::function<void(int)> ViewPromt::keypress(int& key)
|
||||
{
|
||||
std::function<void(int)> ret = nullptr;
|
||||
switch(key)
|
||||
{
|
||||
case KEY_BACKSPACE:
|
||||
if(input.length())
|
||||
input.pop_back();
|
||||
break;
|
||||
case '\t':
|
||||
case KEY_LEFT:
|
||||
case KEY_RIGHT:
|
||||
selection = (selection + 1 ) % 2;
|
||||
break;
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
bool hit = false;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column_start = start_x + button_offset_x;
|
||||
size_t row_start = start_y + button_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
if(mouse_y == row_start)
|
||||
{
|
||||
if(cancelable && mouse_x >= column_start && mouse_x < column_start + label_cancel.length())
|
||||
{
|
||||
if(selection == 0 || event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
hit = true;
|
||||
selection = 0;
|
||||
}
|
||||
if(mouse_x >= column_start + label_cancel.length() + sep.length() && mouse_x < column_start + label_cancel.length() + sep.length() + label_confirm.length())
|
||||
{
|
||||
if(selection == 1 || event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
hit = true;
|
||||
selection = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!hit)
|
||||
break;
|
||||
|
||||
// fall through to next case
|
||||
[[fallthrough]];
|
||||
}
|
||||
case KEY_ENT:
|
||||
if(selection == 0) // exit
|
||||
key = -1; // do return from view
|
||||
else
|
||||
ret = call_confirm;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(key >= ' ' && key <= '~')
|
||||
input += (char) key;
|
||||
|
||||
if(key != KEY_ENT)
|
||||
{
|
||||
std::function<void(int)> ret = nullptr;
|
||||
switch(key)
|
||||
{
|
||||
case KEY_BACKSPACE:
|
||||
if(input.length())
|
||||
input.pop_back();
|
||||
break;
|
||||
case '\t':
|
||||
case KEY_LEFT:
|
||||
case KEY_RIGHT:
|
||||
selection = (selection + 1 ) % 2;
|
||||
break;
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
bool hit = false;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column_start = start_x + button_offset_x;
|
||||
size_t row_start = start_y + button_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
if(mouse_y == row_start)
|
||||
{
|
||||
if(cancelable && mouse_x >= column_start && mouse_x < column_start + label_cancel.length())
|
||||
{
|
||||
if(selection == 0 || event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
hit = true;
|
||||
selection = 0;
|
||||
}
|
||||
if(mouse_x >= column_start + label_cancel.length() + sep.length() && mouse_x < column_start + label_cancel.length() + sep.length() + label_confirm.length())
|
||||
{
|
||||
if(selection == 1 || event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
hit = true;
|
||||
selection = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!hit)
|
||||
break;
|
||||
|
||||
// fall through to next case
|
||||
[[fallthrough]];
|
||||
}
|
||||
case KEY_ENT:
|
||||
if(selection == 0) // exit
|
||||
key = -1; // do return from view
|
||||
else
|
||||
ret = call_confirm;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(key >= ' ' && key <= '~')
|
||||
input += (char) key;
|
||||
|
||||
if(key != KEY_ENT)
|
||||
repaint();
|
||||
return ret;
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -5,28 +5,30 @@
|
|||
#include <string>
|
||||
#include "view.h"
|
||||
|
||||
/*! View for basic user text input. */
|
||||
|
||||
class ViewPromt : public View
|
||||
{
|
||||
public:
|
||||
virtual void draw(void) override;
|
||||
virtual void setMessage(std::string message);
|
||||
virtual void setConfirm(std::string name, call_t call);
|
||||
virtual void setCancel(std::string name, bool cancelable);
|
||||
virtual std::string getInput(void);
|
||||
virtual call_t keypress(int& key) override;
|
||||
virtual void draw(void) override;
|
||||
virtual void setMessage(std::string message);
|
||||
virtual void setConfirm(std::string name, call_t call);
|
||||
virtual void setCancel(std::string name, bool cancelable);
|
||||
virtual std::string getInput(void);
|
||||
virtual call_t keypress(int& key) override;
|
||||
|
||||
protected:
|
||||
size_t selection = 1;
|
||||
std::string input;
|
||||
std::string message = "Input";
|
||||
std::string label_confirm = "[ OK ]";
|
||||
std::string sep = " ";
|
||||
std::string label_cancel = "[ Cancel ]";
|
||||
call_t call_confirm = nullptr;
|
||||
bool cancelable = true;
|
||||
int button_offset_x = 0, button_offset_y = 0;
|
||||
constexpr static int text_offset_x = 2;
|
||||
constexpr static int text_offset_y = 2;
|
||||
size_t selection = 1;
|
||||
std::string input;
|
||||
std::string message = "Input";
|
||||
std::string label_confirm = "[ OK ]";
|
||||
std::string sep = " ";
|
||||
std::string label_cancel = "[ Cancel ]";
|
||||
call_t call_confirm = nullptr;
|
||||
bool cancelable = true;
|
||||
int button_offset_x = 0, button_offset_y = 0;
|
||||
constexpr static int text_offset_x = 2;
|
||||
constexpr static int text_offset_y = 2;
|
||||
};
|
||||
|
||||
#endif // VIEW_PROMT_H
|
||||
|
|
|
@ -2,75 +2,75 @@
|
|||
|
||||
void ViewSelection::draw()
|
||||
{
|
||||
//curs_set(0); // hide cursor
|
||||
for(size_t i = 0; i < choices.size(); i++)
|
||||
{
|
||||
if(selection == i)
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, i + choice_offset_y, choice_offset_x, "%s", choices[i].c_str());
|
||||
if(selection == i)
|
||||
wattroff(win, A_REVERSE);
|
||||
}
|
||||
//curs_set(0); // hide cursor
|
||||
for(size_t i = 0; i < choices.size(); i++)
|
||||
{
|
||||
if(selection == i)
|
||||
wattron(win, A_REVERSE);
|
||||
mvwprintw(win, i + choice_offset_y, choice_offset_x, "%s", choices[i].c_str());
|
||||
if(selection == i)
|
||||
wattroff(win, A_REVERSE);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewSelection::addChoice(std::string name, call_t call)
|
||||
{
|
||||
choices.push_back(name);
|
||||
calls.push_back(call);
|
||||
choices.push_back(name);
|
||||
calls.push_back(call);
|
||||
}
|
||||
|
||||
call_t ViewSelection::keypress(int& key)
|
||||
{
|
||||
call_t ret = nullptr;
|
||||
switch(key)
|
||||
{
|
||||
case KEY_UP:
|
||||
do
|
||||
selection = (selection - 1 + choices.size()) % choices.size();
|
||||
while(!choices[selection].length() && choices.size());
|
||||
break;
|
||||
|
||||
case '\t':
|
||||
case KEY_DOWN:
|
||||
do
|
||||
selection = (selection + 1) % choices.size();
|
||||
while(!choices[selection].length() && choices.size());
|
||||
break;
|
||||
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
bool hit = false;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column_start = start_x + choice_offset_x;
|
||||
size_t row_start = start_y + choice_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
for(size_t i = 0; i < choices.size(); i++)
|
||||
if(choices[i].length() && mouse_y == row_start + i && mouse_x >= column_start && mouse_x < column_start + choices[i].length())
|
||||
{
|
||||
if(selection == i || event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
hit = true;
|
||||
selection = i;
|
||||
}
|
||||
}
|
||||
if(!hit)
|
||||
break;
|
||||
|
||||
// fall through to next case
|
||||
[[fallthrough]];
|
||||
}
|
||||
|
||||
case KEY_ENT:
|
||||
if(selection == choices.size() - 1) // exit
|
||||
key = -1; // do return from view
|
||||
else
|
||||
ret = calls[selection];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
repaint();
|
||||
return ret;
|
||||
call_t ret = nullptr;
|
||||
switch(key)
|
||||
{
|
||||
case KEY_UP:
|
||||
do
|
||||
selection = (selection - 1 + choices.size()) % choices.size();
|
||||
while(!choices[selection].length() && choices.size());
|
||||
break;
|
||||
|
||||
case '\t':
|
||||
case KEY_DOWN:
|
||||
do
|
||||
selection = (selection + 1) % choices.size();
|
||||
while(!choices[selection].length() && choices.size());
|
||||
break;
|
||||
|
||||
case KEY_MOUSE:
|
||||
{
|
||||
// http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel10b.shtml
|
||||
MEVENT event;
|
||||
bool hit = false;
|
||||
if(getmouse(&event) == OK && event.bstate & (BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED))
|
||||
{
|
||||
size_t column_start = start_x + choice_offset_x;
|
||||
size_t row_start = start_y + choice_offset_y;
|
||||
size_t mouse_x = event.x, mouse_y = event.y;
|
||||
for(size_t i = 0; i < choices.size(); i++)
|
||||
if(choices[i].length() && mouse_y == row_start + i && mouse_x >= column_start && mouse_x < column_start + choices[i].length())
|
||||
{
|
||||
if(selection == i || event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
hit = true;
|
||||
selection = i;
|
||||
}
|
||||
}
|
||||
if(!hit)
|
||||
break;
|
||||
|
||||
// fall through to next case
|
||||
[[fallthrough]];
|
||||
}
|
||||
|
||||
case KEY_ENT:
|
||||
if(selection == choices.size() - 1) // exit
|
||||
key = -1; // do return from view
|
||||
else
|
||||
ret = calls[selection];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
repaint();
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -5,20 +5,22 @@
|
|||
#include <string>
|
||||
#include "view.h"
|
||||
|
||||
/*! View for user selection input. */
|
||||
|
||||
class ViewSelection : public View
|
||||
{
|
||||
public:
|
||||
virtual void draw(void) override;
|
||||
virtual void addChoice(std::string name, call_t call);
|
||||
virtual call_t keypress(int& key) override;
|
||||
|
||||
virtual void draw(void) override;
|
||||
virtual void addChoice(std::string name, call_t call);
|
||||
virtual call_t keypress(int& key) override;
|
||||
|
||||
|
||||
protected:
|
||||
size_t selection = 0;
|
||||
std::vector<std::string> choices;
|
||||
|
||||
constexpr static int choice_offset_x = 2;
|
||||
constexpr static int choice_offset_y = 3;
|
||||
size_t selection = 0;
|
||||
std::vector<std::string> choices;
|
||||
|
||||
constexpr static int choice_offset_x = 2;
|
||||
constexpr static int choice_offset_y = 3;
|
||||
};
|
||||
|
||||
#endif // VIEW_SELECTION_H
|
||||
|
|
1219
docs/atmegaiom1284p.h
Normal file
1219
docs/atmegaiom1284p.h
Normal file
File diff suppressed because it is too large
Load diff
81
docs/html/CMakeCCompilerId_8c_source.html
Normal file
81
docs/html/CMakeCCompilerId_8c_source.html
Normal file
File diff suppressed because one or more lines are too long
81
docs/html/CMakeCXXCompilerId_8cpp_source.html
Normal file
81
docs/html/CMakeCXXCompilerId_8cpp_source.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -85,7 +85,7 @@ $(function() {
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
83
docs/html/backup_8cpp_source.html
Normal file
83
docs/html/backup_8cpp_source.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -74,9 +74,9 @@ $(function() {
|
|||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#ad9bf80ee2485fb5aac9926c6ef0731f1">activateSelfTestMode</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627">analogRead</a>(uint8_t channel)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#ab82a324426c3063318c6cafb3089ae02">analogSequence</a>(uint8_t channel_a, uint16_t *buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t *buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a5c5583d591afdd3f9501856c6b0ba3e3">analogWrite0</a>(uint16_t)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a63d67795879cdc0b035c9c970e7d6fc3">analogWrite1</a>(uint16_t)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>BAUDRATE</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#afc55fd590c7fa5c942d100cb60c4b0d3">analogWrite0</a>(uint16_t port)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a7f1becceac744f5cd2ad529748fd836f">analogWrite1</a>(uint16_t port)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a7d548d6861cfc69753161bf9cda14f87">BAUDRATE</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#aaffce20afb9f06bc4b7556c70ce76416">delay_ms</a>(uint16_t ms)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#adcaac8ae8db3c28eccb499fbd720361f">delay_us</a>(uint16_t us)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#ae0df6d423deeb2fd610968bd1c72060e">digitalRead0</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
|
@ -87,21 +87,25 @@ $(function() {
|
|||
<tr><td class="entry"><a class="el" href="classB15F.html#a1a7ac52984ed7ecac008a3e4060eee3a">exec</a>(std::string cmd)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a4f01677e73d6d172a2c1cae9427a591b">getBoardInfo</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">getInstance</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MSG_FAIL</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>MSG_OK</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PRE</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">readDipSwitch</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a52557b375443c180a044e7d4e80a1ae7">reconnect</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>RECONNECT_TIMEOUT</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RECONNECT_TRIES</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a55b0cd1ea582bda53d6979442640f8e9">setAbortHandler</a>(errorhandler_t func)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a9bd47da39928af6f51075bdc3fe73ddc">getRegister</a>(volatile uint8_t *adr)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e">MSG_FAIL</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#ab01299858f74a6cec598688562e0ad02">MSG_OK</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec">PRE</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1">pwmSetFrequency</a>(uint32_t freq)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#af9aad3c0db5d5a8b37219d713e1977ee">pwmSetValue</a>(uint8_t value)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">readDipSwitch</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a52557b375443c180a044e7d4e80a1ae7">reconnect</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a040951746fbfd632e12bd1ad14578816">RECONNECT_TIMEOUT</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc">RECONNECT_TRIES</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a55b0cd1ea582bda53d6979442640f8e9">setAbortHandler</a>(errorhandler_t func)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#ab446ecffab28d4515dfade79a8efc93d">setRegister</a>(volatile uint8_t *adr, uint8_t val)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#af01983594f2af98ab2b1e514aa036a5d">testConnection</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classB15F.html#a7b8a0e2a9156f7dcb05d097f23666a78">testIntConv</a>(void)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>WDT_TIMEOUT</b> (defined in <a class="el" href="classB15F.html">B15F</a>)</td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classB15F.html#a158d13bc84aed6430cdede1396384e06">WDT_TIMEOUT</a></td><td class="entry"><a class="el" href="classB15F.html">B15F</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -72,6 +72,8 @@ $(function() {
|
|||
<div class="title">B15F Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><code>#include <<a class="el" href="b15f_8h_source.html">b15f.h</a>></code></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
|
@ -101,14 +103,22 @@ Public Member Functions</h2></td></tr>
|
|||
<tr class="separator:afc76b612dd4faeee0ac02a66b65af5f2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6f858f21ea81d491b5031b3644a2239a"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">readDipSwitch</a> (void)</td></tr>
|
||||
<tr class="separator:a6f858f21ea81d491b5031b3644a2239a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5c5583d591afdd3f9501856c6b0ba3e3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a5c5583d591afdd3f9501856c6b0ba3e3">analogWrite0</a> (uint16_t)</td></tr>
|
||||
<tr class="separator:a5c5583d591afdd3f9501856c6b0ba3e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a63d67795879cdc0b035c9c970e7d6fc3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a63d67795879cdc0b035c9c970e7d6fc3">analogWrite1</a> (uint16_t)</td></tr>
|
||||
<tr class="separator:a63d67795879cdc0b035c9c970e7d6fc3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afc55fd590c7fa5c942d100cb60c4b0d3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#afc55fd590c7fa5c942d100cb60c4b0d3">analogWrite0</a> (uint16_t port)</td></tr>
|
||||
<tr class="separator:afc55fd590c7fa5c942d100cb60c4b0d3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7f1becceac744f5cd2ad529748fd836f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a7f1becceac744f5cd2ad529748fd836f">analogWrite1</a> (uint16_t port)</td></tr>
|
||||
<tr class="separator:a7f1becceac744f5cd2ad529748fd836f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae0bd1f69751e2dc3c462db9213fc4627"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627">analogRead</a> (uint8_t channel)</td></tr>
|
||||
<tr class="separator:ae0bd1f69751e2dc3c462db9213fc4627"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab82a324426c3063318c6cafb3089ae02"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#ab82a324426c3063318c6cafb3089ae02">analogSequence</a> (uint8_t channel_a, uint16_t *buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t *buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count)</td></tr>
|
||||
<tr class="separator:ab82a324426c3063318c6cafb3089ae02"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac6f6532bb9550a0632c28b98c157d0a1"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1">pwmSetFrequency</a> (uint32_t freq)</td></tr>
|
||||
<tr class="separator:ac6f6532bb9550a0632c28b98c157d0a1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af9aad3c0db5d5a8b37219d713e1977ee"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#af9aad3c0db5d5a8b37219d713e1977ee">pwmSetValue</a> (uint8_t value)</td></tr>
|
||||
<tr class="separator:af9aad3c0db5d5a8b37219d713e1977ee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab446ecffab28d4515dfade79a8efc93d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#ab446ecffab28d4515dfade79a8efc93d">setRegister</a> (volatile uint8_t *adr, uint8_t val)</td></tr>
|
||||
<tr class="separator:ab446ecffab28d4515dfade79a8efc93d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9bd47da39928af6f51075bdc3fe73ddc"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a9bd47da39928af6f51075bdc3fe73ddc">getRegister</a> (volatile uint8_t *adr)</td></tr>
|
||||
<tr class="separator:a9bd47da39928af6f51075bdc3fe73ddc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
||||
Static Public Member Functions</h2></td></tr>
|
||||
|
@ -126,33 +136,41 @@ Static Public Member Functions</h2></td></tr>
|
|||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
||||
Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:a3b0fc1f85954b2d9c145af4a3af5b1ec"><td class="memItemLeft" align="right" valign="top"><a id="a3b0fc1f85954b2d9c145af4a3af5b1ec"></a>
|
||||
const std::string </td><td class="memItemRight" valign="bottom"><b>PRE</b> = "[B15F] "</td></tr>
|
||||
const std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec">PRE</a> = "[B15F] "</td></tr>
|
||||
<tr class="memdesc:a3b0fc1f85954b2d9c145af4a3af5b1ec"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classB15F.html">B15F</a> stdout prefix. <br /></td></tr>
|
||||
<tr class="separator:a3b0fc1f85954b2d9c145af4a3af5b1ec"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
||||
Static Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:ab01299858f74a6cec598688562e0ad02"><td class="memItemLeft" align="right" valign="top"><a id="ab01299858f74a6cec598688562e0ad02"></a>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>MSG_OK</b> = 0xFF</td></tr>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#ab01299858f74a6cec598688562e0ad02">MSG_OK</a> = 0xFF</td></tr>
|
||||
<tr class="memdesc:ab01299858f74a6cec598688562e0ad02"><td class="mdescLeft"> </td><td class="mdescRight">Value to acknowledge a received command. <br /></td></tr>
|
||||
<tr class="separator:ab01299858f74a6cec598688562e0ad02"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a77d1ecf24b406c9204665d3b09c36f1e"><td class="memItemLeft" align="right" valign="top"><a id="a77d1ecf24b406c9204665d3b09c36f1e"></a>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>MSG_FAIL</b> = 0xFE</td></tr>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e">MSG_FAIL</a> = 0xFE</td></tr>
|
||||
<tr class="memdesc:a77d1ecf24b406c9204665d3b09c36f1e"><td class="mdescLeft"> </td><td class="mdescRight">Value to reject a received command. <br /></td></tr>
|
||||
<tr class="separator:a77d1ecf24b406c9204665d3b09c36f1e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a040951746fbfd632e12bd1ad14578816"><td class="memItemLeft" align="right" valign="top"><a id="a040951746fbfd632e12bd1ad14578816"></a>
|
||||
constexpr static uint16_t </td><td class="memItemRight" valign="bottom"><b>RECONNECT_TIMEOUT</b> = 64</td></tr>
|
||||
constexpr static uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a040951746fbfd632e12bd1ad14578816">RECONNECT_TIMEOUT</a> = 64</td></tr>
|
||||
<tr class="memdesc:a040951746fbfd632e12bd1ad14578816"><td class="mdescLeft"> </td><td class="mdescRight">Time in ms after which a reconnect attempt aborts. <br /></td></tr>
|
||||
<tr class="separator:a040951746fbfd632e12bd1ad14578816"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a158d13bc84aed6430cdede1396384e06"><td class="memItemLeft" align="right" valign="top"><a id="a158d13bc84aed6430cdede1396384e06"></a>
|
||||
constexpr static uint16_t </td><td class="memItemRight" valign="bottom"><b>WDT_TIMEOUT</b> = 15</td></tr>
|
||||
constexpr static uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a158d13bc84aed6430cdede1396384e06">WDT_TIMEOUT</a> = 15</td></tr>
|
||||
<tr class="memdesc:a158d13bc84aed6430cdede1396384e06"><td class="mdescLeft"> </td><td class="mdescRight">Time in ms after which the watch dog timer resets the MCU. <br /></td></tr>
|
||||
<tr class="separator:a158d13bc84aed6430cdede1396384e06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6c4895bdbcd71ff6743becf97985c2dc"><td class="memItemLeft" align="right" valign="top"><a id="a6c4895bdbcd71ff6743becf97985c2dc"></a>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>RECONNECT_TRIES</b> = 3</td></tr>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc">RECONNECT_TRIES</a> = 3</td></tr>
|
||||
<tr class="memdesc:a6c4895bdbcd71ff6743becf97985c2dc"><td class="mdescLeft"> </td><td class="mdescRight">Maximum count of reconnect attempts after which the driver stops. <br /></td></tr>
|
||||
<tr class="separator:a6c4895bdbcd71ff6743becf97985c2dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7d548d6861cfc69753161bf9cda14f87"><td class="memItemLeft" align="right" valign="top"><a id="a7d548d6861cfc69753161bf9cda14f87"></a>
|
||||
constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>BAUDRATE</b> = 57600</td></tr>
|
||||
constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classB15F.html#a7d548d6861cfc69753161bf9cda14f87">BAUDRATE</a> = 57600</td></tr>
|
||||
<tr class="memdesc:a7d548d6861cfc69753161bf9cda14f87"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classUSART.html">USART</a> baudrate for communication with the MCU. <br /></td></tr>
|
||||
<tr class="separator:a7d548d6861cfc69753161bf9cda14f87"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8h_source.html#l00024">24</a> of file <a class="el" href="b15f_8h_source.html">b15f.h</a>.</p>
|
||||
<div class="textblock"><p>main driver class </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8h_source.html#l00031">31</a> of file <a class="el" href="b15f_8h_source.html">b15f.h</a>.</p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="ac962a6a49bddd0e261a8c7d3aded23f8"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac962a6a49bddd0e261a8c7d3aded23f8">◆ </a></span>abort() <span class="overload">[1/2]</span></h2>
|
||||
|
@ -184,7 +202,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00327">327</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00473">473</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -218,7 +236,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00322">322</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00467">467</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -244,7 +262,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00144">144</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00166">166</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -276,7 +294,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00219">219</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00279">279</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -368,12 +386,12 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00241">241</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00302">302</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a5c5583d591afdd3f9501856c6b0ba3e3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5c5583d591afdd3f9501856c6b0ba3e3">◆ </a></span>analogWrite0()</h2>
|
||||
<a id="afc55fd590c7fa5c942d100cb60c4b0d3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#afc55fd590c7fa5c942d100cb60c4b0d3">◆ </a></span>analogWrite0()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
|
@ -382,7 +400,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
<td class="memname">bool B15F::analogWrite0 </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>value</em></td><td>)</td>
|
||||
<td class="paramname"><em>port</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -400,12 +418,12 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00199">199</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00249">249</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a63d67795879cdc0b035c9c970e7d6fc3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a63d67795879cdc0b035c9c970e7d6fc3">◆ </a></span>analogWrite1()</h2>
|
||||
<a id="a7f1becceac744f5cd2ad529748fd836f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a7f1becceac744f5cd2ad529748fd836f">◆ </a></span>analogWrite1()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
|
@ -414,7 +432,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
<td class="memname">bool B15F::analogWrite1 </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>value</em></td><td>)</td>
|
||||
<td class="paramname"><em>port</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -432,7 +450,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00209">209</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00264">264</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -458,7 +476,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00290">290</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00432">432</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -484,7 +502,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00295">295</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00437">437</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -511,7 +529,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00172">172</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00207">207</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -538,7 +556,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00181">181</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00221">221</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -570,7 +588,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00152">152</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00179">179</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -602,7 +620,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00162">162</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00193">193</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -662,7 +680,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00309">309</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00451">451</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -688,7 +706,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00118">118</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00134">134</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -722,7 +740,104 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00300">300</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00442">442</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a9bd47da39928af6f51075bdc3fe73ddc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a9bd47da39928af6f51075bdc3fe73ddc">◆ </a></span>getRegister()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t B15F::getRegister </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">volatile uint8_t * </td>
|
||||
<td class="paramname"><em>adr</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Liefert den Wert eines MCU Registers. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">adr</td><td>Speicheradresse des Registers </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classDriverException.html">DriverException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00414">414</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac6f6532bb9550a0632c28b98c157d0a1"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac6f6532bb9550a0632c28b98c157d0a1">◆ </a></span>pwmSetFrequency()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t B15F::pwmSetFrequency </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint32_t </td>
|
||||
<td class="paramname"><em>freq</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Setzt die Register so, dass näherungsweise die gewünschte Frequenz erzeugt wird. Ist freq == 0 wird PWM deaktiviert. Standardfrequenz: 31300 (empfohlen, da dann TOP == 255) </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">freq</td><td>PWM Frequenz </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Top Wert des PWM Value für die gesetzte Frequenz </dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classDriverException.html">DriverException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00359">359</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af9aad3c0db5d5a8b37219d713e1977ee"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af9aad3c0db5d5a8b37219d713e1977ee">◆ </a></span>pwmSetValue()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool B15F::pwmSetValue </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>value</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Setzt den PWM Wert. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">value</td><td>PWM Wert [0..0xFF] </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classDriverException.html">DriverException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00379">379</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -749,7 +864,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00190">190</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00235">235</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -809,7 +924,50 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00339">339</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00485">485</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ab446ecffab28d4515dfade79a8efc93d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab446ecffab28d4515dfade79a8efc93d">◆ </a></span>setRegister()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool B15F::setRegister </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">volatile uint8_t * </td>
|
||||
<td class="paramname"><em>adr</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>val</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Setzt direkt den Wert eines MCU Registers. <em>Wichtig:</em> bei einer falschen Adresse kann das Board 15 ernsthaften Schaden nehmen! </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">adr</td><td>Speicheradresse des Registers </td></tr>
|
||||
<tr><td class="paramname">val</td><td>Neuer Wert für das Register </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classDriverException.html">DriverException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00396">396</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -835,7 +993,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00090">90</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00095">95</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -861,7 +1019,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00105">105</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00114">114</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -872,7 +1030,7 @@ constexpr static uint32_t </td><td class="memItemRight" valign="bottom"><b>
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,14 +69,14 @@ $(function() {
|
|||
|
||||
<p>This is the complete list of members for <a class="el" href="classDot.html">Dot</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Dot</b>(uint16_t x, uint16_t y, uint8_t curve) (defined in <a class="el" href="classDot.html">Dot</a>)</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getCurve</b>(void) const (defined in <a class="el" href="classDot.html">Dot</a>)</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getX</b>(void) const (defined in <a class="el" href="classDot.html">Dot</a>)</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getY</b>(void) const (defined in <a class="el" href="classDot.html">Dot</a>)</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot</a>(uint16_t x, uint16_t y, uint8_t curve)</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">getCurve</a>(void) const</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classDot.html#a029f0cc99c474122b77a708a317e7f77">getX</a>(void) const</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">getY</a>(void) const</td><td class="entry"><a class="el" href="classDot.html">Dot</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,33 +69,134 @@ $(function() {
|
|||
<div class="title">Dot Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><code>#include <<a class="el" href="dot_8h_source.html">dot.h</a>></code></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ad975f119c0627a928790b3cd5ca6da05"><td class="memItemLeft" align="right" valign="top"><a id="ad975f119c0627a928790b3cd5ca6da05"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Dot</b> (uint16_t x, uint16_t y, uint8_t curve)</td></tr>
|
||||
<tr class="memitem:ad975f119c0627a928790b3cd5ca6da05"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot</a> (uint16_t x, uint16_t y, uint8_t curve)</td></tr>
|
||||
<tr class="separator:ad975f119c0627a928790b3cd5ca6da05"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a029f0cc99c474122b77a708a317e7f77"><td class="memItemLeft" align="right" valign="top"><a id="a029f0cc99c474122b77a708a317e7f77"></a>
|
||||
uint16_t </td><td class="memItemRight" valign="bottom"><b>getX</b> (void) const</td></tr>
|
||||
<tr class="memitem:a029f0cc99c474122b77a708a317e7f77"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classDot.html#a029f0cc99c474122b77a708a317e7f77">getX</a> (void) const</td></tr>
|
||||
<tr class="separator:a029f0cc99c474122b77a708a317e7f77"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8fcb987e6308d8184d1a2c8692227e58"><td class="memItemLeft" align="right" valign="top"><a id="a8fcb987e6308d8184d1a2c8692227e58"></a>
|
||||
uint16_t </td><td class="memItemRight" valign="bottom"><b>getY</b> (void) const</td></tr>
|
||||
<tr class="memitem:a8fcb987e6308d8184d1a2c8692227e58"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">getY</a> (void) const</td></tr>
|
||||
<tr class="separator:a8fcb987e6308d8184d1a2c8692227e58"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad0ae7dc1a9be3d8d985affc089b34396"><td class="memItemLeft" align="right" valign="top"><a id="ad0ae7dc1a9be3d8d985affc089b34396"></a>
|
||||
uint8_t </td><td class="memItemRight" valign="bottom"><b>getCurve</b> (void) const</td></tr>
|
||||
<tr class="memitem:ad0ae7dc1a9be3d8d985affc089b34396"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">getCurve</a> (void) const</td></tr>
|
||||
<tr class="separator:ad0ae7dc1a9be3d8d985affc089b34396"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="dot_8h_source.html#l00007">7</a> of file <a class="el" href="dot_8h_source.html">dot.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<div class="textblock"><p>Immutable dot class with x and y coordinate and curve index. Dots with the same curve index get the same color by plotty. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="dot_8h_source.html#l00012">12</a> of file <a class="el" href="dot_8h_source.html">dot.h</a>.</p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="ad975f119c0627a928790b3cd5ca6da05"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad975f119c0627a928790b3cd5ca6da05">◆ </a></span>Dot()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Dot::Dot </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>x</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>y</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>curve</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Constructor with x and y coordinate and curve index. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="dot_8cpp_source.html#l00003">3</a> of file <a class="el" href="dot_8cpp_source.html">dot.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="ad0ae7dc1a9be3d8d985affc089b34396"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad0ae7dc1a9be3d8d985affc089b34396">◆ </a></span>getCurve()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t Dot::getCurve </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the curve index. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="dot_8cpp_source.html#l00019">19</a> of file <a class="el" href="dot_8cpp_source.html">dot.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a029f0cc99c474122b77a708a317e7f77"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a029f0cc99c474122b77a708a317e7f77">◆ </a></span>getX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t Dot::getX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the x coordinate. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="dot_8cpp_source.html#l00009">9</a> of file <a class="el" href="dot_8cpp_source.html">dot.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8fcb987e6308d8184d1a2c8692227e58"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8fcb987e6308d8184d1a2c8692227e58">◆ </a></span>getY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t Dot::getY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the y coordinate. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="dot_8cpp_source.html#l00014">14</a> of file <a class="el" href="dot_8cpp_source.html">dot.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>drv/<a class="el" href="dot_8h_source.html">dot.h</a></li>
|
||||
<li>drv/<a class="el" href="dot_8cpp_source.html">dot.cpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -77,7 +77,7 @@ $(function() {
|
|||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -70,9 +70,13 @@ $(function() {
|
|||
<div class="title">DriverException Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for DriverException:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="driverexception_8h_source.html">driverexception.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for DriverException:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classDriverException.png" alt=""/>
|
||||
</div></div>
|
||||
|
@ -96,15 +100,16 @@ std::string </td><td class="memItemRight" valign="bottom"><b>msg_</b></td><
|
|||
<tr class="separator:ab8777afe3f5aed2e66f2b2fcb480a651"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="driverexception_8h_source.html#l00008">8</a> of file <a class="el" href="driverexception_8h_source.html">driverexception.h</a>.</p>
|
||||
<div class="textblock"><p>Exception driver problems, for instance incompatible firmware version. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="driverexception_8h_source.html#l00010">10</a> of file <a class="el" href="driverexception_8h_source.html">driverexception.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>drv/<a class="el" href="driverexception_8h_source.html">driverexception.h</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,38 +69,38 @@ $(function() {
|
|||
|
||||
<p>This is the complete list of members for <a class="el" href="classPlottyFile.html">PlottyFile</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addDot</b>(Dot &dot) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>addDot</b>(Dot dot) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getDescPara</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getDescX</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getDescY</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getFunctionType</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getParaFirstCurve</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getParaStepWidth</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getQuadrant</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getRefX</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getRefY</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getUnitPara</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getUnitX</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>getUnitY</b>(void) const (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDescPara</b>(std::string) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setDescX</b>(std::string) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDescY</b>(std::string) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setFunctionType</b>(FunctionType) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setParaFirstCurve</b>(uint16_t) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setParaStepWidth</b>(uint16_t) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setQuadrant</b>(uint8_t) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setRefX</b>(uint16_t) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setRefY</b>(uint16_t) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setUnitPara</b>(std::string) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setUnitX</b>(std::string) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setUnitY</b>(std::string) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>startPlotty</b>(std::string filename) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>writeToFile</b>(std::string filename) (defined in <a class="el" href="classPlottyFile.html">PlottyFile</a>)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#ae091e6eaaca16302f17572ac7dec6f7c">addDot</a>(Dot &dot)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a80e4b45219b4e9571992edfc28a28568">addDot</a>(Dot dot)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a536967daae3b382a5d6575f55450e198">getDescPara</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a9cf7baa569be308c2cf6e07cadded09d">getDescX</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#ab4a847fd71a804182f211233e194df45">getDescY</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a88bb7d8350ed5fbc7a40e8d903c94bdb">getFunctionType</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a40828c93d66fe80166c4f603d5bdfa48">getParaFirstCurve</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a9da23f2bb8e6eb1837fc992ffd4057db">getParaStepWidth</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a54e94e80061a27614f2d4d63697d3376">getQuadrant</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a7dd84b9f0826f3220fc6b5a4f1ce9890">getRefX</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#ae6650c61a3b1a610ce716253418bd7f2">getRefY</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#abcda4139adf8c5ab8a93b13b84ac097c">getUnitPara</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3">getUnitX</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a746b96036872dbece204e9739f3413b6">getUnitY</a>(void) const</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab">setDescPara</a>(std::string desc_para)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a">setDescX</a>(std::string desc_x)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590">setDescY</a>(std::string desc_y)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f">setFunctionType</a>(FunctionType function_type)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#aa676414793becb975506f48d6e949dd0">setParaFirstCurve</a>(uint16_t para_first)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a6caebd31e04e2e7081cc007047350355">setParaStepWidth</a>(uint16_t para_stepwidth)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a1953ee0d9a87b7353c16139584e9c2ae">setQuadrant</a>(uint8_t quadrant)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a80c2c2e97a454566f9c1f2c51e1d7f3e">setRefX</a>(uint16_t ref_x)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a3a371228ddcc007e97eebe7cc04dffc2">setRefY</a>(uint16_t ref_y)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986">setUnitPara</a>(std::string unit_para)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#ab8d35a841ca9c325fca671cf34e03527">setUnitX</a>(std::string unit_x)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#abb18c814f435926f741f7ceb310f3059">setUnitY</a>(std::string unit_y)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classPlottyFile.html#a08a115ef10458cadfe76077d623313df">startPlotty</a>(std::string filename)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305">writeToFile</a>(std::string filename)</td><td class="entry"><a class="el" href="classPlottyFile.html">PlottyFile</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,105 +69,749 @@ $(function() {
|
|||
<div class="title">PlottyFile Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><code>#include <<a class="el" href="plottyfile_8h_source.html">plottyfile.h</a>></code></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ae091e6eaaca16302f17572ac7dec6f7c"><td class="memItemLeft" align="right" valign="top"><a id="ae091e6eaaca16302f17572ac7dec6f7c"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>addDot</b> (<a class="el" href="classDot.html">Dot</a> &dot)</td></tr>
|
||||
<tr class="memitem:ae091e6eaaca16302f17572ac7dec6f7c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#ae091e6eaaca16302f17572ac7dec6f7c">addDot</a> (<a class="el" href="classDot.html">Dot</a> &dot)</td></tr>
|
||||
<tr class="separator:ae091e6eaaca16302f17572ac7dec6f7c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a80e4b45219b4e9571992edfc28a28568"><td class="memItemLeft" align="right" valign="top"><a id="a80e4b45219b4e9571992edfc28a28568"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>addDot</b> (<a class="el" href="classDot.html">Dot</a> dot)</td></tr>
|
||||
<tr class="memitem:a80e4b45219b4e9571992edfc28a28568"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a80e4b45219b4e9571992edfc28a28568">addDot</a> (<a class="el" href="classDot.html">Dot</a> dot)</td></tr>
|
||||
<tr class="separator:a80e4b45219b4e9571992edfc28a28568"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a189d8cfd0ae81a62ecf620279e07b966"><td class="memItemLeft" align="right" valign="top"><a id="a189d8cfd0ae81a62ecf620279e07b966"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setFunctionType</b> (FunctionType)</td></tr>
|
||||
<tr class="separator:a189d8cfd0ae81a62ecf620279e07b966"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad7cc60f268d34bbb5d672a4171c75604"><td class="memItemLeft" align="right" valign="top"><a id="ad7cc60f268d34bbb5d672a4171c75604"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setQuadrant</b> (uint8_t)</td></tr>
|
||||
<tr class="separator:ad7cc60f268d34bbb5d672a4171c75604"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afc019b323200923c2f02f9156fd29e6a"><td class="memItemLeft" align="right" valign="top"><a id="afc019b323200923c2f02f9156fd29e6a"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setRefX</b> (uint16_t)</td></tr>
|
||||
<tr class="separator:afc019b323200923c2f02f9156fd29e6a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aff7a9b1fa247588e1740e719ea19222f"><td class="memItemLeft" align="right" valign="top"><a id="aff7a9b1fa247588e1740e719ea19222f"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setRefY</b> (uint16_t)</td></tr>
|
||||
<tr class="separator:aff7a9b1fa247588e1740e719ea19222f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae24cfd5c953e7726f6140a65c989a635"><td class="memItemLeft" align="right" valign="top"><a id="ae24cfd5c953e7726f6140a65c989a635"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setParaFirstCurve</b> (uint16_t)</td></tr>
|
||||
<tr class="separator:ae24cfd5c953e7726f6140a65c989a635"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5bba6acb78ae3fbbf35375c063690b6e"><td class="memItemLeft" align="right" valign="top"><a id="a5bba6acb78ae3fbbf35375c063690b6e"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setParaStepWidth</b> (uint16_t)</td></tr>
|
||||
<tr class="separator:a5bba6acb78ae3fbbf35375c063690b6e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a040a05b4f606c7bf904be149c039452f"><td class="memItemLeft" align="right" valign="top"><a id="a040a05b4f606c7bf904be149c039452f"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setUnitX</b> (std::string)</td></tr>
|
||||
<tr class="separator:a040a05b4f606c7bf904be149c039452f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ada0b074e2248b1a710d5df33ebfbc8d1"><td class="memItemLeft" align="right" valign="top"><a id="ada0b074e2248b1a710d5df33ebfbc8d1"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setDescX</b> (std::string)</td></tr>
|
||||
<tr class="separator:ada0b074e2248b1a710d5df33ebfbc8d1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7b41356b1d3fac9f864785f70cbf9c57"><td class="memItemLeft" align="right" valign="top"><a id="a7b41356b1d3fac9f864785f70cbf9c57"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setUnitY</b> (std::string)</td></tr>
|
||||
<tr class="separator:a7b41356b1d3fac9f864785f70cbf9c57"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9249d341c81f6c3b8dd02ba2459e6507"><td class="memItemLeft" align="right" valign="top"><a id="a9249d341c81f6c3b8dd02ba2459e6507"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setDescY</b> (std::string)</td></tr>
|
||||
<tr class="separator:a9249d341c81f6c3b8dd02ba2459e6507"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a35bf02fb23f01ba0a1c3f480b69ed46d"><td class="memItemLeft" align="right" valign="top"><a id="a35bf02fb23f01ba0a1c3f480b69ed46d"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setUnitPara</b> (std::string)</td></tr>
|
||||
<tr class="separator:a35bf02fb23f01ba0a1c3f480b69ed46d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af617e3a349f18368e216c977da4017bc"><td class="memItemLeft" align="right" valign="top"><a id="af617e3a349f18368e216c977da4017bc"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>setDescPara</b> (std::string)</td></tr>
|
||||
<tr class="separator:af617e3a349f18368e216c977da4017bc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a88bb7d8350ed5fbc7a40e8d903c94bdb"><td class="memItemLeft" align="right" valign="top"><a id="a88bb7d8350ed5fbc7a40e8d903c94bdb"></a>
|
||||
FunctionType </td><td class="memItemRight" valign="bottom"><b>getFunctionType</b> (void) const</td></tr>
|
||||
<tr class="memitem:a4e5ab1ebb012a5cc1a3d6458a4cd512f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f">setFunctionType</a> (FunctionType function_type)</td></tr>
|
||||
<tr class="separator:a4e5ab1ebb012a5cc1a3d6458a4cd512f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1953ee0d9a87b7353c16139584e9c2ae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a1953ee0d9a87b7353c16139584e9c2ae">setQuadrant</a> (uint8_t quadrant)</td></tr>
|
||||
<tr class="separator:a1953ee0d9a87b7353c16139584e9c2ae"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a80c2c2e97a454566f9c1f2c51e1d7f3e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a80c2c2e97a454566f9c1f2c51e1d7f3e">setRefX</a> (uint16_t ref_x)</td></tr>
|
||||
<tr class="separator:a80c2c2e97a454566f9c1f2c51e1d7f3e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3a371228ddcc007e97eebe7cc04dffc2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a3a371228ddcc007e97eebe7cc04dffc2">setRefY</a> (uint16_t ref_y)</td></tr>
|
||||
<tr class="separator:a3a371228ddcc007e97eebe7cc04dffc2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa676414793becb975506f48d6e949dd0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#aa676414793becb975506f48d6e949dd0">setParaFirstCurve</a> (uint16_t para_first)</td></tr>
|
||||
<tr class="separator:aa676414793becb975506f48d6e949dd0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6caebd31e04e2e7081cc007047350355"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a6caebd31e04e2e7081cc007047350355">setParaStepWidth</a> (uint16_t para_stepwidth)</td></tr>
|
||||
<tr class="separator:a6caebd31e04e2e7081cc007047350355"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab8d35a841ca9c325fca671cf34e03527"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#ab8d35a841ca9c325fca671cf34e03527">setUnitX</a> (std::string unit_x)</td></tr>
|
||||
<tr class="separator:ab8d35a841ca9c325fca671cf34e03527"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa0449c290265d55d6223b19cf0a88b0a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a">setDescX</a> (std::string desc_x)</td></tr>
|
||||
<tr class="separator:aa0449c290265d55d6223b19cf0a88b0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abb18c814f435926f741f7ceb310f3059"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#abb18c814f435926f741f7ceb310f3059">setUnitY</a> (std::string unit_y)</td></tr>
|
||||
<tr class="separator:abb18c814f435926f741f7ceb310f3059"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a38a3a4dfc76bc70523727584bf01d590"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590">setDescY</a> (std::string desc_y)</td></tr>
|
||||
<tr class="separator:a38a3a4dfc76bc70523727584bf01d590"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abbac84109a1e0958a4ca5c270fac0986"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986">setUnitPara</a> (std::string unit_para)</td></tr>
|
||||
<tr class="separator:abbac84109a1e0958a4ca5c270fac0986"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a431904143c3c1164a2e8b8cfec3c77ab"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab">setDescPara</a> (std::string desc_para)</td></tr>
|
||||
<tr class="separator:a431904143c3c1164a2e8b8cfec3c77ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a88bb7d8350ed5fbc7a40e8d903c94bdb"><td class="memItemLeft" align="right" valign="top">FunctionType </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a88bb7d8350ed5fbc7a40e8d903c94bdb">getFunctionType</a> (void) const</td></tr>
|
||||
<tr class="separator:a88bb7d8350ed5fbc7a40e8d903c94bdb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a54e94e80061a27614f2d4d63697d3376"><td class="memItemLeft" align="right" valign="top"><a id="a54e94e80061a27614f2d4d63697d3376"></a>
|
||||
uint8_t </td><td class="memItemRight" valign="bottom"><b>getQuadrant</b> (void) const</td></tr>
|
||||
<tr class="memitem:a54e94e80061a27614f2d4d63697d3376"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a54e94e80061a27614f2d4d63697d3376">getQuadrant</a> (void) const</td></tr>
|
||||
<tr class="separator:a54e94e80061a27614f2d4d63697d3376"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7dd84b9f0826f3220fc6b5a4f1ce9890"><td class="memItemLeft" align="right" valign="top"><a id="a7dd84b9f0826f3220fc6b5a4f1ce9890"></a>
|
||||
uint16_t </td><td class="memItemRight" valign="bottom"><b>getRefX</b> (void) const</td></tr>
|
||||
<tr class="memitem:a7dd84b9f0826f3220fc6b5a4f1ce9890"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a7dd84b9f0826f3220fc6b5a4f1ce9890">getRefX</a> (void) const</td></tr>
|
||||
<tr class="separator:a7dd84b9f0826f3220fc6b5a4f1ce9890"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae6650c61a3b1a610ce716253418bd7f2"><td class="memItemLeft" align="right" valign="top"><a id="ae6650c61a3b1a610ce716253418bd7f2"></a>
|
||||
uint16_t </td><td class="memItemRight" valign="bottom"><b>getRefY</b> (void) const</td></tr>
|
||||
<tr class="memitem:ae6650c61a3b1a610ce716253418bd7f2"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#ae6650c61a3b1a610ce716253418bd7f2">getRefY</a> (void) const</td></tr>
|
||||
<tr class="separator:ae6650c61a3b1a610ce716253418bd7f2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a40828c93d66fe80166c4f603d5bdfa48"><td class="memItemLeft" align="right" valign="top"><a id="a40828c93d66fe80166c4f603d5bdfa48"></a>
|
||||
uint16_t </td><td class="memItemRight" valign="bottom"><b>getParaFirstCurve</b> (void) const</td></tr>
|
||||
<tr class="memitem:a40828c93d66fe80166c4f603d5bdfa48"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a40828c93d66fe80166c4f603d5bdfa48">getParaFirstCurve</a> (void) const</td></tr>
|
||||
<tr class="separator:a40828c93d66fe80166c4f603d5bdfa48"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9da23f2bb8e6eb1837fc992ffd4057db"><td class="memItemLeft" align="right" valign="top"><a id="a9da23f2bb8e6eb1837fc992ffd4057db"></a>
|
||||
uint16_t </td><td class="memItemRight" valign="bottom"><b>getParaStepWidth</b> (void) const</td></tr>
|
||||
<tr class="memitem:a9da23f2bb8e6eb1837fc992ffd4057db"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a9da23f2bb8e6eb1837fc992ffd4057db">getParaStepWidth</a> (void) const</td></tr>
|
||||
<tr class="separator:a9da23f2bb8e6eb1837fc992ffd4057db"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af952ac5e2c40896acaf6a86063874fe3"><td class="memItemLeft" align="right" valign="top"><a id="af952ac5e2c40896acaf6a86063874fe3"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>getUnitX</b> (void) const</td></tr>
|
||||
<tr class="memitem:af952ac5e2c40896acaf6a86063874fe3"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3">getUnitX</a> (void) const</td></tr>
|
||||
<tr class="separator:af952ac5e2c40896acaf6a86063874fe3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9cf7baa569be308c2cf6e07cadded09d"><td class="memItemLeft" align="right" valign="top"><a id="a9cf7baa569be308c2cf6e07cadded09d"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>getDescX</b> (void) const</td></tr>
|
||||
<tr class="memitem:a9cf7baa569be308c2cf6e07cadded09d"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a9cf7baa569be308c2cf6e07cadded09d">getDescX</a> (void) const</td></tr>
|
||||
<tr class="separator:a9cf7baa569be308c2cf6e07cadded09d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a746b96036872dbece204e9739f3413b6"><td class="memItemLeft" align="right" valign="top"><a id="a746b96036872dbece204e9739f3413b6"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>getUnitY</b> (void) const</td></tr>
|
||||
<tr class="memitem:a746b96036872dbece204e9739f3413b6"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a746b96036872dbece204e9739f3413b6">getUnitY</a> (void) const</td></tr>
|
||||
<tr class="separator:a746b96036872dbece204e9739f3413b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab4a847fd71a804182f211233e194df45"><td class="memItemLeft" align="right" valign="top"><a id="ab4a847fd71a804182f211233e194df45"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>getDescY</b> (void) const</td></tr>
|
||||
<tr class="memitem:ab4a847fd71a804182f211233e194df45"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#ab4a847fd71a804182f211233e194df45">getDescY</a> (void) const</td></tr>
|
||||
<tr class="separator:ab4a847fd71a804182f211233e194df45"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abcda4139adf8c5ab8a93b13b84ac097c"><td class="memItemLeft" align="right" valign="top"><a id="abcda4139adf8c5ab8a93b13b84ac097c"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>getUnitPara</b> (void) const</td></tr>
|
||||
<tr class="memitem:abcda4139adf8c5ab8a93b13b84ac097c"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#abcda4139adf8c5ab8a93b13b84ac097c">getUnitPara</a> (void) const</td></tr>
|
||||
<tr class="separator:abcda4139adf8c5ab8a93b13b84ac097c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a536967daae3b382a5d6575f55450e198"><td class="memItemLeft" align="right" valign="top"><a id="a536967daae3b382a5d6575f55450e198"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>getDescPara</b> (void) const</td></tr>
|
||||
<tr class="memitem:a536967daae3b382a5d6575f55450e198"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a536967daae3b382a5d6575f55450e198">getDescPara</a> (void) const</td></tr>
|
||||
<tr class="separator:a536967daae3b382a5d6575f55450e198"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a82c348e7fade2edcbc907e7c2bc2e305"><td class="memItemLeft" align="right" valign="top"><a id="a82c348e7fade2edcbc907e7c2bc2e305"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>writeToFile</b> (std::string filename)</td></tr>
|
||||
<tr class="memitem:a82c348e7fade2edcbc907e7c2bc2e305"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305">writeToFile</a> (std::string filename)</td></tr>
|
||||
<tr class="separator:a82c348e7fade2edcbc907e7c2bc2e305"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a08a115ef10458cadfe76077d623313df"><td class="memItemLeft" align="right" valign="top"><a id="a08a115ef10458cadfe76077d623313df"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>startPlotty</b> (std::string filename)</td></tr>
|
||||
<tr class="memitem:a08a115ef10458cadfe76077d623313df"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPlottyFile.html#a08a115ef10458cadfe76077d623313df">startPlotty</a> (std::string filename)</td></tr>
|
||||
<tr class="separator:a08a115ef10458cadfe76077d623313df"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8h_source.html#l00017">17</a> of file <a class="el" href="plottyfile_8h_source.html">plottyfile.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<div class="textblock"><p>Wrapper class for convenient plot file creation, needed to display graphs using plotty. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8h_source.html#l00020">20</a> of file <a class="el" href="plottyfile_8h_source.html">plottyfile.h</a>.</p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="ae091e6eaaca16302f17572ac7dec6f7c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae091e6eaaca16302f17572ac7dec6f7c">◆ </a></span>addDot() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::addDot </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classDot.html">Dot</a> & </td>
|
||||
<td class="paramname"><em>dot</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Adds a dot to the plotty file. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">dot</td><td>the dot </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00003">3</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a80e4b45219b4e9571992edfc28a28568"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a80e4b45219b4e9571992edfc28a28568">◆ </a></span>addDot() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::addDot </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classDot.html">Dot</a> </td>
|
||||
<td class="paramname"><em>dot</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Adds a dot by reference to the plotty file. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">dot</td><td>the dot </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00008">8</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a536967daae3b382a5d6575f55450e198"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a536967daae3b382a5d6575f55450e198">◆ </a></span>getDescPara()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string PlottyFile::getDescPara </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>description of parameter </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00130">130</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a9cf7baa569be308c2cf6e07cadded09d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a9cf7baa569be308c2cf6e07cadded09d">◆ </a></span>getDescX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string PlottyFile::getDescX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>description of x axis </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00110">110</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ab4a847fd71a804182f211233e194df45"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab4a847fd71a804182f211233e194df45">◆ </a></span>getDescY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string PlottyFile::getDescY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>description of y axis </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00120">120</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a88bb7d8350ed5fbc7a40e8d903c94bdb"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a88bb7d8350ed5fbc7a40e8d903c94bdb">◆ </a></span>getFunctionType()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">FunctionType PlottyFile::getFunctionType </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>the FunctionType </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00075">75</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a40828c93d66fe80166c4f603d5bdfa48"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a40828c93d66fe80166c4f603d5bdfa48">◆ </a></span>getParaFirstCurve()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t PlottyFile::getParaFirstCurve </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>initial parameter value </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00095">95</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a9da23f2bb8e6eb1837fc992ffd4057db"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a9da23f2bb8e6eb1837fc992ffd4057db">◆ </a></span>getParaStepWidth()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t PlottyFile::getParaStepWidth </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>parameter stepwith </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00100">100</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a54e94e80061a27614f2d4d63697d3376"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a54e94e80061a27614f2d4d63697d3376">◆ </a></span>getQuadrant()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t PlottyFile::getQuadrant </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>the quadrant </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00080">80</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a7dd84b9f0826f3220fc6b5a4f1ce9890"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a7dd84b9f0826f3220fc6b5a4f1ce9890">◆ </a></span>getRefX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t PlottyFile::getRefX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>x reference (max) value </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00085">85</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae6650c61a3b1a610ce716253418bd7f2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae6650c61a3b1a610ce716253418bd7f2">◆ </a></span>getRefY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t PlottyFile::getRefY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>y reference (max) value </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00090">90</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="abcda4139adf8c5ab8a93b13b84ac097c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abcda4139adf8c5ab8a93b13b84ac097c">◆ </a></span>getUnitPara()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string PlottyFile::getUnitPara </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>unit of parameter </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00125">125</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af952ac5e2c40896acaf6a86063874fe3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af952ac5e2c40896acaf6a86063874fe3">◆ </a></span>getUnitX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string PlottyFile::getUnitX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>unit of x axis </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00105">105</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a746b96036872dbece204e9739f3413b6"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a746b96036872dbece204e9739f3413b6">◆ </a></span>getUnitY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string PlottyFile::getUnitY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>unit of y axis </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00115">115</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a431904143c3c1164a2e8b8cfec3c77ab"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a431904143c3c1164a2e8b8cfec3c77ab">◆ </a></span>setDescPara()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setDescPara </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>desc_para</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the description of the parameter. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>description </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00070">70</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa0449c290265d55d6223b19cf0a88b0a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa0449c290265d55d6223b19cf0a88b0a">◆ </a></span>setDescX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setDescX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>desc_x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the description of the x axis. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>description </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00050">50</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a38a3a4dfc76bc70523727584bf01d590"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a38a3a4dfc76bc70523727584bf01d590">◆ </a></span>setDescY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setDescY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>desc_y</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the description of the y axis. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>description </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00060">60</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a4e5ab1ebb012a5cc1a3d6458a4cd512f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a4e5ab1ebb012a5cc1a3d6458a4cd512f">◆ </a></span>setFunctionType()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setFunctionType </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">FunctionType </td>
|
||||
<td class="paramname"><em>function_type</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the FunctionType of this plotty file. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">function_type</td><td>enum value </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00013">13</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa676414793becb975506f48d6e949dd0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa676414793becb975506f48d6e949dd0">◆ </a></span>setParaFirstCurve()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setParaFirstCurve </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>para_first</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets initial value of the parameter. Gets used together with the stepwith to label the curves. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>initial parameter value </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00035">35</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6caebd31e04e2e7081cc007047350355"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6caebd31e04e2e7081cc007047350355">◆ </a></span>setParaStepWidth()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setParaStepWidth </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>para_stepwidth</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the stepwith the parameter got increased with each curve. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>parameter stepwith </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00040">40</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a1953ee0d9a87b7353c16139584e9c2ae"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1953ee0d9a87b7353c16139584e9c2ae">◆ </a></span>setQuadrant()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setQuadrant </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>quadrant</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the quadrant of this plot. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">quadrant</td><td>quadrant number (1..4) </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00018">18</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a80c2c2e97a454566f9c1f2c51e1d7f3e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a80c2c2e97a454566f9c1f2c51e1d7f3e">◆ </a></span>setRefX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setRefX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>ref_x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets reference (max) value of the x axis </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">ref_x</td><td>reference value </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00025">25</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a3a371228ddcc007e97eebe7cc04dffc2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3a371228ddcc007e97eebe7cc04dffc2">◆ </a></span>setRefY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setRefY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>ref_y</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets reference (max) value of the y axis </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">ref_y</td><td>reference value </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00030">30</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="abbac84109a1e0958a4ca5c270fac0986"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abbac84109a1e0958a4ca5c270fac0986">◆ </a></span>setUnitPara()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setUnitPara </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>unit_para</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the unit of the parameter. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>unit </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00065">65</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ab8d35a841ca9c325fca671cf34e03527"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab8d35a841ca9c325fca671cf34e03527">◆ </a></span>setUnitX()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setUnitX </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>unit_x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the unit of the x axis. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>unit </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00045">45</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="abb18c814f435926f741f7ceb310f3059"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abb18c814f435926f741f7ceb310f3059">◆ </a></span>setUnitY()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::setUnitY </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>unit_y</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sets the unit of the y axis. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">para_first</td><td>unit </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00055">55</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a08a115ef10458cadfe76077d623313df"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a08a115ef10458cadfe76077d623313df">◆ </a></span>startPlotty()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::startPlotty </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>filename</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Starts plotty with a plot file. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">filename</td><td>plot path </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00196">196</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a82c348e7fade2edcbc907e7c2bc2e305"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a82c348e7fade2edcbc907e7c2bc2e305">◆ </a></span>writeToFile()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PlottyFile::writeToFile </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"><em>filename</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Saves the <a class="el" href="classPlottyFile.html">PlottyFile</a> in a binary format, ready to open with plotty. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">filename</td><td>desired plot path </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="plottyfile_8cpp_source.html#l00147">147</a> of file <a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>drv/<a class="el" href="plottyfile_8h_source.html">plottyfile.h</a></li>
|
||||
<li>drv/<a class="el" href="plottyfile_8cpp_source.html">plottyfile.cpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,16 +69,15 @@ $(function() {
|
|||
|
||||
<p>This is the complete list of members for <a class="el" href="classTimeoutException.html">TimeoutException</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_timeout</b> (defined in <a class="el" href="classTimeoutException.html">TimeoutException</a>)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>msg</b> (defined in <a class="el" href="classTimeoutException.html">TimeoutException</a>)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TimeoutException</b>(const char *message, int timeout) (defined in <a class="el" href="classTimeoutException.html">TimeoutException</a>)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>TimeoutException</b>(const std::string &message, int timeout) (defined in <a class="el" href="classTimeoutException.html">TimeoutException</a>)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() const (defined in <a class="el" href="classTimeoutException.html">TimeoutException</a>)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~TimeoutException</b>() (defined in <a class="el" href="classTimeoutException.html">TimeoutException</a>)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classTimeoutException.html#aa625fc0fae48a67737a98eafb91c9624">msg</a></td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classTimeoutException.html#aa45912234da11ffc9dd3594a1bbc0218">TimeoutException</a>(const char *message)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classTimeoutException.html#ad6e5c200fbfd276f48a6c1163e2d2988">TimeoutException</a>(const std::string &message)</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classTimeoutException.html#a97eaf01fc39ddb94b060020b42fefd6e">what</a>() const</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540">~TimeoutException</a>()=default</td><td class="entry"><a class="el" href="classTimeoutException.html">TimeoutException</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -70,44 +70,176 @@ $(function() {
|
|||
<div class="title">TimeoutException Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for TimeoutException:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for TimeoutException:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classTimeoutException.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a33d1b23baf86d5481e1fe18db8a37c15"><td class="memItemLeft" align="right" valign="top"><a id="a33d1b23baf86d5481e1fe18db8a37c15"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>TimeoutException</b> (const char *message, int timeout)</td></tr>
|
||||
<tr class="separator:a33d1b23baf86d5481e1fe18db8a37c15"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6c6f1372eaeab7dd2f4dec06cc1e8f8f"><td class="memItemLeft" align="right" valign="top"><a id="a6c6f1372eaeab7dd2f4dec06cc1e8f8f"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>TimeoutException</b> (const std::string &message, int timeout)</td></tr>
|
||||
<tr class="separator:a6c6f1372eaeab7dd2f4dec06cc1e8f8f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a97eaf01fc39ddb94b060020b42fefd6e"><td class="memItemLeft" align="right" valign="top"><a id="a97eaf01fc39ddb94b060020b42fefd6e"></a>
|
||||
virtual const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const throw ()</td></tr>
|
||||
<tr class="memitem:aa45912234da11ffc9dd3594a1bbc0218"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimeoutException.html#aa45912234da11ffc9dd3594a1bbc0218">TimeoutException</a> (const char *message)</td></tr>
|
||||
<tr class="separator:aa45912234da11ffc9dd3594a1bbc0218"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad6e5c200fbfd276f48a6c1163e2d2988"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimeoutException.html#ad6e5c200fbfd276f48a6c1163e2d2988">TimeoutException</a> (const std::string &message)</td></tr>
|
||||
<tr class="separator:ad6e5c200fbfd276f48a6c1163e2d2988"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2f686b262d2ccffa0090fda9b44ab540"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540">~TimeoutException</a> ()=default</td></tr>
|
||||
<tr class="separator:a2f686b262d2ccffa0090fda9b44ab540"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a97eaf01fc39ddb94b060020b42fefd6e"><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimeoutException.html#a97eaf01fc39ddb94b060020b42fefd6e">what</a> () const throw ()</td></tr>
|
||||
<tr class="separator:a97eaf01fc39ddb94b060020b42fefd6e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
||||
Protected Attributes</h2></td></tr>
|
||||
<tr class="memitem:aa625fc0fae48a67737a98eafb91c9624"><td class="memItemLeft" align="right" valign="top"><a id="aa625fc0fae48a67737a98eafb91c9624"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>msg</b></td></tr>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classTimeoutException.html#aa625fc0fae48a67737a98eafb91c9624">msg</a></td></tr>
|
||||
<tr class="memdesc:aa625fc0fae48a67737a98eafb91c9624"><td class="mdescLeft"> </td><td class="mdescRight">failure description <br /></td></tr>
|
||||
<tr class="separator:aa625fc0fae48a67737a98eafb91c9624"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a00704ad4af4a07e6956949f633b5b161"><td class="memItemLeft" align="right" valign="top"><a id="a00704ad4af4a07e6956949f633b5b161"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>m_timeout</b></td></tr>
|
||||
<tr class="separator:a00704ad4af4a07e6956949f633b5b161"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="timeoutexception_8h_source.html#l00008">8</a> of file <a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<div class="textblock"><p>Exception for <a class="el" href="classUSART.html">USART</a> related timeouts. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="timeoutexception_8h_source.html#l00009">9</a> of file <a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a>.</p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="aa45912234da11ffc9dd3594a1bbc0218"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa45912234da11ffc9dd3594a1bbc0218">◆ </a></span>TimeoutException() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">TimeoutException::TimeoutException </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"><em>message</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Constructor </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">message</td><td>as c-string </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="timeoutexception_8h_source.html#l00016">16</a> of file <a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ad6e5c200fbfd276f48a6c1163e2d2988"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad6e5c200fbfd276f48a6c1163e2d2988">◆ </a></span>TimeoutException() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">TimeoutException::TimeoutException </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::string & </td>
|
||||
<td class="paramname"><em>message</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Constructor </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">message</td><td>as c++-string </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="timeoutexception_8h_source.html#l00024">24</a> of file <a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a2f686b262d2ccffa0090fda9b44ab540"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a2f686b262d2ccffa0090fda9b44ab540">◆ </a></span>~TimeoutException()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual TimeoutException::~TimeoutException </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Standard-destructor </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a97eaf01fc39ddb94b060020b42fefd6e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a97eaf01fc39ddb94b060020b42fefd6e">◆ </a></span>what()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual const char* TimeoutException::what </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">throw </td><td>(</td><td colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"></td><td>)</td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Get failure description </p><dl class="section return"><dt>Returns</dt><dd>error message as c-string </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="timeoutexception_8h_source.html#l00037">37</a> of file <a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>drv/<a class="el" href="timeoutexception_8h_source.html">timeoutexception.h</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,31 +69,24 @@ $(function() {
|
|||
|
||||
<p>This is the complete list of members for <a class="el" href="classUSART.html">USART</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BLOCK_END</b> (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a28a2b4c5ed66b2c3a81196f76884f156">clearInputBuffer</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a756d268a8762c316f91ca3238972b0c1">clearOutputBuffer</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#af80d6291ac1d2df04cfa1d8d27458cc5">closeDevice</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CRC7_POLY</b> (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#adb6ff4d1cf1af79ca255c5a81780200d">flushOutputBuffer</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a4918672d8069df205378a528b1892db3">getBaudrate</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a19cf777956a038878fc2d2b58c3d2b41">getTimeout</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MAX_BLOCK_SIZE</b> (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a28a2b4c5ed66b2c3a81196f76884f156">clearInputBuffer</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a756d268a8762c316f91ca3238972b0c1">clearOutputBuffer</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#af80d6291ac1d2df04cfa1d8d27458cc5">closeDevice</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a038d00c0b3d8c0c13c3e7eae5dad7813">drop</a>(uint8_t len)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#adb6ff4d1cf1af79ca255c5a81780200d">flushOutputBuffer</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a4918672d8069df205378a528b1892db3">getBaudrate</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a19cf777956a038878fc2d2b58c3d2b41">getTimeout</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a">openDevice</a>(std::string device)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a33559bb8f0eda33a489d47b9c9227b59">printStatistics</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>read_timeout</b>(uint8_t *buffer, uint16_t offset, uint8_t len, uint32_t timeout) (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>readBlock</b>(uint8_t *buffer, uint16_t offset) (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a8f54b98b26bfe084359a5604bda82562">readByte</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a1534c229db71a375e556cf1e7d0b8119">readInt</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a0fdc238203852f00bd750127602b2a6a">receive</a>(uint8_t *buffer, uint16_t offset, uint8_t len)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d">setBaudrate</a>(uint32_t baudrate)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#ad7fe866cebe920784d2b17602824c7ff">setTimeout</a>(uint8_t timeout)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>write_timeout</b>(uint8_t *buffer, uint16_t offset, uint8_t len, uint32_t timeout) (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>writeBlock</b>(uint8_t *buffer, uint16_t offset, uint8_t len) (defined in <a class="el" href="classUSART.html">USART</a>)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5">writeByte</a>(uint8_t b)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a78b30d9aa863f38745e982860392599a">writeInt</a>(uint16_t d)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a41b19dd58f307015b73e154048cd74ca">transmit</a>(uint8_t *buffer, uint16_t offset, uint8_t len)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSART.html#a5daed20dc595c43d87c4c28bb08a7449">USART</a>()=default</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749">~USART</a>(void)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -64,15 +64,20 @@ $(function() {
|
|||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
||||
<a href="classUSART-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">USART Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><code>#include <<a class="el" href="usart_8h_source.html">usart.h</a>></code></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a5daed20dc595c43d87c4c28bb08a7449"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a5daed20dc595c43d87c4c28bb08a7449">USART</a> ()=default</td></tr>
|
||||
<tr class="separator:a5daed20dc595c43d87c4c28bb08a7449"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0c8eb1a939ca00921e22f6cbcc7bb749"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749">~USART</a> (void)</td></tr>
|
||||
<tr class="separator:a0c8eb1a939ca00921e22f6cbcc7bb749"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5f7e2abda2ec4a68a5fdb8ee2f8a940a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a">openDevice</a> (std::string device)</td></tr>
|
||||
<tr class="separator:a5f7e2abda2ec4a68a5fdb8ee2f8a940a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af80d6291ac1d2df04cfa1d8d27458cc5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#af80d6291ac1d2df04cfa1d8d27458cc5">closeDevice</a> (void)</td></tr>
|
||||
|
@ -83,28 +88,12 @@ Public Member Functions</h2></td></tr>
|
|||
<tr class="separator:a756d268a8762c316f91ca3238972b0c1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adb6ff4d1cf1af79ca255c5a81780200d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#adb6ff4d1cf1af79ca255c5a81780200d">flushOutputBuffer</a> (void)</td></tr>
|
||||
<tr class="separator:adb6ff4d1cf1af79ca255c5a81780200d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a33559bb8f0eda33a489d47b9c9227b59"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a33559bb8f0eda33a489d47b9c9227b59">printStatistics</a> (void)</td></tr>
|
||||
<tr class="separator:a33559bb8f0eda33a489d47b9c9227b59"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a60eadbe9956bab8144ee96d89eacd9f5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5">writeByte</a> (uint8_t b)</td></tr>
|
||||
<tr class="separator:a60eadbe9956bab8144ee96d89eacd9f5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a78b30d9aa863f38745e982860392599a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a78b30d9aa863f38745e982860392599a">writeInt</a> (uint16_t d)</td></tr>
|
||||
<tr class="separator:a78b30d9aa863f38745e982860392599a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8f54b98b26bfe084359a5604bda82562"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a8f54b98b26bfe084359a5604bda82562">readByte</a> (void)</td></tr>
|
||||
<tr class="separator:a8f54b98b26bfe084359a5604bda82562"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1534c229db71a375e556cf1e7d0b8119"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a1534c229db71a375e556cf1e7d0b8119">readInt</a> (void)</td></tr>
|
||||
<tr class="separator:a1534c229db71a375e556cf1e7d0b8119"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7d024eae412c26c8026a19c23152fb15"><td class="memItemLeft" align="right" valign="top"><a id="a7d024eae412c26c8026a19c23152fb15"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>read_timeout</b> (uint8_t *buffer, uint16_t offset, uint8_t len, uint32_t timeout)</td></tr>
|
||||
<tr class="separator:a7d024eae412c26c8026a19c23152fb15"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abc38663b1be6af13dd6bc295b34b1f91"><td class="memItemLeft" align="right" valign="top"><a id="abc38663b1be6af13dd6bc295b34b1f91"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>write_timeout</b> (uint8_t *buffer, uint16_t offset, uint8_t len, uint32_t timeout)</td></tr>
|
||||
<tr class="separator:abc38663b1be6af13dd6bc295b34b1f91"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa5380551953f95293287d93a3291e6f9"><td class="memItemLeft" align="right" valign="top"><a id="aa5380551953f95293287d93a3291e6f9"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>writeBlock</b> (uint8_t *buffer, uint16_t offset, uint8_t len)</td></tr>
|
||||
<tr class="separator:aa5380551953f95293287d93a3291e6f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6301a60df27ab1506ce8d64e3b061eb2"><td class="memItemLeft" align="right" valign="top"><a id="a6301a60df27ab1506ce8d64e3b061eb2"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>readBlock</b> (uint8_t *buffer, uint16_t offset)</td></tr>
|
||||
<tr class="separator:a6301a60df27ab1506ce8d64e3b061eb2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a41b19dd58f307015b73e154048cd74ca"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a41b19dd58f307015b73e154048cd74ca">transmit</a> (uint8_t *buffer, uint16_t offset, uint8_t len)</td></tr>
|
||||
<tr class="separator:a41b19dd58f307015b73e154048cd74ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0fdc238203852f00bd750127602b2a6a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a0fdc238203852f00bd750127602b2a6a">receive</a> (uint8_t *buffer, uint16_t offset, uint8_t len)</td></tr>
|
||||
<tr class="separator:a0fdc238203852f00bd750127602b2a6a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a038d00c0b3d8c0c13c3e7eae5dad7813"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a038d00c0b3d8c0c13c3e7eae5dad7813">drop</a> (uint8_t len)</td></tr>
|
||||
<tr class="separator:a038d00c0b3d8c0c13c3e7eae5dad7813"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4918672d8069df205378a528b1892db3"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a4918672d8069df205378a528b1892db3">getBaudrate</a> (void)</td></tr>
|
||||
<tr class="separator:a4918672d8069df205378a528b1892db3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a19cf777956a038878fc2d2b58c3d2b41"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a19cf777956a038878fc2d2b58c3d2b41">getTimeout</a> (void)</td></tr>
|
||||
|
@ -113,23 +102,68 @@ bool </td><td class="memItemRight" valign="bottom"><b>readBlock</b> (uint8_
|
|||
<tr class="separator:aac63918a8b97ae63ee607cfa39e6d88d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad7fe866cebe920784d2b17602824c7ff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#ad7fe866cebe920784d2b17602824c7ff">setTimeout</a> (uint8_t timeout)</td></tr>
|
||||
<tr class="separator:ad7fe866cebe920784d2b17602824c7ff"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
||||
Static Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:a3401693a5b971f54a2bf177e9a8b55fd"><td class="memItemLeft" align="right" valign="top"><a id="a3401693a5b971f54a2bf177e9a8b55fd"></a>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>CRC7_POLY</b> = 0x91</td></tr>
|
||||
<tr class="separator:a3401693a5b971f54a2bf177e9a8b55fd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a43cc131e2611437ed3c6c0448ba5ade5"><td class="memItemLeft" align="right" valign="top"><a id="a43cc131e2611437ed3c6c0448ba5ade5"></a>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>MAX_BLOCK_SIZE</b> = 64</td></tr>
|
||||
<tr class="separator:a43cc131e2611437ed3c6c0448ba5ade5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a19bfa88e843626b2d822361738cf0039"><td class="memItemLeft" align="right" valign="top"><a id="a19bfa88e843626b2d822361738cf0039"></a>
|
||||
constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>BLOCK_END</b> = 0x80</td></tr>
|
||||
<tr class="separator:a19bfa88e843626b2d822361738cf0039"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<div class="textblock"><p>C++ Wrapper class for termios usart library. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8h_source.html#l00016">16</a> of file <a class="el" href="usart_8h_source.html">usart.h</a>.</p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="a5daed20dc595c43d87c4c28bb08a7449"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5daed20dc595c43d87c4c28bb08a7449">◆ </a></span>USART()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">USART::USART </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">default</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Standard-Konstruktor </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0c8eb1a939ca00921e22f6cbcc7bb749"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0c8eb1a939ca00921e22f6cbcc7bb749">◆ </a></span>~USART()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">USART::~USART </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Destructor, ruft automatisch <a class="el" href="classUSART.html#af80d6291ac1d2df04cfa1d8d27458cc5">closeDevice()</a> auf </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00004">4</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a28a2b4c5ed66b2c3a81196f76884f156"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a28a2b4c5ed66b2c3a81196f76884f156">◆ </a></span>clearInputBuffer()</h2>
|
||||
|
||||
|
@ -152,7 +186,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00039">39</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00054">54</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -178,7 +212,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00046">46</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00061">61</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -204,7 +238,39 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00032">32</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00043">43</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a038d00c0b3d8c0c13c3e7eae5dad7813"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a038d00c0b3d8c0c13c3e7eae5dad7813">◆ </a></span>drop()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void USART::drop </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>len</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Receives n bytes but discards them </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">len</td><td>count of bytes to receive </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classUSARTException.html">USARTException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00114">114</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -230,7 +296,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00053">53</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00068">68</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -251,7 +317,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</div><div class="memdoc">
|
||||
<p>Liefert die eingestellte Baudrate <b>Änderungen werden erst nach einem open() wirksam</b> </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00306">306</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00121">121</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -272,7 +338,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</div><div class="memdoc">
|
||||
<p>Liefert den eingestellten Timeout (in Dezisekunden) <b>Änderungen werden erst nach einem open() wirksam</b> </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00311">311</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00126">126</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -304,80 +370,57 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00003">3</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00009">9</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a33559bb8f0eda33a489d47b9c9227b59"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a33559bb8f0eda33a489d47b9c9227b59">◆ </a></span>printStatistics()</h2>
|
||||
<a id="a0fdc238203852f00bd750127602b2a6a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0fdc238203852f00bd750127602b2a6a">◆ </a></span>receive()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void USART::printStatistics </td>
|
||||
<td class="memname">void USART::receive </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t * </td>
|
||||
<td class="paramname"><em>buffer</em>, </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Gibt Anzahl an erfolgreichen und fehlgeschlagenen Block-Übertragungen an </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00060">60</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8f54b98b26bfe084359a5604bda82562"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8f54b98b26bfe084359a5604bda82562">◆ </a></span>readByte()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t USART::readByte </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>offset</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>len</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Empfängt ein Byte über die <a class="el" href="classUSART.html">USART</a> Schnittstelle </p><dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<p>Receives n bytes from <a class="el" href="classUSART.html">USART</a> and writes them into the buffer </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">buffer</td><td>target buffer </td></tr>
|
||||
<tr><td class="paramname">offset</td><td>in buffer (mostly 0) </td></tr>
|
||||
<tr><td class="paramname">len</td><td>count of bytes to receive </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classUSARTException.html">USARTException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00210">210</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a1534c229db71a375e556cf1e7d0b8119"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1534c229db71a375e556cf1e7d0b8119">◆ </a></span>readInt()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint16_t USART::readInt </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Empfängt ein Integer über die <a class="el" href="classUSART.html">USART</a> Schnittstelle </p><dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classUSARTException.html">USARTException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00229">229</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00084">84</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -396,9 +439,9 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Setzt die Baudrate <b>Änderungen werden erst nach einem open() wirksam</b> </p>
|
||||
<p>Setzt die Baudrate <b>Änderungen werden erst nach <a class="el" href="classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a">openDevice()</a> wirksam</b> </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00316">316</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00131">131</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -417,62 +460,48 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Setzt den Timeout (in Dezisekunden) <b>Änderungen werden erst nach einem open() wirksam</b> </p>
|
||||
<p>Setzt den Timeout (in Dezisekunden) <b>Änderungen werden erst nach <a class="el" href="classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a">openDevice()</a> wirksam</b> </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00321">321</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00136">136</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a60eadbe9956bab8144ee96d89eacd9f5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a60eadbe9956bab8144ee96d89eacd9f5">◆ </a></span>writeByte()</h2>
|
||||
<a id="a41b19dd58f307015b73e154048cd74ca"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a41b19dd58f307015b73e154048cd74ca">◆ </a></span>transmit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void USART::writeByte </td>
|
||||
<td class="memname">void USART::transmit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>b</em></td><td>)</td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t * </td>
|
||||
<td class="paramname"><em>buffer</em>, </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sendet ein Byte über die <a class="el" href="classUSART.html">USART</a> Schnittstelle </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">b</td><td>das zu sendende Byte </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classUSARTException.html">USARTException</a></td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00067">67</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a78b30d9aa863f38745e982860392599a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a78b30d9aa863f38745e982860392599a">◆ </a></span>writeInt()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void USART::writeInt </td>
|
||||
<td>(</td>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint16_t </td>
|
||||
<td class="paramname"><em>d</em></td><td>)</td>
|
||||
<td class="paramname"><em>offset</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"><em>len</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Sendet ein Integer über die <a class="el" href="classUSART.html">USART</a> Schnittstelle </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<p>Sends n bytes from the buffer over <a class="el" href="classUSART.html">USART</a> </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">b</td><td>das zu sendende Byte </td></tr>
|
||||
<tr><td class="paramname">buffer</td><td>target buffer </td></tr>
|
||||
<tr><td class="paramname">offset</td><td>in buffer (mostly 0) </td></tr>
|
||||
<tr><td class="paramname">len</td><td>count of bytes to send </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
@ -483,7 +512,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00081">81</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00075">75</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -494,7 +523,7 @@ constexpr static uint8_t </td><td class="memItemRight" valign="bottom"><b>B
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -69,15 +69,15 @@ $(function() {
|
|||
|
||||
<p>This is the complete list of members for <a class="el" href="classUSARTException.html">USARTException</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>msg</b> (defined in <a class="el" href="classUSARTException.html">USARTException</a>)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>USARTException</b>(const char *message) (defined in <a class="el" href="classUSARTException.html">USARTException</a>)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>USARTException</b>(const std::string &message) (defined in <a class="el" href="classUSARTException.html">USARTException</a>)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>what</b>() const (defined in <a class="el" href="classUSARTException.html">USARTException</a>)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~USARTException</b>() (defined in <a class="el" href="classUSARTException.html">USARTException</a>)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79">msg</a></td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSARTException.html#a3c359db129825703b91392d5128cf93d">USARTException</a>(const char *message)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSARTException.html#a643c0a8b7f0d81e2f1693a75b378e6c2">USARTException</a>(const std::string &message)</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classUSARTException.html#a2af5e3c00cd0585c7427c2e0420a8f15">what</a>() const</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be">~USARTException</a>()=default</td><td class="entry"><a class="el" href="classUSARTException.html">USARTException</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -70,41 +70,176 @@ $(function() {
|
|||
<div class="title">USARTException Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for USARTException:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="usartexception_8h_source.html">usartexception.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for USARTException:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classUSARTException.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a3c359db129825703b91392d5128cf93d"><td class="memItemLeft" align="right" valign="top"><a id="a3c359db129825703b91392d5128cf93d"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>USARTException</b> (const char *message)</td></tr>
|
||||
<tr class="memitem:a3c359db129825703b91392d5128cf93d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSARTException.html#a3c359db129825703b91392d5128cf93d">USARTException</a> (const char *message)</td></tr>
|
||||
<tr class="separator:a3c359db129825703b91392d5128cf93d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a643c0a8b7f0d81e2f1693a75b378e6c2"><td class="memItemLeft" align="right" valign="top"><a id="a643c0a8b7f0d81e2f1693a75b378e6c2"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>USARTException</b> (const std::string &message)</td></tr>
|
||||
<tr class="memitem:a643c0a8b7f0d81e2f1693a75b378e6c2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSARTException.html#a643c0a8b7f0d81e2f1693a75b378e6c2">USARTException</a> (const std::string &message)</td></tr>
|
||||
<tr class="separator:a643c0a8b7f0d81e2f1693a75b378e6c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2af5e3c00cd0585c7427c2e0420a8f15"><td class="memItemLeft" align="right" valign="top"><a id="a2af5e3c00cd0585c7427c2e0420a8f15"></a>
|
||||
virtual const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const throw ()</td></tr>
|
||||
<tr class="memitem:a0e008b3cb4974859e6bc8c8f8eb480be"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be">~USARTException</a> ()=default</td></tr>
|
||||
<tr class="separator:a0e008b3cb4974859e6bc8c8f8eb480be"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2af5e3c00cd0585c7427c2e0420a8f15"><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSARTException.html#a2af5e3c00cd0585c7427c2e0420a8f15">what</a> () const throw ()</td></tr>
|
||||
<tr class="separator:a2af5e3c00cd0585c7427c2e0420a8f15"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
||||
Protected Attributes</h2></td></tr>
|
||||
<tr class="memitem:a14c80df95f216d221aa97cffbcd8dd79"><td class="memItemLeft" align="right" valign="top"><a id="a14c80df95f216d221aa97cffbcd8dd79"></a>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><b>msg</b></td></tr>
|
||||
std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79">msg</a></td></tr>
|
||||
<tr class="memdesc:a14c80df95f216d221aa97cffbcd8dd79"><td class="mdescLeft"> </td><td class="mdescRight">failure description <br /></td></tr>
|
||||
<tr class="separator:a14c80df95f216d221aa97cffbcd8dd79"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<div class="textblock"><p>Exception for <a class="el" href="classUSART.html">USART</a> problems, for instance buffer overflow. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usartexception_8h_source.html#l00009">9</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="a3c359db129825703b91392d5128cf93d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3c359db129825703b91392d5128cf93d">◆ </a></span>USARTException() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">USARTException::USARTException </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"><em>message</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Constructor </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">message</td><td>as c-string </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usartexception_8h_source.html#l00016">16</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a643c0a8b7f0d81e2f1693a75b378e6c2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a643c0a8b7f0d81e2f1693a75b378e6c2">◆ </a></span>USARTException() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">USARTException::USARTException </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::string & </td>
|
||||
<td class="paramname"><em>message</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Constructor </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">message</td><td>as c++-string </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usartexception_8h_source.html#l00024">24</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0e008b3cb4974859e6bc8c8f8eb480be"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0e008b3cb4974859e6bc8c8f8eb480be">◆ </a></span>~USARTException()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual USARTException::~USARTException </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Standard-destructor </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a2af5e3c00cd0585c7427c2e0420a8f15"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a2af5e3c00cd0585c7427c2e0420a8f15">◆ </a></span>what()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual const char* USARTException::what </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">throw </td><td>(</td><td colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"></td><td>)</td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Get failure description </p><dl class="section return"><dt>Returns</dt><dd>error message as c-string </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="usartexception_8h_source.html#l00037">37</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>drv/<a class="el" href="usartexception_8h_source.html">usartexception.h</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -89,7 +89,7 @@ $(function() {
|
|||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -72,9 +72,13 @@ $(function() {
|
|||
<div class="title">View Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for View:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="view_8h_source.html">view.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for View:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classView.png" usemap="#View_map" alt=""/>
|
||||
<map id="View_map" name="View_map">
|
||||
|
@ -143,8 +147,9 @@ constexpr static int </td><td class="memItemRight" valign="bottom"><b>KEY_E
|
|||
<tr class="separator:a3554cf8689cad24c643665aa3d182134"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="view_8h_source.html#l00017">17</a> of file <a class="el" href="view_8h_source.html">view.h</a>.</p>
|
||||
<div class="textblock"><p>Base class for multiple views with the ncurses user interface. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="view_8h_source.html#l00019">19</a> of file <a class="el" href="view_8h_source.html">view.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>ui/<a class="el" href="view_8h_source.html">view.h</a></li>
|
||||
<li>ui/<a class="el" href="view_8cpp_source.html">view.cpp</a></li>
|
||||
|
@ -152,7 +157,7 @@ constexpr static int </td><td class="memItemRight" valign="bottom"><b>KEY_E
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -99,7 +99,7 @@ $(function() {
|
|||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -71,9 +71,13 @@ $(function() {
|
|||
<div class="title">ViewInfo Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for ViewInfo:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="view__info_8h_source.html">view_info.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for ViewInfo:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classViewInfo.png" usemap="#ViewInfo_map" alt=""/>
|
||||
<map id="ViewInfo_map" name="ViewInfo_map">
|
||||
|
@ -171,8 +175,9 @@ static std::vector< std::string > </td><td class="memItemRight" valig
|
|||
<tr class="separator:a52c2e2a7bc56388e7d9bfa398ad52668 inherit pub_static_methods_classView"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="view__info_8h_source.html#l00006">6</a> of file <a class="el" href="view__info_8h_source.html">view_info.h</a>.</p>
|
||||
<div class="textblock"><p><a class="el" href="classView.html">View</a> for simple text message output. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="view__info_8h_source.html#l00008">8</a> of file <a class="el" href="view__info_8h_source.html">view_info.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>ui/<a class="el" href="view__info_8h_source.html">view_info.h</a></li>
|
||||
<li>ui/<a class="el" href="view__info_8cpp_source.html">view_info.cpp</a></li>
|
||||
|
@ -180,7 +185,7 @@ static std::vector< std::string > </td><td class="memItemRight" valig
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -103,7 +103,7 @@ $(function() {
|
|||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -71,9 +71,13 @@ $(function() {
|
|||
<div class="title">ViewMonitor Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for ViewMonitor:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="view__monitor_8h_source.html">view_monitor.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for ViewMonitor:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classViewMonitor.png" usemap="#ViewMonitor_map" alt=""/>
|
||||
<map id="ViewMonitor_map" name="ViewMonitor_map">
|
||||
|
@ -183,8 +187,9 @@ constexpr static int </td><td class="memItemRight" valign="bottom"><b>KEY_E
|
|||
<tr class="separator:a3554cf8689cad24c643665aa3d182134 inherit pro_static_attribs_classView"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="view__monitor_8h_source.html#l00011">11</a> of file <a class="el" href="view__monitor_8h_source.html">view_monitor.h</a>.</p>
|
||||
<div class="textblock"><p><a class="el" href="classView.html">View</a> to display all B15 inputs. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="view__monitor_8h_source.html#l00013">13</a> of file <a class="el" href="view__monitor_8h_source.html">view_monitor.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>ui/<a class="el" href="view__monitor_8h_source.html">view_monitor.h</a></li>
|
||||
<li>ui/<a class="el" href="view__monitor_8cpp_source.html">view_monitor.cpp</a></li>
|
||||
|
@ -192,7 +197,7 @@ constexpr static int </td><td class="memItemRight" valign="bottom"><b>KEY_E
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -105,7 +105,7 @@ $(function() {
|
|||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -71,9 +71,13 @@ $(function() {
|
|||
<div class="title">ViewPromt Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for ViewPromt:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="view__promt_8h_source.html">view_promt.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for ViewPromt:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classViewPromt.png" usemap="#ViewPromt_map" alt=""/>
|
||||
<map id="ViewPromt_map" name="ViewPromt_map">
|
||||
|
@ -191,8 +195,9 @@ static std::vector< std::string > </td><td class="memItemRight" valig
|
|||
<tr class="separator:a52c2e2a7bc56388e7d9bfa398ad52668 inherit pub_static_methods_classView"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="view__promt_8h_source.html#l00008">8</a> of file <a class="el" href="view__promt_8h_source.html">view_promt.h</a>.</p>
|
||||
<div class="textblock"><p><a class="el" href="classView.html">View</a> for basic user text input. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="view__promt_8h_source.html#l00010">10</a> of file <a class="el" href="view__promt_8h_source.html">view_promt.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>ui/<a class="el" href="view__promt_8h_source.html">view_promt.h</a></li>
|
||||
<li>ui/<a class="el" href="view__promt_8cpp_source.html">view_promt.cpp</a></li>
|
||||
|
@ -200,7 +205,7 @@ static std::vector< std::string > </td><td class="memItemRight" valig
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -94,7 +94,7 @@ $(function() {
|
|||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -71,9 +71,13 @@ $(function() {
|
|||
<div class="title">ViewSelection Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for ViewSelection:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
<p><code>#include <<a class="el" href="view__selection_8h_source.html">view_selection.h</a>></code></p>
|
||||
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
||||
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for ViewSelection:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center">
|
||||
<img src="classViewSelection.png" usemap="#ViewSelection_map" alt=""/>
|
||||
<map id="ViewSelection_map" name="ViewSelection_map">
|
||||
|
@ -158,8 +162,9 @@ static std::vector< std::string > </td><td class="memItemRight" valig
|
|||
<tr class="separator:a52c2e2a7bc56388e7d9bfa398ad52668 inherit pub_static_methods_classView"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock">
|
||||
<p class="definition">Definition at line <a class="el" href="view__selection_8h_source.html#l00008">8</a> of file <a class="el" href="view__selection_8h_source.html">view_selection.h</a>.</p>
|
||||
<div class="textblock"><p><a class="el" href="classView.html">View</a> for user selection input. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="view__selection_8h_source.html#l00010">10</a> of file <a class="el" href="view__selection_8h_source.html">view_selection.h</a>.</p>
|
||||
</div><hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>ui/<a class="el" href="view__selection_8h_source.html">view_selection.h</a></li>
|
||||
<li>ui/<a class="el" href="view__selection_8cpp_source.html">view_selection.cpp</a></li>
|
||||
|
@ -167,7 +172,7 @@ static std::vector< std::string > </td><td class="memItemRight" valig
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -105,7 +105,7 @@ $(function() {
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -73,7 +73,7 @@ $(function() {
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
81
docs/html/dir_19f2f1b99f19c12fa55b8d312cf373ed.html
Normal file
81
docs/html/dir_19f2f1b99f19c12fa55b8d312cf373ed.html
Normal file
|
@ -0,0 +1,81 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: cmake-build-debug/CMakeFiles/3.14.3/CompilerIdC Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">B15F
|
||||
</div>
|
||||
<div id="projectbrief">Board 15 Famulus Edition</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.16 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_95e29a8b8ee7c54052c171a88bb95675.html">cmake-build-debug</a></li><li class="navelem"><a class="el" href="dir_f89abcb304c928c7d889aa5625570de5.html">CMakeFiles</a></li><li class="navelem"><a class="el" href="dir_3d3c8ff3ebf9841b39117ac899f41936.html">3.14.3</a></li><li class="navelem"><a class="el" href="dir_19f2f1b99f19c12fa55b8d312cf373ed.html">CompilerIdC</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">CompilerIdC Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
85
docs/html/dir_3d3c8ff3ebf9841b39117ac899f41936.html
Normal file
85
docs/html/dir_3d3c8ff3ebf9841b39117ac899f41936.html
Normal file
|
@ -0,0 +1,85 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: cmake-build-debug/CMakeFiles/3.14.3 Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">B15F
|
||||
</div>
|
||||
<div id="projectbrief">Board 15 Famulus Edition</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.16 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_95e29a8b8ee7c54052c171a88bb95675.html">cmake-build-debug</a></li><li class="navelem"><a class="el" href="dir_f89abcb304c928c7d889aa5625570de5.html">CMakeFiles</a></li><li class="navelem"><a class="el" href="dir_3d3c8ff3ebf9841b39117ac899f41936.html">3.14.3</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">3.14.3 Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
|
||||
Directories</h2></td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -73,7 +73,7 @@ $(function() {
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
81
docs/html/dir_90e361ec3542f3dd076ea3ad19547437.html
Normal file
81
docs/html/dir_90e361ec3542f3dd076ea3ad19547437.html
Normal file
|
@ -0,0 +1,81 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: cmake-build-debug/CMakeFiles/3.14.3/CompilerIdCXX Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">B15F
|
||||
</div>
|
||||
<div id="projectbrief">Board 15 Famulus Edition</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.16 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_95e29a8b8ee7c54052c171a88bb95675.html">cmake-build-debug</a></li><li class="navelem"><a class="el" href="dir_f89abcb304c928c7d889aa5625570de5.html">CMakeFiles</a></li><li class="navelem"><a class="el" href="dir_3d3c8ff3ebf9841b39117ac899f41936.html">3.14.3</a></li><li class="navelem"><a class="el" href="dir_90e361ec3542f3dd076ea3ad19547437.html">CompilerIdCXX</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">CompilerIdCXX Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
85
docs/html/dir_95e29a8b8ee7c54052c171a88bb95675.html
Normal file
85
docs/html/dir_95e29a8b8ee7c54052c171a88bb95675.html
Normal file
|
@ -0,0 +1,85 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: cmake-build-debug Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">B15F
|
||||
</div>
|
||||
<div id="projectbrief">Board 15 Famulus Edition</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.16 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_95e29a8b8ee7c54052c171a88bb95675.html">cmake-build-debug</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cmake-build-debug Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
|
||||
Directories</h2></td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
81
docs/html/dir_f89abcb304c928c7d889aa5625570de5.html
Normal file
81
docs/html/dir_f89abcb304c928c7d889aa5625570de5.html
Normal file
|
@ -0,0 +1,81 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: cmake-build-debug/CMakeFiles Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">B15F
|
||||
</div>
|
||||
<div id="projectbrief">Board 15 Famulus Edition</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.16 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_95e29a8b8ee7c54052c171a88bb95675.html">cmake-build-debug</a></li><li class="navelem"><a class="el" href="dir_f89abcb304c928c7d889aa5625570de5.html">CMakeFiles</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">CMakeFiles Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -70,10 +70,14 @@ $(function() {
|
|||
<div class="title">dot.cpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#include "dot.h"</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> Dot::Dot(uint16_t x, uint16_t y, uint8_t curve) : x(x), y(y), curve(curve)</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> {</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  <span class="keywordflow">if</span>(curve >= 64)</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  <span class="keywordflow">throw</span> std::range_error(<span class="stringliteral">"Kurvenindex muss im Bereich [0, 63] liegen"</span>);</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> }</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  </div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> uint16_t Dot::getX()<span class="keyword"> const</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword"></span>{</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keywordflow">return</span> x;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> }</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> uint16_t Dot::getY()<span class="keyword"> const</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword"></span>{</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <span class="keywordflow">return</span> y;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> }</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> uint8_t Dot::getCurve(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword"></span>{</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordflow">return</span> curve;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> }</div></div><!-- fragment --></div><!-- contents -->
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#include "dot.h"</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  </div><div class="line"><a name="l00003"></a><span class="lineno"><a class="line" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05"> 3</a></span> <a class="code" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot::Dot</a>(uint16_t x, uint16_t y, uint8_t curve) : x(x), y(y), curve(curve)</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> {</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  <span class="keywordflow">if</span>(curve >= 64)</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  <span class="keywordflow">throw</span> std::range_error(<span class="stringliteral">"Kurvenindex muss im Bereich [0, 63] liegen"</span>);</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> }</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  </div><div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="classDot.html#a029f0cc99c474122b77a708a317e7f77"> 9</a></span> uint16_t <a class="code" href="classDot.html#a029f0cc99c474122b77a708a317e7f77">Dot::getX</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword"></span>{</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keywordflow">return</span> x;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> }</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div><div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58"> 14</a></span> uint16_t <a class="code" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">Dot::getY</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword"></span>{</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <span class="keywordflow">return</span> y;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> }</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396"> 19</a></span> uint8_t <a class="code" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">Dot::getCurve</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword"></span>{</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordflow">return</span> curve;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> }</div></div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassDot_html_a029f0cc99c474122b77a708a317e7f77"><div class="ttname"><a href="classDot.html#a029f0cc99c474122b77a708a317e7f77">Dot::getX</a></div><div class="ttdeci">uint16_t getX(void) const</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00009">dot.cpp:9</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html_a8fcb987e6308d8184d1a2c8692227e58"><div class="ttname"><a href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">Dot::getY</a></div><div class="ttdeci">uint16_t getY(void) const</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00014">dot.cpp:14</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html_ad0ae7dc1a9be3d8d985affc089b34396"><div class="ttname"><a href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">Dot::getCurve</a></div><div class="ttdeci">uint8_t getCurve(void) const</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00019">dot.cpp:19</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html_ad975f119c0627a928790b3cd5ca6da05"><div class="ttname"><a href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot::Dot</a></div><div class="ttdeci">Dot(uint16_t x, uint16_t y, uint8_t curve)</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00003">dot.cpp:3</a></div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -70,11 +70,15 @@ $(function() {
|
|||
<div class="title">dot.h</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef DOT_H</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define DOT_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <cstdint></span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include <stdexcept></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div><div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="classDot.html"> 7</a></span> <span class="keyword">class </span><a class="code" href="classDot.html">Dot</a></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> {</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  <a class="code" href="classDot.html">Dot</a>(uint16_t x, uint16_t y, uint8_t curve);</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  uint16_t getX(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  uint16_t getY(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  uint8_t getCurve(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  uint16_t x, y;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  uint8_t curve;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> };</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif // DOT_H</span></div></div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassDot_html"><div class="ttname"><a href="classDot.html">Dot</a></div><div class="ttdef"><b>Definition:</b> <a href="dot_8h_source.html#l00007">dot.h:7</a></div></div>
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef DOT_H</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define DOT_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <cstdint></span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include <stdexcept></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="classDot.html"> 12</a></span> <span class="keyword">class </span><a class="code" href="classDot.html">Dot</a></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> {</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <a class="code" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot</a>(uint16_t x, uint16_t y, uint8_t curve);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  uint16_t <a class="code" href="classDot.html#a029f0cc99c474122b77a708a317e7f77">getX</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  uint16_t <a class="code" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">getY</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  uint8_t <a class="code" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">getCurve</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  uint16_t x, y;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  uint8_t curve;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> };</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#endif // DOT_H</span></div></div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassDot_html_a029f0cc99c474122b77a708a317e7f77"><div class="ttname"><a href="classDot.html#a029f0cc99c474122b77a708a317e7f77">Dot::getX</a></div><div class="ttdeci">uint16_t getX(void) const</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00009">dot.cpp:9</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html"><div class="ttname"><a href="classDot.html">Dot</a></div><div class="ttdef"><b>Definition:</b> <a href="dot_8h_source.html#l00012">dot.h:12</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html_a8fcb987e6308d8184d1a2c8692227e58"><div class="ttname"><a href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">Dot::getY</a></div><div class="ttdeci">uint16_t getY(void) const</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00014">dot.cpp:14</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html_ad0ae7dc1a9be3d8d985affc089b34396"><div class="ttname"><a href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">Dot::getCurve</a></div><div class="ttdeci">uint8_t getCurve(void) const</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00019">dot.cpp:19</a></div></div>
|
||||
<div class="ttc" id="aclassDot_html_ad975f119c0627a928790b3cd5ca6da05"><div class="ttname"><a href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot::Dot</a></div><div class="ttdeci">Dot(uint16_t x, uint16_t y, uint8_t curve)</div><div class="ttdef"><b>Definition:</b> <a href="dot_8cpp_source.html#l00003">dot.cpp:3</a></div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -70,11 +70,11 @@ $(function() {
|
|||
<div class="title">driverexception.h</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef DRIVEREXCEPTION_H</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define DRIVEREXCEPTION_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <exception></span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// SOURCE: https://stackoverflow.com/a/8152888</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div><div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="classDriverException.html"> 8</a></span> <span class="keyword">class </span><a class="code" href="classDriverException.html">DriverException</a>: <span class="keyword">public</span> std::exception</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> {</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keyword">explicit</span> <a class="code" href="classDriverException.html">DriverException</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* message) : msg_(message)</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  {</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  }</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keyword">explicit</span> <a class="code" href="classDriverException.html">DriverException</a>(<span class="keyword">const</span> std::string& message) : msg_(message)</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  {</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  }</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keyword">virtual</span> ~<a class="code" href="classDriverException.html">DriverException</a>() <span class="keywordflow">throw</span> ()</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  }</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* what() <span class="keyword">const</span> <span class="keywordflow">throw</span> ()</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  {</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="keywordflow">return</span> msg_.c_str();</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  }</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  std::string msg_;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> };</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif // DRIVEREXCEPTION_H</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div></div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassDriverException_html"><div class="ttname"><a href="classDriverException.html">DriverException</a></div><div class="ttdef"><b>Definition:</b> <a href="driverexception_8h_source.html#l00008">driverexception.h:8</a></div></div>
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef DRIVEREXCEPTION_H</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define DRIVEREXCEPTION_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <exception></span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// SOURCE: https://stackoverflow.com/a/8152888</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div><div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="classDriverException.html"> 10</a></span> <span class="keyword">class </span><a class="code" href="classDriverException.html">DriverException</a>: <span class="keyword">public</span> std::exception</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> {</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <span class="keyword">explicit</span> <a class="code" href="classDriverException.html">DriverException</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* message) : msg_(message)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  {</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  }</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keyword">explicit</span> <a class="code" href="classDriverException.html">DriverException</a>(<span class="keyword">const</span> std::string& message) : msg_(message)</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  {</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  }</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keyword">virtual</span> ~<a class="code" href="classDriverException.html">DriverException</a>() <span class="keywordflow">throw</span> ()</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  {</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  }</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* what() <span class="keyword">const</span> <span class="keywordflow">throw</span> ()</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">return</span> msg_.c_str();</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  }</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  std::string msg_;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> };</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif // DRIVEREXCEPTION_H</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div></div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassDriverException_html"><div class="ttname"><a href="classDriverException.html">DriverException</a></div><div class="ttdef"><b>Definition:</b> <a href="driverexception_8h_source.html#l00010">driverexception.h:10</a></div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:14 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
81
docs/html/feature__tests_8c_source.html
Normal file
81
docs/html/feature__tests_8c_source.html
Normal file
File diff suppressed because one or more lines are too long
81
docs/html/feature__tests_8cxx_source.html
Normal file
81
docs/html/feature__tests_8cxx_source.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -67,39 +67,49 @@ $(function() {
|
|||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')"> </span><a class="el" href="dir_587c94d866dbb2f408f78cf41f9b2f8d.html" target="_self">drv</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="b15f_8cpp_source.html"><span class="icondoc"></span></a><b>b15f.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="b15f_8h_source.html"><span class="icondoc"></span></a><b>b15f.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="dot_8cpp_source.html"><span class="icondoc"></span></a><b>dot.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="dot_8h_source.html"><span class="icondoc"></span></a><b>dot.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="driverexception_8h_source.html"><span class="icondoc"></span></a><b>driverexception.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="plottyfile_8cpp_source.html"><span class="icondoc"></span></a><b>plottyfile.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="plottyfile_8h_source.html"><span class="icondoc"></span></a><b>plottyfile.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="timeoutexception_8h_source.html"><span class="icondoc"></span></a><b>timeoutexception.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="usart_8cpp_source.html"><span class="icondoc"></span></a><b>usart.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="usart_8h_source.html"><span class="icondoc"></span></a><b>usart.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="usartexception_8h_source.html"><span class="icondoc"></span></a><b>usartexception.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_1788f8309b1a812dcb800a185471cf6c.html" target="_self">ui</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="ui_8cpp_source.html"><span class="icondoc"></span></a><b>ui.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="ui_8h_source.html"><span class="icondoc"></span></a><b>ui.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view_8cpp_source.html"><span class="icondoc"></span></a><b>view.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view_8h_source.html"><span class="icondoc"></span></a><b>view.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__info_8cpp_source.html"><span class="icondoc"></span></a><b>view_info.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__info_8h_source.html"><span class="icondoc"></span></a><b>view_info.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__monitor_8cpp_source.html"><span class="icondoc"></span></a><b>view_monitor.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__monitor_8h_source.html"><span class="icondoc"></span></a><b>view_monitor.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__promt_8cpp_source.html"><span class="icondoc"></span></a><b>view_promt.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__promt_8h_source.html"><span class="icondoc"></span></a><b>view_promt.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__selection_8cpp_source.html"><span class="icondoc"></span></a><b>view_selection.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__selection_8h_source.html"><span class="icondoc"></span></a><b>view_selection.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="cli_8cpp_source.html"><span class="icondoc"></span></a><b>cli.cpp</b></td><td class="desc"></td></tr>
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')"> </span><a class="el" href="dir_95e29a8b8ee7c54052c171a88bb95675.html" target="_self">cmake-build-debug</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">▼</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')"> </span><a class="el" href="dir_f89abcb304c928c7d889aa5625570de5.html" target="_self">CMakeFiles</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">▼</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')"> </span><a class="el" href="dir_3d3c8ff3ebf9841b39117ac899f41936.html" target="_self">3.14.3</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_0_')">▼</span><span id="img_0_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_0_')"> </span><a class="el" href="dir_19f2f1b99f19c12fa55b8d312cf373ed.html" target="_self">CompilerIdC</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_0_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><a href="CMakeCCompilerId_8c_source.html"><span class="icondoc"></span></a><b>CMakeCCompilerId.c</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_0_0_1_" class="arrow" onclick="toggleFolder('0_0_0_1_')">▼</span><span id="img_0_0_0_1_" class="iconfopen" onclick="toggleFolder('0_0_0_1_')"> </span><a class="el" href="dir_90e361ec3542f3dd076ea3ad19547437.html" target="_self">CompilerIdCXX</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_1_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><a href="CMakeCXXCompilerId_8cpp_source.html"><span class="icondoc"></span></a><b>CMakeCXXCompilerId.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="feature__tests_8c_source.html"><span class="icondoc"></span></a><b>feature_tests.c</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="feature__tests_8cxx_source.html"><span class="icondoc"></span></a><b>feature_tests.cxx</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_587c94d866dbb2f408f78cf41f9b2f8d.html" target="_self">drv</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="b15f_8cpp_source.html"><span class="icondoc"></span></a><b>b15f.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="b15f_8h_source.html"><span class="icondoc"></span></a><b>b15f.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="backup_8cpp_source.html"><span class="icondoc"></span></a><b>backup.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="dot_8cpp_source.html"><span class="icondoc"></span></a><b>dot.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="dot_8h_source.html"><span class="icondoc"></span></a><b>dot.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="driverexception_8h_source.html"><span class="icondoc"></span></a><b>driverexception.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="plottyfile_8cpp_source.html"><span class="icondoc"></span></a><b>plottyfile.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_7_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="plottyfile_8h_source.html"><span class="icondoc"></span></a><b>plottyfile.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="timeoutexception_8h_source.html"><span class="icondoc"></span></a><b>timeoutexception.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_9_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="usart_8cpp_source.html"><span class="icondoc"></span></a><b>usart.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="usart_8h_source.html"><span class="icondoc"></span></a><b>usart.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_11_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="usartexception_8h_source.html"><span class="icondoc"></span></a><b>usartexception.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><span id="img_2_" class="iconfopen" onclick="toggleFolder('2_')"> </span><a class="el" href="dir_1788f8309b1a812dcb800a185471cf6c.html" target="_self">ui</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="ui_8cpp_source.html"><span class="icondoc"></span></a><b>ui.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="ui_8h_source.html"><span class="icondoc"></span></a><b>ui.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view_8cpp_source.html"><span class="icondoc"></span></a><b>view.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view_8h_source.html"><span class="icondoc"></span></a><b>view.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__info_8cpp_source.html"><span class="icondoc"></span></a><b>view_info.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__info_8h_source.html"><span class="icondoc"></span></a><b>view_info.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__monitor_8cpp_source.html"><span class="icondoc"></span></a><b>view_monitor.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__monitor_8h_source.html"><span class="icondoc"></span></a><b>view_monitor.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__promt_8cpp_source.html"><span class="icondoc"></span></a><b>view_promt.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__promt_8h_source.html"><span class="icondoc"></span></a><b>view_promt.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__selection_8cpp_source.html"><span class="icondoc"></span></a><b>view_selection.cpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="view__selection_8h_source.html"><span class="icondoc"></span></a><b>view_selection.h</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="cli_8cpp_source.html"><span class="icondoc"></span></a><b>cli.cpp</b></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -71,6 +71,9 @@ $(function() {
|
|||
<li>activateSelfTestMode()
|
||||
: <a class="el" href="classB15F.html#ad9bf80ee2485fb5aac9926c6ef0731f1">B15F</a>
|
||||
</li>
|
||||
<li>addDot()
|
||||
: <a class="el" href="classPlottyFile.html#ae091e6eaaca16302f17572ac7dec6f7c">PlottyFile</a>
|
||||
</li>
|
||||
<li>analogRead()
|
||||
: <a class="el" href="classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627">B15F</a>
|
||||
</li>
|
||||
|
@ -78,10 +81,17 @@ $(function() {
|
|||
: <a class="el" href="classB15F.html#ab82a324426c3063318c6cafb3089ae02">B15F</a>
|
||||
</li>
|
||||
<li>analogWrite0()
|
||||
: <a class="el" href="classB15F.html#a5c5583d591afdd3f9501856c6b0ba3e3">B15F</a>
|
||||
: <a class="el" href="classB15F.html#afc55fd590c7fa5c942d100cb60c4b0d3">B15F</a>
|
||||
</li>
|
||||
<li>analogWrite1()
|
||||
: <a class="el" href="classB15F.html#a63d67795879cdc0b035c9c970e7d6fc3">B15F</a>
|
||||
: <a class="el" href="classB15F.html#a7f1becceac744f5cd2ad529748fd836f">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_b"></a>- b -</h3><ul>
|
||||
<li>BAUDRATE
|
||||
: <a class="el" href="classB15F.html#a7d548d6861cfc69753161bf9cda14f87">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
@ -121,6 +131,12 @@ $(function() {
|
|||
<li>discard()
|
||||
: <a class="el" href="classB15F.html#ae4740cd473f40a1a4121dfa66b25e1d5">B15F</a>
|
||||
</li>
|
||||
<li>Dot()
|
||||
: <a class="el" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot</a>
|
||||
</li>
|
||||
<li>drop()
|
||||
: <a class="el" href="classUSART.html#a038d00c0b3d8c0c13c3e7eae5dad7813">USART</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -145,12 +161,74 @@ $(function() {
|
|||
<li>getBoardInfo()
|
||||
: <a class="el" href="classB15F.html#a4f01677e73d6d172a2c1cae9427a591b">B15F</a>
|
||||
</li>
|
||||
<li>getCurve()
|
||||
: <a class="el" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">Dot</a>
|
||||
</li>
|
||||
<li>getDescPara()
|
||||
: <a class="el" href="classPlottyFile.html#a536967daae3b382a5d6575f55450e198">PlottyFile</a>
|
||||
</li>
|
||||
<li>getDescX()
|
||||
: <a class="el" href="classPlottyFile.html#a9cf7baa569be308c2cf6e07cadded09d">PlottyFile</a>
|
||||
</li>
|
||||
<li>getDescY()
|
||||
: <a class="el" href="classPlottyFile.html#ab4a847fd71a804182f211233e194df45">PlottyFile</a>
|
||||
</li>
|
||||
<li>getFunctionType()
|
||||
: <a class="el" href="classPlottyFile.html#a88bb7d8350ed5fbc7a40e8d903c94bdb">PlottyFile</a>
|
||||
</li>
|
||||
<li>getInstance()
|
||||
: <a class="el" href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">B15F</a>
|
||||
</li>
|
||||
<li>getParaFirstCurve()
|
||||
: <a class="el" href="classPlottyFile.html#a40828c93d66fe80166c4f603d5bdfa48">PlottyFile</a>
|
||||
</li>
|
||||
<li>getParaStepWidth()
|
||||
: <a class="el" href="classPlottyFile.html#a9da23f2bb8e6eb1837fc992ffd4057db">PlottyFile</a>
|
||||
</li>
|
||||
<li>getQuadrant()
|
||||
: <a class="el" href="classPlottyFile.html#a54e94e80061a27614f2d4d63697d3376">PlottyFile</a>
|
||||
</li>
|
||||
<li>getRefX()
|
||||
: <a class="el" href="classPlottyFile.html#a7dd84b9f0826f3220fc6b5a4f1ce9890">PlottyFile</a>
|
||||
</li>
|
||||
<li>getRefY()
|
||||
: <a class="el" href="classPlottyFile.html#ae6650c61a3b1a610ce716253418bd7f2">PlottyFile</a>
|
||||
</li>
|
||||
<li>getRegister()
|
||||
: <a class="el" href="classB15F.html#a9bd47da39928af6f51075bdc3fe73ddc">B15F</a>
|
||||
</li>
|
||||
<li>getTimeout()
|
||||
: <a class="el" href="classUSART.html#a19cf777956a038878fc2d2b58c3d2b41">USART</a>
|
||||
</li>
|
||||
<li>getUnitPara()
|
||||
: <a class="el" href="classPlottyFile.html#abcda4139adf8c5ab8a93b13b84ac097c">PlottyFile</a>
|
||||
</li>
|
||||
<li>getUnitX()
|
||||
: <a class="el" href="classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3">PlottyFile</a>
|
||||
</li>
|
||||
<li>getUnitY()
|
||||
: <a class="el" href="classPlottyFile.html#a746b96036872dbece204e9739f3413b6">PlottyFile</a>
|
||||
</li>
|
||||
<li>getX()
|
||||
: <a class="el" href="classDot.html#a029f0cc99c474122b77a708a317e7f77">Dot</a>
|
||||
</li>
|
||||
<li>getY()
|
||||
: <a class="el" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">Dot</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_m"></a>- m -</h3><ul>
|
||||
<li>msg
|
||||
: <a class="el" href="classTimeoutException.html#aa625fc0fae48a67737a98eafb91c9624">TimeoutException</a>
|
||||
, <a class="el" href="classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79">USARTException</a>
|
||||
</li>
|
||||
<li>MSG_FAIL
|
||||
: <a class="el" href="classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e">B15F</a>
|
||||
</li>
|
||||
<li>MSG_OK
|
||||
: <a class="el" href="classB15F.html#ab01299858f74a6cec598688562e0ad02">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -162,25 +240,34 @@ $(function() {
|
|||
|
||||
|
||||
<h3><a id="index_p"></a>- p -</h3><ul>
|
||||
<li>printStatistics()
|
||||
: <a class="el" href="classUSART.html#a33559bb8f0eda33a489d47b9c9227b59">USART</a>
|
||||
<li>PRE
|
||||
: <a class="el" href="classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec">B15F</a>
|
||||
</li>
|
||||
<li>pwmSetFrequency()
|
||||
: <a class="el" href="classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1">B15F</a>
|
||||
</li>
|
||||
<li>pwmSetValue()
|
||||
: <a class="el" href="classB15F.html#af9aad3c0db5d5a8b37219d713e1977ee">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_r"></a>- r -</h3><ul>
|
||||
<li>readByte()
|
||||
: <a class="el" href="classUSART.html#a8f54b98b26bfe084359a5604bda82562">USART</a>
|
||||
</li>
|
||||
<li>readDipSwitch()
|
||||
: <a class="el" href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">B15F</a>
|
||||
</li>
|
||||
<li>readInt()
|
||||
: <a class="el" href="classUSART.html#a1534c229db71a375e556cf1e7d0b8119">USART</a>
|
||||
<li>receive()
|
||||
: <a class="el" href="classUSART.html#a0fdc238203852f00bd750127602b2a6a">USART</a>
|
||||
</li>
|
||||
<li>reconnect()
|
||||
: <a class="el" href="classB15F.html#a52557b375443c180a044e7d4e80a1ae7">B15F</a>
|
||||
</li>
|
||||
<li>RECONNECT_TIMEOUT
|
||||
: <a class="el" href="classB15F.html#a040951746fbfd632e12bd1ad14578816">B15F</a>
|
||||
</li>
|
||||
<li>RECONNECT_TRIES
|
||||
: <a class="el" href="classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -191,9 +278,51 @@ $(function() {
|
|||
<li>setBaudrate()
|
||||
: <a class="el" href="classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d">USART</a>
|
||||
</li>
|
||||
<li>setDescPara()
|
||||
: <a class="el" href="classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab">PlottyFile</a>
|
||||
</li>
|
||||
<li>setDescX()
|
||||
: <a class="el" href="classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a">PlottyFile</a>
|
||||
</li>
|
||||
<li>setDescY()
|
||||
: <a class="el" href="classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590">PlottyFile</a>
|
||||
</li>
|
||||
<li>setFunctionType()
|
||||
: <a class="el" href="classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f">PlottyFile</a>
|
||||
</li>
|
||||
<li>setParaFirstCurve()
|
||||
: <a class="el" href="classPlottyFile.html#aa676414793becb975506f48d6e949dd0">PlottyFile</a>
|
||||
</li>
|
||||
<li>setParaStepWidth()
|
||||
: <a class="el" href="classPlottyFile.html#a6caebd31e04e2e7081cc007047350355">PlottyFile</a>
|
||||
</li>
|
||||
<li>setQuadrant()
|
||||
: <a class="el" href="classPlottyFile.html#a1953ee0d9a87b7353c16139584e9c2ae">PlottyFile</a>
|
||||
</li>
|
||||
<li>setRefX()
|
||||
: <a class="el" href="classPlottyFile.html#a80c2c2e97a454566f9c1f2c51e1d7f3e">PlottyFile</a>
|
||||
</li>
|
||||
<li>setRefY()
|
||||
: <a class="el" href="classPlottyFile.html#a3a371228ddcc007e97eebe7cc04dffc2">PlottyFile</a>
|
||||
</li>
|
||||
<li>setRegister()
|
||||
: <a class="el" href="classB15F.html#ab446ecffab28d4515dfade79a8efc93d">B15F</a>
|
||||
</li>
|
||||
<li>setTimeout()
|
||||
: <a class="el" href="classUSART.html#ad7fe866cebe920784d2b17602824c7ff">USART</a>
|
||||
</li>
|
||||
<li>setUnitPara()
|
||||
: <a class="el" href="classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986">PlottyFile</a>
|
||||
</li>
|
||||
<li>setUnitX()
|
||||
: <a class="el" href="classPlottyFile.html#ab8d35a841ca9c325fca671cf34e03527">PlottyFile</a>
|
||||
</li>
|
||||
<li>setUnitY()
|
||||
: <a class="el" href="classPlottyFile.html#abb18c814f435926f741f7ceb310f3059">PlottyFile</a>
|
||||
</li>
|
||||
<li>startPlotty()
|
||||
: <a class="el" href="classPlottyFile.html#a08a115ef10458cadfe76077d623313df">PlottyFile</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -204,21 +333,54 @@ $(function() {
|
|||
<li>testIntConv()
|
||||
: <a class="el" href="classB15F.html#a7b8a0e2a9156f7dcb05d097f23666a78">B15F</a>
|
||||
</li>
|
||||
<li>TimeoutException()
|
||||
: <a class="el" href="classTimeoutException.html#aa45912234da11ffc9dd3594a1bbc0218">TimeoutException</a>
|
||||
</li>
|
||||
<li>transmit()
|
||||
: <a class="el" href="classUSART.html#a41b19dd58f307015b73e154048cd74ca">USART</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_u"></a>- u -</h3><ul>
|
||||
<li>USART()
|
||||
: <a class="el" href="classUSART.html#a5daed20dc595c43d87c4c28bb08a7449">USART</a>
|
||||
</li>
|
||||
<li>USARTException()
|
||||
: <a class="el" href="classUSARTException.html#a3c359db129825703b91392d5128cf93d">USARTException</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_w"></a>- w -</h3><ul>
|
||||
<li>writeByte()
|
||||
: <a class="el" href="classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5">USART</a>
|
||||
<li>WDT_TIMEOUT
|
||||
: <a class="el" href="classB15F.html#a158d13bc84aed6430cdede1396384e06">B15F</a>
|
||||
</li>
|
||||
<li>writeInt()
|
||||
: <a class="el" href="classUSART.html#a78b30d9aa863f38745e982860392599a">USART</a>
|
||||
<li>what()
|
||||
: <a class="el" href="classTimeoutException.html#a97eaf01fc39ddb94b060020b42fefd6e">TimeoutException</a>
|
||||
, <a class="el" href="classUSARTException.html#a2af5e3c00cd0585c7427c2e0420a8f15">USARTException</a>
|
||||
</li>
|
||||
<li>writeToFile()
|
||||
: <a class="el" href="classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305">PlottyFile</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index__7E"></a>- ~ -</h3><ul>
|
||||
<li>~TimeoutException()
|
||||
: <a class="el" href="classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540">TimeoutException</a>
|
||||
</li>
|
||||
<li>~USART()
|
||||
: <a class="el" href="classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749">USART</a>
|
||||
</li>
|
||||
<li>~USARTException()
|
||||
: <a class="el" href="classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be">USARTException</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -71,6 +71,9 @@ $(function() {
|
|||
<li>activateSelfTestMode()
|
||||
: <a class="el" href="classB15F.html#ad9bf80ee2485fb5aac9926c6ef0731f1">B15F</a>
|
||||
</li>
|
||||
<li>addDot()
|
||||
: <a class="el" href="classPlottyFile.html#ae091e6eaaca16302f17572ac7dec6f7c">PlottyFile</a>
|
||||
</li>
|
||||
<li>analogRead()
|
||||
: <a class="el" href="classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627">B15F</a>
|
||||
</li>
|
||||
|
@ -78,10 +81,10 @@ $(function() {
|
|||
: <a class="el" href="classB15F.html#ab82a324426c3063318c6cafb3089ae02">B15F</a>
|
||||
</li>
|
||||
<li>analogWrite0()
|
||||
: <a class="el" href="classB15F.html#a5c5583d591afdd3f9501856c6b0ba3e3">B15F</a>
|
||||
: <a class="el" href="classB15F.html#afc55fd590c7fa5c942d100cb60c4b0d3">B15F</a>
|
||||
</li>
|
||||
<li>analogWrite1()
|
||||
: <a class="el" href="classB15F.html#a63d67795879cdc0b035c9c970e7d6fc3">B15F</a>
|
||||
: <a class="el" href="classB15F.html#a7f1becceac744f5cd2ad529748fd836f">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
@ -121,6 +124,12 @@ $(function() {
|
|||
<li>discard()
|
||||
: <a class="el" href="classB15F.html#ae4740cd473f40a1a4121dfa66b25e1d5">B15F</a>
|
||||
</li>
|
||||
<li>Dot()
|
||||
: <a class="el" href="classDot.html#ad975f119c0627a928790b3cd5ca6da05">Dot</a>
|
||||
</li>
|
||||
<li>drop()
|
||||
: <a class="el" href="classUSART.html#a038d00c0b3d8c0c13c3e7eae5dad7813">USART</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -145,12 +154,60 @@ $(function() {
|
|||
<li>getBoardInfo()
|
||||
: <a class="el" href="classB15F.html#a4f01677e73d6d172a2c1cae9427a591b">B15F</a>
|
||||
</li>
|
||||
<li>getCurve()
|
||||
: <a class="el" href="classDot.html#ad0ae7dc1a9be3d8d985affc089b34396">Dot</a>
|
||||
</li>
|
||||
<li>getDescPara()
|
||||
: <a class="el" href="classPlottyFile.html#a536967daae3b382a5d6575f55450e198">PlottyFile</a>
|
||||
</li>
|
||||
<li>getDescX()
|
||||
: <a class="el" href="classPlottyFile.html#a9cf7baa569be308c2cf6e07cadded09d">PlottyFile</a>
|
||||
</li>
|
||||
<li>getDescY()
|
||||
: <a class="el" href="classPlottyFile.html#ab4a847fd71a804182f211233e194df45">PlottyFile</a>
|
||||
</li>
|
||||
<li>getFunctionType()
|
||||
: <a class="el" href="classPlottyFile.html#a88bb7d8350ed5fbc7a40e8d903c94bdb">PlottyFile</a>
|
||||
</li>
|
||||
<li>getInstance()
|
||||
: <a class="el" href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">B15F</a>
|
||||
</li>
|
||||
<li>getParaFirstCurve()
|
||||
: <a class="el" href="classPlottyFile.html#a40828c93d66fe80166c4f603d5bdfa48">PlottyFile</a>
|
||||
</li>
|
||||
<li>getParaStepWidth()
|
||||
: <a class="el" href="classPlottyFile.html#a9da23f2bb8e6eb1837fc992ffd4057db">PlottyFile</a>
|
||||
</li>
|
||||
<li>getQuadrant()
|
||||
: <a class="el" href="classPlottyFile.html#a54e94e80061a27614f2d4d63697d3376">PlottyFile</a>
|
||||
</li>
|
||||
<li>getRefX()
|
||||
: <a class="el" href="classPlottyFile.html#a7dd84b9f0826f3220fc6b5a4f1ce9890">PlottyFile</a>
|
||||
</li>
|
||||
<li>getRefY()
|
||||
: <a class="el" href="classPlottyFile.html#ae6650c61a3b1a610ce716253418bd7f2">PlottyFile</a>
|
||||
</li>
|
||||
<li>getRegister()
|
||||
: <a class="el" href="classB15F.html#a9bd47da39928af6f51075bdc3fe73ddc">B15F</a>
|
||||
</li>
|
||||
<li>getTimeout()
|
||||
: <a class="el" href="classUSART.html#a19cf777956a038878fc2d2b58c3d2b41">USART</a>
|
||||
</li>
|
||||
<li>getUnitPara()
|
||||
: <a class="el" href="classPlottyFile.html#abcda4139adf8c5ab8a93b13b84ac097c">PlottyFile</a>
|
||||
</li>
|
||||
<li>getUnitX()
|
||||
: <a class="el" href="classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3">PlottyFile</a>
|
||||
</li>
|
||||
<li>getUnitY()
|
||||
: <a class="el" href="classPlottyFile.html#a746b96036872dbece204e9739f3413b6">PlottyFile</a>
|
||||
</li>
|
||||
<li>getX()
|
||||
: <a class="el" href="classDot.html#a029f0cc99c474122b77a708a317e7f77">Dot</a>
|
||||
</li>
|
||||
<li>getY()
|
||||
: <a class="el" href="classDot.html#a8fcb987e6308d8184d1a2c8692227e58">Dot</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -162,21 +219,21 @@ $(function() {
|
|||
|
||||
|
||||
<h3><a id="index_p"></a>- p -</h3><ul>
|
||||
<li>printStatistics()
|
||||
: <a class="el" href="classUSART.html#a33559bb8f0eda33a489d47b9c9227b59">USART</a>
|
||||
<li>pwmSetFrequency()
|
||||
: <a class="el" href="classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1">B15F</a>
|
||||
</li>
|
||||
<li>pwmSetValue()
|
||||
: <a class="el" href="classB15F.html#af9aad3c0db5d5a8b37219d713e1977ee">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_r"></a>- r -</h3><ul>
|
||||
<li>readByte()
|
||||
: <a class="el" href="classUSART.html#a8f54b98b26bfe084359a5604bda82562">USART</a>
|
||||
</li>
|
||||
<li>readDipSwitch()
|
||||
: <a class="el" href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">B15F</a>
|
||||
</li>
|
||||
<li>readInt()
|
||||
: <a class="el" href="classUSART.html#a1534c229db71a375e556cf1e7d0b8119">USART</a>
|
||||
<li>receive()
|
||||
: <a class="el" href="classUSART.html#a0fdc238203852f00bd750127602b2a6a">USART</a>
|
||||
</li>
|
||||
<li>reconnect()
|
||||
: <a class="el" href="classB15F.html#a52557b375443c180a044e7d4e80a1ae7">B15F</a>
|
||||
|
@ -191,9 +248,51 @@ $(function() {
|
|||
<li>setBaudrate()
|
||||
: <a class="el" href="classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d">USART</a>
|
||||
</li>
|
||||
<li>setDescPara()
|
||||
: <a class="el" href="classPlottyFile.html#a431904143c3c1164a2e8b8cfec3c77ab">PlottyFile</a>
|
||||
</li>
|
||||
<li>setDescX()
|
||||
: <a class="el" href="classPlottyFile.html#aa0449c290265d55d6223b19cf0a88b0a">PlottyFile</a>
|
||||
</li>
|
||||
<li>setDescY()
|
||||
: <a class="el" href="classPlottyFile.html#a38a3a4dfc76bc70523727584bf01d590">PlottyFile</a>
|
||||
</li>
|
||||
<li>setFunctionType()
|
||||
: <a class="el" href="classPlottyFile.html#a4e5ab1ebb012a5cc1a3d6458a4cd512f">PlottyFile</a>
|
||||
</li>
|
||||
<li>setParaFirstCurve()
|
||||
: <a class="el" href="classPlottyFile.html#aa676414793becb975506f48d6e949dd0">PlottyFile</a>
|
||||
</li>
|
||||
<li>setParaStepWidth()
|
||||
: <a class="el" href="classPlottyFile.html#a6caebd31e04e2e7081cc007047350355">PlottyFile</a>
|
||||
</li>
|
||||
<li>setQuadrant()
|
||||
: <a class="el" href="classPlottyFile.html#a1953ee0d9a87b7353c16139584e9c2ae">PlottyFile</a>
|
||||
</li>
|
||||
<li>setRefX()
|
||||
: <a class="el" href="classPlottyFile.html#a80c2c2e97a454566f9c1f2c51e1d7f3e">PlottyFile</a>
|
||||
</li>
|
||||
<li>setRefY()
|
||||
: <a class="el" href="classPlottyFile.html#a3a371228ddcc007e97eebe7cc04dffc2">PlottyFile</a>
|
||||
</li>
|
||||
<li>setRegister()
|
||||
: <a class="el" href="classB15F.html#ab446ecffab28d4515dfade79a8efc93d">B15F</a>
|
||||
</li>
|
||||
<li>setTimeout()
|
||||
: <a class="el" href="classUSART.html#ad7fe866cebe920784d2b17602824c7ff">USART</a>
|
||||
</li>
|
||||
<li>setUnitPara()
|
||||
: <a class="el" href="classPlottyFile.html#abbac84109a1e0958a4ca5c270fac0986">PlottyFile</a>
|
||||
</li>
|
||||
<li>setUnitX()
|
||||
: <a class="el" href="classPlottyFile.html#ab8d35a841ca9c325fca671cf34e03527">PlottyFile</a>
|
||||
</li>
|
||||
<li>setUnitY()
|
||||
: <a class="el" href="classPlottyFile.html#abb18c814f435926f741f7ceb310f3059">PlottyFile</a>
|
||||
</li>
|
||||
<li>startPlotty()
|
||||
: <a class="el" href="classPlottyFile.html#a08a115ef10458cadfe76077d623313df">PlottyFile</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -204,21 +303,51 @@ $(function() {
|
|||
<li>testIntConv()
|
||||
: <a class="el" href="classB15F.html#a7b8a0e2a9156f7dcb05d097f23666a78">B15F</a>
|
||||
</li>
|
||||
<li>TimeoutException()
|
||||
: <a class="el" href="classTimeoutException.html#aa45912234da11ffc9dd3594a1bbc0218">TimeoutException</a>
|
||||
</li>
|
||||
<li>transmit()
|
||||
: <a class="el" href="classUSART.html#a41b19dd58f307015b73e154048cd74ca">USART</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_u"></a>- u -</h3><ul>
|
||||
<li>USART()
|
||||
: <a class="el" href="classUSART.html#a5daed20dc595c43d87c4c28bb08a7449">USART</a>
|
||||
</li>
|
||||
<li>USARTException()
|
||||
: <a class="el" href="classUSARTException.html#a3c359db129825703b91392d5128cf93d">USARTException</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_w"></a>- w -</h3><ul>
|
||||
<li>writeByte()
|
||||
: <a class="el" href="classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5">USART</a>
|
||||
<li>what()
|
||||
: <a class="el" href="classTimeoutException.html#a97eaf01fc39ddb94b060020b42fefd6e">TimeoutException</a>
|
||||
, <a class="el" href="classUSARTException.html#a2af5e3c00cd0585c7427c2e0420a8f15">USARTException</a>
|
||||
</li>
|
||||
<li>writeInt()
|
||||
: <a class="el" href="classUSART.html#a78b30d9aa863f38745e982860392599a">USART</a>
|
||||
<li>writeToFile()
|
||||
: <a class="el" href="classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305">PlottyFile</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index__7E"></a>- ~ -</h3><ul>
|
||||
<li>~TimeoutException()
|
||||
: <a class="el" href="classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540">TimeoutException</a>
|
||||
</li>
|
||||
<li>~USART()
|
||||
: <a class="el" href="classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749">USART</a>
|
||||
</li>
|
||||
<li>~USARTException()
|
||||
: <a class="el" href="classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be">USARTException</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
100
docs/html/functions_vars.html
Normal file
100
docs/html/functions_vars.html
Normal file
|
@ -0,0 +1,100 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: Class Members - Variables</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">B15F
|
||||
</div>
|
||||
<div id="projectbrief">Board 15 Famulus Edition</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.16 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>BAUDRATE
|
||||
: <a class="el" href="classB15F.html#a7d548d6861cfc69753161bf9cda14f87">B15F</a>
|
||||
</li>
|
||||
<li>msg
|
||||
: <a class="el" href="classTimeoutException.html#aa625fc0fae48a67737a98eafb91c9624">TimeoutException</a>
|
||||
, <a class="el" href="classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79">USARTException</a>
|
||||
</li>
|
||||
<li>MSG_FAIL
|
||||
: <a class="el" href="classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e">B15F</a>
|
||||
</li>
|
||||
<li>MSG_OK
|
||||
: <a class="el" href="classB15F.html#ab01299858f74a6cec598688562e0ad02">B15F</a>
|
||||
</li>
|
||||
<li>PRE
|
||||
: <a class="el" href="classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec">B15F</a>
|
||||
</li>
|
||||
<li>RECONNECT_TIMEOUT
|
||||
: <a class="el" href="classB15F.html#a040951746fbfd632e12bd1ad14578816">B15F</a>
|
||||
</li>
|
||||
<li>RECONNECT_TRIES
|
||||
: <a class="el" href="classB15F.html#a6c4895bdbcd71ff6743becf97985c2dc">B15F</a>
|
||||
</li>
|
||||
<li>WDT_TIMEOUT
|
||||
: <a class="el" href="classB15F.html#a158d13bc84aed6430cdede1396384e06">B15F</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -86,7 +86,7 @@ $(function() {
|
|||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>B15F: Einführung</title>
|
||||
<title>B15F: B15F Benutzerhandbuch</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
|
@ -63,16 +63,90 @@ $(function() {
|
|||
|
||||
<div class="PageDoc"><div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Einführung </div> </div>
|
||||
<div class="title"><a class="el" href="classB15F.html">B15F</a> Benutzerhandbuch </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Die wichtigste Klasse für die Steuerung des Board 15 ist <a href="classB15F.html">B15F</a>. <br />
|
||||
Dort befindet sich auch eine Übersicht der verfügbaren Befehle. </p>
|
||||
<div class="textblock"><p><em>Hinweis</em>: Terminal-Befehle sind <b>fett</b> gedruckt</p>
|
||||
<h1><a class="anchor" id="autotoc_md1"></a>
|
||||
Installation</h1>
|
||||
<h2><a class="anchor" id="autotoc_md2"></a>
|
||||
1. Abhängigkeiten installieren</h2>
|
||||
<p>(a) <b>sudo apt-get update</b> <br />
|
||||
(b) <b>sudo apt-get install git avr-libc avrdude libncurses5-dev g++</b> <br />
|
||||
</p>
|
||||
<h2><a class="anchor" id="autotoc_md3"></a>
|
||||
2. Das Repository klonen</h2>
|
||||
<p>(a) <b>cd /home/famulus/</b> <br />
|
||||
(b) <b>git clone "https://github.com/devfix/b15f.git"</b> <br />
|
||||
</p>
|
||||
<h2><a class="anchor" id="autotoc_md4"></a>
|
||||
3. Die Firmware installieren</h2>
|
||||
<p>(a) <b>cd "/home/famulus/b15f/firmware"</b> <br />
|
||||
(b) Passen Sie in der Datei <em>Makefile</em> die Option "MCU = ..." an die MCU des vorliegenden Boards an <br />
|
||||
(<em>atmega1284</em> und <em>atmega1284p</em> sind nicht identisch!) <br />
|
||||
(c) <b>make</b> <br />
|
||||
Wenn udev richtig konfiguriert wurde: <br />
|
||||
(d I) <b>make upload</b> <br />
|
||||
Sonst: <br />
|
||||
(d II) <b>sudo make upload</b> <br />
|
||||
</p>
|
||||
<h2><a class="anchor" id="autotoc_md5"></a>
|
||||
4. Die Steuersoftware (Bibliothek & CLI) installieren</h2>
|
||||
<p>(a) <b>cd "/home/famulus/b15f/control/src"</b> <br />
|
||||
(b) <b>make</b> <br />
|
||||
(Die Warnungen durch doxygen können ignoriert werden.)</p>
|
||||
<p>(c) <b>sudo make install</b> <br />
|
||||
</p>
|
||||
<h1><a class="anchor" id="autotoc_md6"></a>
|
||||
Aktualisierung</h1>
|
||||
<p>(a) <b>cd /home/famulus/b15f/</b> <br />
|
||||
(b) <b>git pull –prune</b> <br />
|
||||
(c) <b>cd "/home/famulus/b15f/firmware"</b> <br />
|
||||
(d) <b>make clean</b> <br />
|
||||
(e) <b>cd "/home/famulus/b15f/control/src"</b> <br />
|
||||
(f) <b>make clean</b> <br />
|
||||
(g) Installation ab Schritt 3 wiederholen</p>
|
||||
<h1><a class="anchor" id="autotoc_md7"></a>
|
||||
Das CommandLineInterface (CLI) benutzen</h1>
|
||||
<p>(a) Öffnen Sie ein Terminal und maximieren Sie das Fenster <br />
|
||||
(b) Start des CLI erfolgt durch <b>b15fcli</b> <br />
|
||||
(c) Die Navigation erfolgt durch <Tab>, die Pfeiltasten und <Enter> oder die Maus <br />
|
||||
(d) Mit <Strg + c> kann das Programm sofort verlassen werden</p>
|
||||
<h1><a class="anchor" id="autotoc_md8"></a>
|
||||
Eigene Programme mit B15F schreiben</h1>
|
||||
<h2><a class="anchor" id="autotoc_md9"></a>
|
||||
Grundsätzliches</h2>
|
||||
<p>Die wichtigste Klasse für die Steuerung des Board 15 ist <a href="https://devfix.github.io/b15f/html/classB15F.html">B15F</a>. <br />
|
||||
Dort befindet sich auch eine Übersicht der verfügbaren Befehle. <br />
|
||||
</p>
|
||||
<h2><a class="anchor" id="autotoc_md10"></a>
|
||||
Beispiele</h2>
|
||||
<p>In dem Verzeichnis <a href="https://github.com/devfix/b15f/tree/master/control/examples">b15f/control/examples</a> sind einige Beispiele für die Verwendung einzelner <a class="el" href="classB15F.html">B15F</a> Funktionen. <br />
|
||||
Zu jedem Beispiel gehört eine <em>main.cpp</em> mit dem Quellcode und eine <em>Makefile</em>-Datei. <br />
|
||||
Das Beispiel kann mit <b>make</b> kompiliert und mit **./main.elf** gestartet werden.</p>
|
||||
<h2><a class="anchor" id="autotoc_md11"></a>
|
||||
Den B15F Treiber verwenden</h2>
|
||||
<p>Benötigt wird der B15F-Header: <br />
|
||||
<code>#include <b15f/b15f.h></code> <br />
|
||||
und der Header für die plottyfile-Generierung, falls mit Kennlinien gearbeitet werden soll: <br />
|
||||
<code>#include <b15f/plottyfile.h></code></p>
|
||||
<p>Für die Interaktion wird eine Referenz auf die aktuelle Treiberinstanz gespeichert: <br />
|
||||
<code><a class="el" href="classB15F.html">B15F</a>& drv = <a class="el" href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">B15F::getInstance()</a>;</code> <br />
|
||||
Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Board hergestellt. <br />
|
||||
Ab jetzt können auf dem Object <code>drv</code> verschiedene Methoden angewand werden, siehe <a href="https://devfix.github.io/b15f/html/classB15F.html">B15F</a>. <br />
|
||||
</p>
|
||||
<h2><a class="anchor" id="autotoc_md12"></a>
|
||||
Kennlinien mit plottyfile generieren</h2>
|
||||
<p>Die Beschreibung zu Plottyfile befindet sich <a href="https://devfix.github.io/b15f/html/classPlottyFile.html">hier</a>. <br />
|
||||
Nach dem Include von plottyfile kann ein neues Objekt erzeugt und konfiguriert werden: <br />
|
||||
</p><div class="fragment"><div class="line"> {C++}</div><div class="line">PlottyFile pf; </div><div class="line">pf.setUnitX("V"); </div><div class="line">pf.setUnitY("V"); </div><div class="line">pf.setUnitPara("V"); </div><div class="line">pf.setDescX("U_{OUT}"); </div><div class="line">pf.setDescY("U_{IN}"); </div><div class="line">pf.setDescPara(""); </div><div class="line">pf.setRefX(5); </div><div class="line">pf.setRefY(5); </div><div class="line">pf.setParaFirstCurve(0); </div><div class="line">pf.setParaStepWidth(0);</div></div><!-- fragment --><p> Messpunkte können anschließend hinzugefügt werden. <br />
|
||||
Dabei gehören Punkte mit dem gleichen Index für <code>curve</code> (<em>uint8_t</em>) zur selben Kurve und erhalten durch Plotty automatisch die gleiche Farbe. <br />
|
||||
</p><div class="fragment"><div class="line"> {C++}</div><div class="line">pf.addDot(Dot(x, y, curve));</div></div><!-- fragment --><p> <code>x</code> und <code>y</code> sind <em>uint16_t</em>, also keine Gleitkommazahlen. </p>
|
||||
</div></div><!-- PageDoc -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Jun 7 2019 11:03:15 for B15F by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.16
|
||||
</small></address>
|
||||
|
|
|
@ -29,17 +29,21 @@ var menudata={children:[
|
|||
{text:"Class Members",url:"functions.html",children:[
|
||||
{text:"All",url:"functions.html",children:[
|
||||
{text:"a",url:"functions.html#index_a"},
|
||||
{text:"b",url:"functions.html#index_b"},
|
||||
{text:"c",url:"functions.html#index_c"},
|
||||
{text:"d",url:"functions.html#index_d"},
|
||||
{text:"e",url:"functions.html#index_e"},
|
||||
{text:"f",url:"functions.html#index_f"},
|
||||
{text:"g",url:"functions.html#index_g"},
|
||||
{text:"m",url:"functions.html#index_m"},
|
||||
{text:"o",url:"functions.html#index_o"},
|
||||
{text:"p",url:"functions.html#index_p"},
|
||||
{text:"r",url:"functions.html#index_r"},
|
||||
{text:"s",url:"functions.html#index_s"},
|
||||
{text:"t",url:"functions.html#index_t"},
|
||||
{text:"w",url:"functions.html#index_w"}]},
|
||||
{text:"u",url:"functions.html#index_u"},
|
||||
{text:"w",url:"functions.html#index_w"},
|
||||
{text:"~",url:"functions.html#index__7E"}]},
|
||||
{text:"Functions",url:"functions_func.html",children:[
|
||||
{text:"a",url:"functions_func.html#index_a"},
|
||||
{text:"c",url:"functions_func.html#index_c"},
|
||||
|
@ -52,6 +56,9 @@ var menudata={children:[
|
|||
{text:"r",url:"functions_func.html#index_r"},
|
||||
{text:"s",url:"functions_func.html#index_s"},
|
||||
{text:"t",url:"functions_func.html#index_t"},
|
||||
{text:"w",url:"functions_func.html#index_w"}]}]}]},
|
||||
{text:"u",url:"functions_func.html#index_u"},
|
||||
{text:"w",url:"functions_func.html#index_w"},
|
||||
{text:"~",url:"functions_func.html#index__7E"}]},
|
||||
{text:"Variables",url:"functions_vars.html"}]}]},
|
||||
{text:"Files",url:"files.html",children:[
|
||||
{text:"File List",url:"files.html"}]}]}
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -2,8 +2,9 @@ var searchData=
|
|||
[
|
||||
['abort',['abort',['../classB15F.html#a3f09a418f9e3be5d1d750e4515c96f1e',1,'B15F::abort(std::string msg)'],['../classB15F.html#ac962a6a49bddd0e261a8c7d3aded23f8',1,'B15F::abort(std::exception &ex)']]],
|
||||
['activateselftestmode',['activateSelfTestMode',['../classB15F.html#ad9bf80ee2485fb5aac9926c6ef0731f1',1,'B15F']]],
|
||||
['adddot',['addDot',['../classPlottyFile.html#ae091e6eaaca16302f17572ac7dec6f7c',1,'PlottyFile::addDot(Dot &dot)'],['../classPlottyFile.html#a80e4b45219b4e9571992edfc28a28568',1,'PlottyFile::addDot(Dot dot)']]],
|
||||
['analogread',['analogRead',['../classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627',1,'B15F']]],
|
||||
['analogsequence',['analogSequence',['../classB15F.html#ab82a324426c3063318c6cafb3089ae02',1,'B15F']]],
|
||||
['analogwrite0',['analogWrite0',['../classB15F.html#a5c5583d591afdd3f9501856c6b0ba3e3',1,'B15F']]],
|
||||
['analogwrite1',['analogWrite1',['../classB15F.html#a63d67795879cdc0b035c9c970e7d6fc3',1,'B15F']]]
|
||||
['analogwrite0',['analogWrite0',['../classB15F.html#afc55fd590c7fa5c942d100cb60c4b0d3',1,'B15F']]],
|
||||
['analogwrite1',['analogWrite1',['../classB15F.html#a7f1becceac744f5cd2ad529748fd836f',1,'B15F']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
var searchData=
|
||||
[
|
||||
['b15f',['B15F',['../classB15F.html',1,'']]]
|
||||
['b15f',['B15F',['../classB15F.html',1,'']]],
|
||||
['baudrate',['BAUDRATE',['../classB15F.html#a7d548d6861cfc69753161bf9cda14f87',1,'B15F']]],
|
||||
['b15f_20benutzerhandbuch',['B15F Benutzerhandbuch',['../index.html',1,'']]]
|
||||
];
|
||||
|
|
30
docs/html/search/all_10.html
Normal file
30
docs/html/search/all_10.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.8.16"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="all_10.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript"><!--
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
/* @license-end */
|
||||
--></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
6
docs/html/search/all_10.js
Normal file
6
docs/html/search/all_10.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
var searchData=
|
||||
[
|
||||
['_7etimeoutexception',['~TimeoutException',['../classTimeoutException.html#a2f686b262d2ccffa0090fda9b44ab540',1,'TimeoutException']]],
|
||||
['_7eusart',['~USART',['../classUSART.html#a0c8eb1a939ca00921e22f6cbcc7bb749',1,'USART']]],
|
||||
['_7eusartexception',['~USARTException',['../classUSARTException.html#a0e008b3cb4974859e6bc8c8f8eb480be',1,'USARTException']]]
|
||||
];
|
|
@ -7,6 +7,7 @@ var searchData=
|
|||
['digitalwrite0',['digitalWrite0',['../classB15F.html#a13797edea1c50278988373acbd110064',1,'B15F']]],
|
||||
['digitalwrite1',['digitalWrite1',['../classB15F.html#aa225e7fc813849634063e071ef25db1b',1,'B15F']]],
|
||||
['discard',['discard',['../classB15F.html#ae4740cd473f40a1a4121dfa66b25e1d5',1,'B15F']]],
|
||||
['dot',['Dot',['../classDot.html',1,'']]],
|
||||
['driverexception',['DriverException',['../classDriverException.html',1,'']]]
|
||||
['dot',['Dot',['../classDot.html',1,'Dot'],['../classDot.html#ad975f119c0627a928790b3cd5ca6da05',1,'Dot::Dot()']]],
|
||||
['driverexception',['DriverException',['../classDriverException.html',1,'']]],
|
||||
['drop',['drop',['../classUSART.html#a038d00c0b3d8c0c13c3e7eae5dad7813',1,'USART']]]
|
||||
];
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['exec',['exec',['../classB15F.html#a1a7ac52984ed7ecac008a3e4060eee3a',1,'B15F']]],
|
||||
['einführung',['Einführung',['../index.html',1,'']]]
|
||||
['exec',['exec',['../classB15F.html#a1a7ac52984ed7ecac008a3e4060eee3a',1,'B15F']]]
|
||||
];
|
||||
|
|
|
@ -2,6 +2,22 @@ var searchData=
|
|||
[
|
||||
['getbaudrate',['getBaudrate',['../classUSART.html#a4918672d8069df205378a528b1892db3',1,'USART']]],
|
||||
['getboardinfo',['getBoardInfo',['../classB15F.html#a4f01677e73d6d172a2c1cae9427a591b',1,'B15F']]],
|
||||
['getcurve',['getCurve',['../classDot.html#ad0ae7dc1a9be3d8d985affc089b34396',1,'Dot']]],
|
||||
['getdescpara',['getDescPara',['../classPlottyFile.html#a536967daae3b382a5d6575f55450e198',1,'PlottyFile']]],
|
||||
['getdescx',['getDescX',['../classPlottyFile.html#a9cf7baa569be308c2cf6e07cadded09d',1,'PlottyFile']]],
|
||||
['getdescy',['getDescY',['../classPlottyFile.html#ab4a847fd71a804182f211233e194df45',1,'PlottyFile']]],
|
||||
['getfunctiontype',['getFunctionType',['../classPlottyFile.html#a88bb7d8350ed5fbc7a40e8d903c94bdb',1,'PlottyFile']]],
|
||||
['getinstance',['getInstance',['../classB15F.html#a8b4533d232c55ef2aa967e39e2d23380',1,'B15F']]],
|
||||
['gettimeout',['getTimeout',['../classUSART.html#a19cf777956a038878fc2d2b58c3d2b41',1,'USART']]]
|
||||
['getparafirstcurve',['getParaFirstCurve',['../classPlottyFile.html#a40828c93d66fe80166c4f603d5bdfa48',1,'PlottyFile']]],
|
||||
['getparastepwidth',['getParaStepWidth',['../classPlottyFile.html#a9da23f2bb8e6eb1837fc992ffd4057db',1,'PlottyFile']]],
|
||||
['getquadrant',['getQuadrant',['../classPlottyFile.html#a54e94e80061a27614f2d4d63697d3376',1,'PlottyFile']]],
|
||||
['getrefx',['getRefX',['../classPlottyFile.html#a7dd84b9f0826f3220fc6b5a4f1ce9890',1,'PlottyFile']]],
|
||||
['getrefy',['getRefY',['../classPlottyFile.html#ae6650c61a3b1a610ce716253418bd7f2',1,'PlottyFile']]],
|
||||
['getregister',['getRegister',['../classB15F.html#a9bd47da39928af6f51075bdc3fe73ddc',1,'B15F']]],
|
||||
['gettimeout',['getTimeout',['../classUSART.html#a19cf777956a038878fc2d2b58c3d2b41',1,'USART']]],
|
||||
['getunitpara',['getUnitPara',['../classPlottyFile.html#abcda4139adf8c5ab8a93b13b84ac097c',1,'PlottyFile']]],
|
||||
['getunitx',['getUnitX',['../classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3',1,'PlottyFile']]],
|
||||
['getunity',['getUnitY',['../classPlottyFile.html#a746b96036872dbece204e9739f3413b6',1,'PlottyFile']]],
|
||||
['getx',['getX',['../classDot.html#a029f0cc99c474122b77a708a317e7f77',1,'Dot']]],
|
||||
['gety',['getY',['../classDot.html#a8fcb987e6308d8184d1a2c8692227e58',1,'Dot']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
var searchData=
|
||||
[
|
||||
['opendevice',['openDevice',['../classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a',1,'USART']]]
|
||||
['msg',['msg',['../classTimeoutException.html#aa625fc0fae48a67737a98eafb91c9624',1,'TimeoutException::msg()'],['../classUSARTException.html#a14c80df95f216d221aa97cffbcd8dd79',1,'USARTException::msg()']]],
|
||||
['msg_5ffail',['MSG_FAIL',['../classB15F.html#a77d1ecf24b406c9204665d3b09c36f1e',1,'B15F']]],
|
||||
['msg_5fok',['MSG_OK',['../classB15F.html#ab01299858f74a6cec598688562e0ad02',1,'B15F']]]
|
||||
];
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue