PWM ansteuerbar und TOP wird returned

This commit is contained in:
Tristan Krause 2019-05-28 12:32:31 +02:00
parent 1f53117577
commit 2c47159df3
78 changed files with 459 additions and 148 deletions
control
docs/html
firmware

BIN
control/bin/b15fcli Executable file

Binary file not shown.

View 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 $@

View file

@ -0,0 +1,14 @@
#include <iostream>
#include <cmath>
#include <b15f/b15f.h>
#include <b15f/plottyfile.h>
const char PLOT_FILE[] = "plot.bin";
int main()
{
B15F& drv = B15F::getInstance();
std::cout << "TOP: " << (int) drv.pwmSetFrequency(100000) << std::endl;
drv.pwmSetValue(40);
}

View file

@ -289,6 +289,47 @@ void B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset
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)
};
int n_sent = usart.write_timeout(&rq[0], 0, sizeof(rq), 1000);
if(n_sent != sizeof(rq))
abort("Sent failed");
uint8_t byte = usart.readByte();
delay_us(10);
return byte;
}
bool B15F::pwmSetValue(uint8_t value)
{
usart.clearInputBuffer();
uint8_t rq[] =
{
RQ_PWM_SET_VALUE,
value
};
int n_sent = usart.write_timeout(&rq[0], 0, sizeof(rq), 1000);
if(n_sent != sizeof(rq))
abort("Sent failed");
uint8_t aw = usart.readByte();
delay_us(10);
return aw == MSG_OK;
}
void B15F::delay_ms(uint16_t ms)
{
std::this_thread::sleep_for(std::chrono::milliseconds(ms));

View file

@ -194,6 +194,22 @@ public:
*/
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.
* \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);
/*************************/
@ -233,6 +249,8 @@ private:
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;
};
#endif // B15F_H

View file

