b15f.cpp uses only usart transmit & receive

This commit is contained in:
Tristan Krause 2019-06-04 10:28:01 +02:00
parent ab82f2f90e
commit b4996e84c8
72 changed files with 806 additions and 319 deletions

BIN
control/bin/b15fcli Executable file

Binary file not shown.

View file

@ -12,9 +12,7 @@
</component>
<component name="ChangeListManager">
<list default="true" id="d13a1bae-0fd7-48fc-b53c-d6dd1aaf95b9" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/drv/usart.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/drv/usart.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/drv/usart.h" beforeDir="false" afterPath="$PROJECT_DIR$/drv/usart.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/drv/usartexception.h" beforeDir="false" afterPath="$PROJECT_DIR$/drv/usartexception.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/drv/b15f.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/drv/b15f.cpp" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/cmake-build-debug/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@ -31,7 +29,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<state>
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
</state>
</provider>
@ -40,7 +38,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/drv/usart.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1140">
<state relative-caret-position="-1000">
<caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" />
<folding>
<element signature="e#33#51#0" expanded="true" />
@ -52,8 +50,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/drv/usart.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-376">
<caret line="25" column="40" selection-start-line="25" selection-start-column="32" selection-end-line="25" selection-end-column="40" />
<state relative-caret-position="-25">
<caret line="70" column="1" lean-forward="true" selection-start-line="70" selection-start-column="1" selection-end-line="70" selection-end-column="1" />
</state>
</provider>
</entry>
@ -61,17 +59,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/drv/backup.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="780">
<caret line="52" selection-start-line="52" selection-end-line="52" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/drv/usartexception.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="58">
<caret line="4" column="17" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
<state relative-caret-position="135">
<caret line="9" column="22" lean-forward="true" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
</state>
</provider>
</entry>
@ -79,17 +68,17 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/drv/b15f.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="267">
<caret line="232" column="43" selection-start-line="232" selection-start-column="39" selection-end-line="232" selection-end-column="43" />
<state relative-caret-position="285">
<caret line="34" column="41" selection-start-line="34" selection-start-column="41" selection-end-line="34" selection-end-column="41" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/drv/b15f.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192">
<caret line="221" column="29" selection-start-line="221" selection-start-column="29" selection-end-line="221" selection-end-column="29" />
<state relative-caret-position="650">
<caret line="320" column="19" selection-start-line="320" selection-start-column="19" selection-end-line="320" selection-end-column="19" />
</state>
</provider>
</entry>
@ -115,11 +104,11 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/drv/b15f.cpp" />
<option value="$PROJECT_DIR$/drv/usart.cpp" />
<option value="$PROJECT_DIR$/drv/backup.cpp" />
<option value="$PROJECT_DIR$/drv/usart.h" />
<option value="$PROJECT_DIR$/drv/usartexception.h" />
<option value="$PROJECT_DIR$/drv/b15f.cpp" />
</list>
</option>
</component>
@ -202,12 +191,12 @@
<option name="presentableId" value="Default" />
<updated>1559118962147</updated>
<workItem from="1559118964304" duration="1913000" />
<workItem from="1559633658436" duration="1568000" />
<workItem from="1559633658436" duration="3165000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="3481000" />
<option name="totallyTimeSpent" value="5078000" />
</component>
<component name="ToolWindowManager">
<frame x="67" y="25" width="1853" height="1055" extended-state="6" />
@ -225,7 +214,7 @@
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Database Changes" order="7" />
<window_info anchor="bottom" id="Messages" order="8" weight="0.32937366" />
<window_info active="true" anchor="bottom" id="Terminal" order="9" visible="true" weight="0.44168466" />
<window_info active="true" anchor="bottom" id="Terminal" order="9" visible="true" weight="0.29049677" />
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
<window_info anchor="bottom" id="Version Control" order="11" />
<window_info anchor="bottom" id="CMake" order="12" weight="0.33045357" />
@ -242,42 +231,42 @@
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<state>
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/b15f.cpp">
<entry file="file://$PROJECT_DIR$/drv/usartexception.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192">
<caret line="221" column="29" selection-start-line="221" selection-start-column="29" selection-end-line="221" selection-end-column="29" />
<state relative-caret-position="43">
<caret line="3" column="17" selection-start-line="3" selection-start-column="17" selection-end-line="3" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/b15f.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="267">
<caret line="232" column="43" selection-start-line="232" selection-start-column="39" selection-end-line="232" selection-end-column="43" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/usart.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-376">
<caret line="25" column="40" selection-start-line="25" selection-start-column="32" selection-end-line="25" selection-end-column="40" />
<state relative-caret-position="285">
<caret line="34" column="41" selection-start-line="34" selection-start-column="41" selection-end-line="34" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/backup.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="780">
<caret line="52" selection-start-line="52" selection-end-line="52" />
<state relative-caret-position="135">
<caret line="9" column="22" lean-forward="true" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/usart.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-25">
<caret line="70" column="1" lean-forward="true" selection-start-line="70" selection-start-column="1" selection-end-line="70" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/usart.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1140">
<state relative-caret-position="-1000">
<caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" />
<folding>
<element signature="e#33#51#0" expanded="true" />
@ -285,10 +274,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/drv/usartexception.h">
<entry file="file://$PROJECT_DIR$/drv/b15f.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="58">
<caret line="4" column="17" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
<state relative-caret-position="650">
<caret line="320" column="19" selection-start-line="320" selection-start-column="19" selection-end-line="320" selection-end-column="19" />
</state>
</provider>
</entry>