@ -85,7 +85,12 @@ void USART::writeInt(uint16_t d)
throw USARTException("Fehler beim Senden: writeInt()");
}
void USART::writeU32(uint32_t w)
{
int sent = write(file_desc, reinterpret_cast<char*>(&w), 4);
if(sent != 4)
throw USARTException("Fehler beim Senden: writeU32()");
}
int USART::read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout)
{

View file

@ -76,11 +76,18 @@ public:
/**
* Sendet ein Integer über die USART Schnittstelle
* \param b das zu sendende Byte
* \param b das zu sendende Int
* \throws USARTException
*/
void writeInt(uint16_t d);
/**
* Sendet ein uint32_t über die USART Schnittstelle
* \param b das zu sendende uint32_t
* \throws USARTException
*/
void writeU32(uint32_t d);
/**
* Empfängt ein Byte über die USART Schnittstelle
* \throws USARTException

View file

@ -85,7 +85,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -90,6 +90,8 @@ $(function() {
<tr class="even"><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><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 class="even"><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><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 class="even"><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><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><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>
@ -101,7 +103,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -111,6 +111,10 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ae0bd1f69751e2dc3c462db9213fc4627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82a324426c3063318c6cafb3089ae02"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
<tr class="memitem:ac6f6532bb9550a0632c28b98c157d0a1"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</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">&#160;</td></tr>
<tr class="memitem:af9aad3c0db5d5a8b37219d713e1977ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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>
@ -194,7 +198,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#l00332">332</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#l00373">373</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -228,7 +232,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#l00368">368</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -468,7 +472,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#l00292">292</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#l00333">333</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -494,7 +498,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#l00297">297</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#l00338">338</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -672,7 +676,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#l00311">311</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#l00352">352</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -732,7 +736,72 @@ 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#l00302">302</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#l00343">343</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">&#9670;&nbsp;</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&#160;</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. </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#l00292">292</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">&#9670;&nbsp;</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&#160;</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#l00314">314</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -819,7 +888,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#l00344">344</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#l00385">385</a> of file <a class="el" href="b15f_8cpp_source.html">b15f.cpp</a>.</p>
</div>
</div>
@ -882,7 +951,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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -90,10 +90,11 @@ $(function() {
<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#a68c2d1cb7172813ae8ed61360fad47f6">writeU32</a>(uint32_t d)</td><td class="entry"><a class="el" href="classUSART.html">USART</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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,6 +91,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a60eadbe9956bab8144ee96d89eacd9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b30d9aa863f38745e982860392599a"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
<tr class="memitem:a68c2d1cb7172813ae8ed61360fad47f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a68c2d1cb7172813ae8ed61360fad47f6">writeU32</a> (uint32_t d)</td></tr>
<tr class="separator:a68c2d1cb7172813ae8ed61360fad47f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f54b98b26bfe084359a5604bda82562"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</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">&#160;</td></tr>
<tr class="memitem:a1534c229db71a375e556cf1e7d0b8119"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUSART.html#a1534c229db71a375e556cf1e7d0b8119">readInt</a> (void)</td></tr>
@ -254,7 +256,7 @@ constexpr static uint8_t&#160;</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#l00307">307</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#l00312">312</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
@ -275,7 +277,7 @@ constexpr static uint8_t&#160;</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#l00312">312</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#l00317">317</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
@ -354,7 +356,7 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00211">211</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#l00216">216</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
@ -380,7 +382,7 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="usart_8cpp_source.html#l00230">230</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#l00235">235</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
@ -401,7 +403,7 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
</div><div class="memdoc">
<p>Setzt die 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#l00317">317</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#l00322">322</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
@ -422,7 +424,7 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
</div><div class="memdoc">
<p>Setzt den 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#l00322">322</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#l00327">327</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
@ -475,7 +477,7 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
</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>
<table class="params">
<tr><td class="paramname">b</td><td>das zu sendende Byte </td></tr>
<tr><td class="paramname">b</td><td>das zu sendende Int </td></tr>
</table>
</dd>
</dl>
@ -488,6 +490,38 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
<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>
</div>
</div>
<a id="a68c2d1cb7172813ae8ed61360fad47f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68c2d1cb7172813ae8ed61360fad47f6">&#9670;&nbsp;</a></span>writeU32()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART::writeU32 </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sendet ein uint32_t ü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 uint32_t </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#l00088">88</a> of file <a class="el" href="usart_8cpp_source.html">usart.cpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
@ -497,7 +531,7 @@ constexpr static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>B
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -236,6 +236,12 @@ $(function() {
<li>printStatistics()
: <a class="el" href="classUSART.html#a33559bb8f0eda33a489d47b9c9227b59">USART</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>
@ -336,11 +342,14 @@ $(function() {
<li>writeToFile()
: <a class="el" href="classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305">PlottyFile</a>
</li>
<li>writeU32()
: <a class="el" href="classUSART.html#a68c2d1cb7172813ae8ed61360fad47f6">USART</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -216,6 +216,12 @@ $(function() {
<li>printStatistics()
: <a class="el" href="classUSART.html#a33559bb8f0eda33a489d47b9c9227b59">USART</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>
@ -307,11 +313,14 @@ $(function() {
<li>writeToFile()
: <a class="el" href="classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305">PlottyFile</a>
</li>
<li>writeU32()
: <a class="el" href="classUSART.html#a68c2d1cb7172813ae8ed61360fad47f6">USART</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -88,7 +88,7 @@ $(function() {
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -2,5 +2,7 @@ var searchData=
[
['plottyfile',['PlottyFile',['../classPlottyFile.html',1,'']]],
['pre',['PRE',['../classB15F.html#a3b0fc1f85954b2d9c145af4a3af5b1ec',1,'B15F']]],
['printstatistics',['printStatistics',['../classUSART.html#a33559bb8f0eda33a489d47b9c9227b59',1,'USART']]]
['printstatistics',['printStatistics',['../classUSART.html#a33559bb8f0eda33a489d47b9c9227b59',1,'USART']]],
['pwmsetfrequency',['pwmSetFrequency',['../classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1',1,'B15F']]],
['pwmsetvalue',['pwmSetValue',['../classB15F.html#af9aad3c0db5d5a8b37219d713e1977ee',1,'B15F']]]
];

View file

@ -3,5 +3,6 @@ var searchData=
['wdt_5ftimeout',['WDT_TIMEOUT',['../classB15F.html#a158d13bc84aed6430cdede1396384e06',1,'B15F']]],
['writebyte',['writeByte',['../classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5',1,'USART']]],
['writeint',['writeInt',['../classUSART.html#a78b30d9aa863f38745e982860392599a',1,'USART']]],
['writetofile',['writeToFile',['../classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305',1,'PlottyFile']]]
['writetofile',['writeToFile',['../classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305',1,'PlottyFile']]],
['writeu32',['writeU32',['../classUSART.html#a68c2d1cb7172813ae8ed61360fad47f6',1,'USART']]]
];

View file

@ -1,4 +1,6 @@
var searchData=
[
['printstatistics',['printStatistics',['../classUSART.html#a33559bb8f0eda33a489d47b9c9227b59',1,'USART']]]
['printstatistics',['printStatistics',['../classUSART.html#a33559bb8f0eda33a489d47b9c9227b59',1,'USART']]],
['pwmsetfrequency',['pwmSetFrequency',['../classB15F.html#ac6f6532bb9550a0632c28b98c157d0a1',1,'B15F']]],
['pwmsetvalue',['pwmSetValue',['../classB15F.html#af9aad3c0db5d5a8b37219d713e1977ee',1,'B15F']]]
];

View file

@ -2,5 +2,6 @@ var searchData=
[
['writebyte',['writeByte',['../classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5',1,'USART']]],
['writeint',['writeInt',['../classUSART.html#a78b30d9aa863f38745e982860392599a',1,'USART']]],
['writetofile',['writeToFile',['../classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305',1,'PlottyFile']]]
['writetofile',['writeToFile',['../classPlottyFile.html#a82c348e7fade2edcbc907e7c2bc2e305',1,'PlottyFile']]],
['writeu32',['writeU32',['../classUSART.html#a68c2d1cb7172813ae8ed61360fad47f6',1,'USART']]]
];

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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

File diff suppressed because one or more lines are too long

View file

@ -74,7 +74,7 @@ $(function() {
<div class="ttc" id="aclassUSARTException_html"><div class="ttname"><a href="classUSARTException.html">USARTException</a></div><div class="ttdef"><b>Definition:</b> <a href="usartexception_8h_source.html#l00011">usartexception.h:11</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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,17 +74,17 @@ $(function() {
<div class="ttc" id="aclassViewMonitor_html"><div class="ttname"><a href="classViewMonitor.html">ViewMonitor</a></div><div class="ttdef"><b>Definition:</b> <a href="view__monitor_8h_source.html#l00013">view_monitor.h:13</a></div></div>
<div class="ttc" id="aclassB15F_html_ae0df6d423deeb2fd610968bd1c72060e"><div class="ttname"><a href="classB15F.html#ae0df6d423deeb2fd610968bd1c72060e">B15F::digitalRead0</a></div><div class="ttdeci">uint8_t digitalRead0(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00173">b15f.cpp:173</a></div></div>
<div class="ttc" id="aclassB15F_html_a6f858f21ea81d491b5031b3644a2239a"><div class="ttname"><a href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">B15F::readDipSwitch</a></div><div class="ttdeci">uint8_t readDipSwitch(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00191">b15f.cpp:191</a></div></div>
<div class="ttc" id="aclassB15F_html_aaffce20afb9f06bc4b7556c70ce76416"><div class="ttname"><a href="classB15F.html#aaffce20afb9f06bc4b7556c70ce76416">B15F::delay_ms</a></div><div class="ttdeci">void delay_ms(uint16_t ms)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00292">b15f.cpp:292</a></div></div>
<div class="ttc" id="aclassB15F_html_a8b4533d232c55ef2aa967e39e2d23380"><div class="ttname"><a href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">B15F::getInstance</a></div><div class="ttdeci">static B15F &amp; getInstance(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00302">b15f.cpp:302</a></div></div>
<div class="ttc" id="aclassB15F_html_aaffce20afb9f06bc4b7556c70ce76416"><div class="ttname"><a href="classB15F.html#aaffce20afb9f06bc4b7556c70ce76416">B15F::delay_ms</a></div><div class="ttdeci">void delay_ms(uint16_t ms)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00333">b15f.cpp:333</a></div></div>
<div class="ttc" id="aclassB15F_html_a8b4533d232c55ef2aa967e39e2d23380"><div class="ttname"><a href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">B15F::getInstance</a></div><div class="ttdeci">static B15F &amp; getInstance(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00343">b15f.cpp:343</a></div></div>
<div class="ttc" id="aclassB15F_html"><div class="ttname"><a href="classB15F.html">B15F</a></div><div class="ttdef"><b>Definition:</b> <a href="b15f_8h_source.html#l00026">b15f.h:26</a></div></div>
<div class="ttc" id="aclassB15F_html_a3f09a418f9e3be5d1d750e4515c96f1e"><div class="ttname"><a href="classB15F.html#a3f09a418f9e3be5d1d750e4515c96f1e">B15F::abort</a></div><div class="ttdeci">static void abort(std::string msg)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00327">b15f.cpp:327</a></div></div>
<div class="ttc" id="aclassB15F_html_a3f09a418f9e3be5d1d750e4515c96f1e"><div class="ttname"><a href="classB15F.html#a3f09a418f9e3be5d1d750e4515c96f1e">B15F::abort</a></div><div class="ttdeci">static void abort(std::string msg)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00368">b15f.cpp:368</a></div></div>
<div class="ttc" id="aclassB15F_html_ae0bd1f69751e2dc3c462db9213fc4627"><div class="ttname"><a href="classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627">B15F::analogRead</a></div><div class="ttdeci">uint16_t analogRead(uint8_t channel)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00220">b15f.cpp:220</a></div></div>
<div class="ttc" id="aclassB15F_html_afc76b612dd4faeee0ac02a66b65af5f2"><div class="ttname"><a href="classB15F.html#afc76b612dd4faeee0ac02a66b65af5f2">B15F::digitalRead1</a></div><div class="ttdeci">uint8_t digitalRead1(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00182">b15f.cpp:182</a></div></div>
<div class="ttc" id="aclassB15F_html_a52557b375443c180a044e7d4e80a1ae7"><div class="ttname"><a href="classB15F.html#a52557b375443c180a044e7d4e80a1ae7">B15F::reconnect</a></div><div class="ttdeci">void reconnect(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00057">b15f.cpp:57</a></div></div>
<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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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 Thu May 23 2019 15:04:21 for B15F by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue May 28 2019 12:31:39 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

@ -8,4 +8,5 @@ volatile TLC5615 dac0(spi, SPIADR::AA0);
volatile TLC5615 dac1(spi, SPIADR::AA1);
volatile ADU adu;
volatile USART usart;
volatile PWM pwm;
volatile bool nextRequest = false;

View file

@ -5,6 +5,7 @@
#include "tlc5615.h"
#include "adu.h"
#include "usart.h"
#include "pwm.h"
#define WDT_TIMEOUT WDTO_15MS
@ -17,6 +18,7 @@ extern volatile TLC5615 dac0;
extern volatile TLC5615 dac1;
extern volatile ADU adu;
extern volatile USART usart;
extern volatile PWM pwm;
extern volatile bool nextRequest;
#endif // GLOBAL_VARS_H

View file

@ -28,6 +28,8 @@ int main()
usart.init();
usart.initRX();
pwm.init();
// Hauptschleife, Verarbeitung der Requests
while(1)

View file

@ -1,18 +1,32 @@
#include "pwm.h"
const uint16_t PWM::PRESCALERS[] = {0, 1, 8, 64, 256, 1024};
const uint8_t PWM::PRESCALER_COUNT = sizeof(PRESCALERS) / sizeof(uint16_t);
void pwmSetFrequency(uint32_t freq)
void PWM::init() const volatile
{
// fast pwm mode, top = OCR0A, non inverting mode
TCCR0A = _BV(COM0B1) | _BV(WGM00) | _BV(WGM01);
DDRB |= _BV(PB4);
TCCR0B = _BV(WGM02);
uint16_t p_ideal = ceil(float(F_CPU) / (freq * 0x100));
for(int8_t i = PWM_PRESCALER_COUNT - 1; i >= 0 && PWM_PRESCALERS[i] >= p_ideal; i--)
TCCR0B = _BV(WGM02) | i; // set prescaler
if(p_ideal)
OCR0A = (uint8_t) (float(F_CPU) / (freq * PWM_PRESCALERS[TCCR0B & 0x07]));
// output signal on PB4
DDRB |= _BV(PB4);
}
void pwmSetValue(uint8_t value)
void PWM::setFrequency(uint32_t freq) const volatile
{
uint16_t p_ideal = ceil(float(F_CPU) / (freq * 0x100));
for(int8_t i = PRESCALER_COUNT - 1; i >= 0 && PRESCALERS[i] >= p_ideal; i--)
TCCR0B = (TCCR0B & 0xF8) | i; // set prescaler
if(p_ideal)
OCR0A = (uint8_t) (float(F_CPU) / (freq * PRESCALERS[TCCR0B & 0x07]));
}
void PWM::setValue(uint8_t value) const volatile
{
OCR0B = value;
}
uint8_t PWM::getTop() const volatile
{
return OCR0A;
}

View file

@ -4,10 +4,17 @@
#include <avr/io.h>
#include <math.h>
const uint16_t PWM_PRESCALERS[] = {0, 1, 8, 64, 256, 1024};
const uint8_t PWM_PRESCALER_COUNT = sizeof(PWM_PRESCALERS) / sizeof(uint16_t);
void pwmSetFrequency(uint32_t);
void pwmSetValue(uint8_t);
class PWM
{
public:
void init(void) const volatile;
void setFrequency(uint32_t) const volatile;
void setValue(uint8_t) const volatile;
uint8_t getTop(void) const volatile;
private:
const static uint16_t PRESCALERS[];
const static uint8_t PRESCALER_COUNT;
};
#endif // PWM_H

View file

@ -62,6 +62,14 @@ void handleRequest()
case RQ_ADC_DAC_STROKE:
rqAdcDacStroke();
break;
case RQ_PWM_SET_FREQ:
rqPwmSetFreq();
break;
case RQ_PWM_SET_VALUE:
rqPwmSetValue();
break;
default:
break;
@ -217,11 +225,21 @@ void rqAdcDacStroke()
usart.flush();
}
void rqSetPwm()
void rqPwmSetFreq()
{
usart.initTX();
uint32_t freq = usart.readU32();
pwm.setFrequency(freq);
usart.writeByte(pwm.getTop());
usart.flush();
}
void rqPwmSetValue()
{
usart.initTX();
uint16_t value = usart.readByte();
OCR0A = value;
pwm.setValue(value);
usart.writeByte(USART::MSG_OK);
usart.flush();

View file

@ -21,7 +21,8 @@ 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_SET_PWM = 14;
constexpr static uint8_t RQ_PWM_SET_FREQ = 14;
constexpr static uint8_t RQ_PWM_SET_VALUE = 15;
uint8_t const rq_len[] = {
/* RQ_DISC */ 1,
@ -38,7 +39,8 @@ uint8_t const rq_len[] = {
/* RQ_AA1 */ 3,
/* RQ_ADC */ 2,
/* RQ_ADC_DAC_STROKE */ 9,
/* RQ_SET_PWM */ 2
/* RQ_PWM_SET_FREQ */ 5,
/* RQ_PWM_SET_VALUE */ 2
};
/**
@ -61,6 +63,7 @@ void rqAnalogWrite0(void);
void rqAnalogWrite1(void);
void rqAnalogRead(void);
void rqAdcDacStroke(void);
void rqSetPwm(void);
void rqPwmSetFreq(void);
void rqPwmSetValue(void);
#endif // REQUESTS_H

View file

@ -130,3 +130,10 @@ uint16_t USART::readInt() volatile
v |= readByte() << 8;
return v;
}
uint32_t USART::readU32() volatile
{
uint32_t v = readInt();
v |= ((uint32_t) readInt()) << 16;
return v;
}

View file

@ -102,6 +102,12 @@ public:
* \return gelesenes Integer
*/
uint16_t readInt(void) volatile;
/**
* Liest ein uint32_t aus dem Eingangspuffer
* \return gelesenes uint32_t
*/
uint32_t readU32(void) volatile;
/**********************/