View file

@ -1,6 +1,6 @@
#include "b15f.h"
B15F* B15F::instance = nullptr;
B15F *B15F::instance = nullptr;
errorhandler_t B15F::errorhandler = nullptr;
B15F::B15F()
@ -12,57 +12,57 @@ 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)
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)
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--)
while (tries--)
{
// verwerfe Daten, die µC noch hat
//discard();
if(!testConnection())
if (!testConnection())
continue;
if(!testIntConv())
if (!testIntConv())
continue;
break;
}
if(tries == 0)
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::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--)
while (tries--)
{
delay_ms(RECONNECT_TIMEOUT);
discard();
if(testConnection())
if (testConnection())
return;
}
@ -73,15 +73,20 @@ void B15F::discard(void)
{
try
{
usart.clearOutputBuffer();
for(uint8_t i = 0; i < 16; i++)
uint8_t rq[] =
{
usart.writeByte(RQ_DISC); // sende discard Befehl (verwerfe input)
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)
catch (std::exception &ex)
{
abort(ex);
}
@ -93,13 +98,17 @@ bool B15F::testConnection()
srand(time(NULL));
uint8_t dummy = rand() % 256;
usart.writeByte(RQ_TEST);
usart.writeByte(dummy);
uint8_t rq[] =
{
RQ_TEST,
dummy
};
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t aw = usart.readByte();
uint8_t mirror = usart.readByte();
uint8_t aw[2];
usart.receive(&aw[0], 0, sizeof(aw));
return aw == MSG_OK && mirror == dummy;
return aw[0] == MSG_OK && aw[1] == dummy;
}
bool B15F::testIntConv()
@ -107,10 +116,17 @@ bool B15F::testIntConv()
srand(time(NULL));
uint16_t dummy = rand() % (0xFFFF / 3);
usart.writeByte(RQ_INT);
usart.writeInt(dummy);
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));
uint16_t aw = usart.readInt();
return aw == dummy * 3;
}
@ -119,24 +135,30 @@ 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 rq[] =
{
uint8_t len = usart.readByte();
std::string str;
RQ_INFO
};
usart.transmit(&rq[0], 0, sizeof(rq));
while(len--)
{
str += static_cast<char>(usart.readByte());
}
uint8_t n;
usart.receive(&n, 0, sizeof(n));
info.push_back(str);
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.readByte();
if(aw != MSG_OK)
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;
@ -144,83 +166,121 @@ std::vector<std::string> B15F::getBoardInfo(void)
bool B15F::activateSelfTestMode()
{
usart.writeByte(RQ_ST);
uint8_t rq[] =
{
RQ_ST
};
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t aw = usart.readByte();
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 rq[] =
{
RQ_BA0,
port
};
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t aw = usart.readByte();
delay_us(10);
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 rq[] =
{
RQ_BA1,
port
};
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t aw = usart.readByte();
delay_us(10);
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;
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;
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;
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 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.readByte();
delay_us(10);
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 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.readByte();
delay_us(10);
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)
if (channel > 7)
abort("Bad ADC channel: " + std::to_string(channel));
uint8_t rq[] =
@ -231,16 +291,20 @@ uint16_t B15F::analogRead(uint8_t channel)
usart.transmit(&rq[0], 0, sizeof(rq));
uint16_t adc = usart.readInt();
uint16_t aw;
usart.receive(reinterpret_cast<uint8_t*>(&aw), 0, sizeof(aw));
if(adc > 1023)
if (aw > 1023)
abort("Bad ADC data detected (1)");
return adc;
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
/*
// prepare pointers
buffer_a += offset_a;
buffer_b += offset_b;
@ -253,38 +317,31 @@ void B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset
usart.writeInt(static_cast<uint16_t>(delta));
usart.writeInt(count);
for(uint16_t i = 0; i < count; i++)
{
if(buffer_a)
{
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
if (buffer_a[i] > 1023) // check for broken usart connection
abort("Bad ADC data detected (2)");
}
else
{
} else {
usart.readInt();
}
if(buffer_b)
{
if (buffer_b) {
buffer_b[i] = usart.readInt();
if(buffer_b[i] > 1023) // check for broken usart connection
if (buffer_b[i] > 1023) // check for broken usart connection
abort("Bad ADC data detected (3)");
}
else
{
} else {
usart.readInt();
}
}
uint8_t aw = usart.readByte();
if(aw != MSG_OK)
if (aw != MSG_OK)
abort("Sequenz unterbrochen");
delay_us(10);
delay_us(10);*/
}
uint8_t B15F::pwmSetFrequency(uint32_t freq)
@ -294,17 +351,17 @@ uint8_t B15F::pwmSetFrequency(uint32_t freq)
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 >> 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 byte = usart.readByte();
delay_us(10);
return byte;
uint8_t aw;
usart.receive(&aw, 0, sizeof(aw));
return aw;
}
bool B15F::pwmSetValue(uint8_t value)
@ -319,8 +376,8 @@ bool B15F::pwmSetValue(uint8_t value)
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t aw = usart.readByte();
delay_us(10);
uint8_t aw;
usart.receive(&aw, 0, sizeof(aw));
return aw == MSG_OK;
}
@ -337,9 +394,9 @@ bool B15F::setRegister(uint8_t adr, uint8_t val)
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t byte = usart.readByte();
delay_us(10);
return byte == val;
uint8_t aw;
usart.receive(&aw, 0, sizeof(aw));
return aw == val;
}
uint8_t B15F::getRegister(uint8_t adr)
@ -354,8 +411,8 @@ uint8_t B15F::getRegister(uint8_t adr)
usart.transmit(&rq[0], 0, sizeof(rq));
uint8_t aw = usart.readByte();
delay_us(10);
uint8_t aw;
usart.receive(&aw, 0, sizeof(aw));
return aw;
}
@ -370,9 +427,9 @@ void B15F::delay_us(uint16_t us)
std::this_thread::sleep_for(std::chrono::microseconds(us));
}
B15F& B15F::getInstance(void)
B15F &B15F::getInstance(void)
{
if(!instance)
if (!instance)
instance = new B15F();
return *instance;
@ -400,9 +457,10 @@ void B15F::abort(std::string msg)
DriverException ex(msg);
abort(ex);
}
void B15F::abort(std::exception& ex)
void B15F::abort(std::exception &ex)
{
if(errorhandler)
if (errorhandler)
errorhandler(ex);
else
{

View file

@ -0,0 +1,439 @@
#include "b15f.h"
B15F *B15F::instance = nullptr;
errorhandler_t B15F::errorhandler = nullptr;
B15F::B15F() {
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;
}
void B15F::reconnect() {
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 {
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;
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);
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;
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() {
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) {
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) {
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();
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();
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();
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) {
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) {
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
};
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) {
/*
// prepare 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);*/
}
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(uint8_t adr, uint8_t val) {
usart.clearInputBuffer();
uint8_t rq[] =
{
RQ_SET_REG,
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(uint8_t adr) {
usart.clearInputBuffer();
uint8_t rq[] =
{
RQ_GET_REG,
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));
}
void B15F::delay_us(uint16_t us) {
std::this_thread::sleep_for(std::chrono::microseconds(us));
}
B15F &B15F::getInstance(void) {
if (!instance)
instance = new B15F();
return *instance;
}
// https://stackoverflow.com/a/478960
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) {
throw std::runtime_error("popen() failed!");
}
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
result += buffer.data();
}
return result;
}
void B15F::abort(std::string msg) {
DriverException ex(msg);
abort(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());
}
}
void B15F::setAbortHandler(errorhandler_t func) {
errorhandler = func;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -85,7 +85,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

File diff suppressed because one or more lines are too long

View file

@ -105,7 +105,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -202,7 +202,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00403">403</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#l00461">461</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -236,7 +236,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00398">398</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#l00455">455</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -262,7 +262,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00145">145</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#l00167">167</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -294,7 +294,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00220">220</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#l00280">280</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -386,7 +386,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</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#l00303">303</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -418,7 +418,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00200">200</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#l00250">250</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -450,7 +450,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00210">210</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#l00265">265</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -476,7 +476,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00363">363</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#l00420">420</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -502,7 +502,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00368">368</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#l00425">425</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -529,7 +529,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00173">173</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#l00208">208</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -556,7 +556,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00182">182</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#l00222">222</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -588,7 +588,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00153">153</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#l00180">180</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -620,7 +620,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00163">163</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#l00194">194</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -680,7 +680,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00382">382</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#l00439">439</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -706,7 +706,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</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>
@ -740,7 +740,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00373">373</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#l00430">430</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -772,7 +772,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00345">345</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#l00402">402</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -805,7 +805,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</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#l00347">347</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -837,7 +837,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00310">310</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#l00367">367</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -864,7 +864,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00191">191</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#l00236">236</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -924,7 +924,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="b15f_8cpp_source.html#l00415">415</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>
@ -967,7 +967,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</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#l00384">384</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -993,7 +993,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</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>
@ -1019,7 +1019,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</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>
@ -1030,7 +1030,7 @@ constexpr static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -76,7 +76,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -196,7 +196,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -77,7 +77,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -109,7 +109,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><b>msg_</b></td><
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -100,7 +100,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -811,7 +811,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -78,7 +78,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -112,7 +112,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>m_timeout</b></td></tr
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -85,7 +85,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -489,7 +489,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -77,7 +77,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -102,7 +102,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<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#l00011">11</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</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><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3c359db129825703b91392d5128cf93d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c359db129825703b91392d5128cf93d">&#9670;&nbsp;</a></span>USARTException() <span class="overload">[1/2]</span></h2>
@ -134,7 +134,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="usartexception_8h_source.html#l00018">18</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
<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>
@ -168,7 +168,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="usartexception_8h_source.html#l00026">26</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
<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>
@ -229,7 +229,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
</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#l00039">39</a> of file <a class="el" href="usartexception_8h_source.html">usartexception.h</a>.</p>
<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>
@ -239,7 +239,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -89,7 +89,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -157,7 +157,7 @@ constexpr static int&#160;</td><td class="memItemRight" valign="bottom"><b>KEY_E
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -99,7 +99,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -185,7 +185,7 @@ static std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valig
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -103,7 +103,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -197,7 +197,7 @@ constexpr static int&#160;</td><td class="memItemRight" valign="bottom"><b>KEY_E
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -105,7 +105,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -205,7 +205,7 @@ static std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valig
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -94,7 +94,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -172,7 +172,7 @@ static std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valig
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -105,7 +105,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -73,7 +73,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -73,7 +73,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -77,7 +77,7 @@ Directories</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -73,7 +73,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -73,7 +73,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -77,7 +77,7 @@ Directories</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -73,7 +73,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -77,7 +77,7 @@ $(function() {
<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 on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -78,7 +78,7 @@ $(function() {
<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 on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -74,7 +74,7 @@ $(function() {
<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 on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -109,7 +109,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -369,7 +369,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -337,7 +337,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -91,7 +91,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -86,7 +86,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -72,7 +72,7 @@ Dort befindet sich auch eine Übersicht der verfügbaren Befehle. </p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -101,7 +101,7 @@ $(function() {
<div class="ttc" id="aclassPlottyFile_html_af952ac5e2c40896acaf6a86063874fe3"><div class="ttname"><a href="classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3">PlottyFile::getUnitX</a></div><div class="ttdeci">std::string getUnitX(void) const</div><div class="ttdef"><b>Definition:</b> <a href="plottyfile_8cpp_source.html#l00105">plottyfile.cpp:105</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -102,7 +102,7 @@ $(function() {
<div class="ttc" id="aclassPlottyFile_html_af952ac5e2c40896acaf6a86063874fe3"><div class="ttname"><a href="classPlottyFile.html#af952ac5e2c40896acaf6a86063874fe3">PlottyFile::getUnitX</a></div><div class="ttdeci">std::string getUnitX(void) const</div><div class="ttdef"><b>Definition:</b> <a href="plottyfile_8cpp_source.html#l00105">plottyfile.cpp:105</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>

View file

@ -74,7 +74,7 @@ $(function() {
<div class="ttc" id="aclassTimeoutException_html"><div class="ttname"><a href="classTimeoutException.html">TimeoutException</a></div><div class="ttdef"><b>Definition:</b> <a href="timeoutexception_8h_source.html#l00010">timeoutexception.h:10</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

File diff suppressed because one or more lines are too long

View file

@ -87,7 +87,7 @@ $(function() {
<div class="ttc" id="aclassUSART_html_adb6ff4d1cf1af79ca255c5a81780200d"><div class="ttname"><a href="classUSART.html#adb6ff4d1cf1af79ca255c5a81780200d">USART::flushOutputBuffer</a></div><div class="ttdeci">void flushOutputBuffer(void)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00063">usart.cpp:63</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -74,7 +74,7 @@ $(function() {
<div class="ttc" id="aclassView_html"><div class="ttname"><a href="classView.html">View</a></div><div class="ttdef"><b>Definition:</b> <a href="view_8h_source.html#l00019">view.h:19</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -75,7 +75,7 @@ $(function() {
<div class="ttc" id="aclassView_html"><div class="ttname"><a href="classView.html">View</a></div><div class="ttdef"><b>Definition:</b> <a href="view_8h_source.html#l00019">view.h:19</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -75,7 +75,7 @@ $(function() {
<div class="ttc" id="aclassViewInfo_html"><div class="ttname"><a href="classViewInfo.html">ViewInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="view__info_8h_source.html#l00008">view_info.h:8</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -75,7 +75,7 @@ $(function() {
<div class="ttc" id="aclassViewPromt_html"><div class="ttname"><a href="classViewPromt.html">ViewPromt</a></div><div class="ttdef"><b>Definition:</b> <a href="view__promt_8h_source.html#l00010">view_promt.h:10</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<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

View file

@ -75,7 +75,7 @@ $(function() {
<div class="ttc" id="aclassViewSelection_html"><div class="ttname"><a href="classViewSelection.html">ViewSelection</a></div><div class="ttdef"><b>Definition:</b> <a href="view__selection_8h_source.html#l00010">view_selection.h:10</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 4 2019 09:59:56 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 4 2019 10:27:35 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>